private void btnAddReg_Click(object sender, EventArgs e) { // Add a new region PresenterFont f = new PresenterFont(); f.VerticalAlignment = VerticalAlignment.Top; f.HorizontalAlignment = HorizontalAlignment.Left; GfxTextRegion r = new GfxTextRegion(new Rectangle(30, 30, 300, 150), f, "Sample message"); proj.data.lTextRegions.Add(r); proj.RefreshUI(); // Set the region as current foreach (TextRegionCtrl c in pnlPreviewImage.Controls) { if (c.textRegion == r) { currentRegion = c; } c.Selected = c.textRegion == r; } txtMessage.Text = r.message; txtMessage.Enabled = true; btnChangeFont.Enabled = true; proj.dirty = true; }
private void ctl_Move(object sender, EventArgs e) { if (suspendUpdate > 0) { return; } suspendUpdate++; currentRegion = (TextRegionCtrl)sender; txtMessage.Text = currentRegion.textRegion.message; txtMessage.Enabled = true; btnChangeFont.Enabled = true; // Select the current region, deselect others foreach (TextRegionCtrl c in pnlPreviewImage.Controls) { if (c != currentRegion) { c.Selected = false; } } currentRegion.Selected = true; // Update the location Rectangle b = currentRegion.Bounds; b.X = (int)(((double)b.X - currentXOffset) / currentScaleFactor); b.Y = (int)((double)b.Y / currentScaleFactor); b.Width = (int)((double)b.Width / currentScaleFactor); b.Height = (int)((double)b.Height / currentScaleFactor); currentRegion.textRegion.bounds = b; proj.RefreshUI(); suspendUpdate--; }
private void btnRemReg_Click(object sender, EventArgs e) { // Remove the current region if (currentRegion != null && proj != null && proj.data.lTextRegions.Contains(currentRegion.textRegion)) { proj.data.lTextRegions.Remove(currentRegion.textRegion); currentRegion = null; proj.RefreshUI(); txtMessage.Text = ""; txtMessage.Enabled = false; btnChangeFont.Enabled = false; proj.dirty = true; } }
private void AttachRegionControls() { proj.data.lTextRegions.Reverse(); foreach (GfxTextRegion tr in proj.data.lTextRegions) { TextRegionCtrl ctl = new TextRegionCtrl(); ctl.textRegion = tr; // Attach events EventHandler eh_Move = new EventHandler(ctl_Move); moveHandlers.Add(ctl, eh_Move); ctl.FinishedMove += eh_Move; pnlPreviewImage.Controls.Add(ctl); } }
public void DetachProject() { DetachRegionControls(); currentRegion = null; txtMessage.Text = ""; txtMessage.Enabled = false; btnChangeFont.Enabled = false; if (this.proj != null) { if (ehRefresh != null) { this.proj.Refresh -= ehRefresh; ehRefresh = null; } this.proj = null; } }