private void Insert_Click(object sender, EventArgs e) { if (ctlInsertCurrent != null) ctlInsertCurrent.Checked = false; SimpleToggle ctl = (SimpleToggle) sender; ctlInsertCurrent = ctl.Checked? ctl: null; MDIChild mc = this.ActiveMdiChild as MDIChild; if (mc == null) return; mc.SetFocus(); mc.CurrentInsert = ctlInsertCurrent == null? null: (string) ctlInsertCurrent.Tag; }
private void ReportItemInserted(object sender, System.EventArgs e) { MDIChild mc = this.ActiveMdiChild as MDIChild; if (mc == null) return; // turn off the current selection after an item is inserted if (ctlInsertCurrent != null) { ctlInsertCurrent.Checked = false; mc.CurrentInsert = null; ctlInsertCurrent = null; } }
private int InitToolbarUnderline(int x, int y) { ctlUnderline = new SimpleToggle(); ctlUnderline.UpColor = this.BackColor; ctlUnderline.Click +=new EventHandler(ctlUnderline_Click); ctlUnderline.Font = new Font("Courier New", 10, FontStyle.Underline | FontStyle.Bold); ctlUnderline.Text = "U"; using ( Graphics g = ctlUnderline.CreateGraphics() ) { SizeF fs = g.MeasureString( ctlUnderline.Text, ctlUnderline.Font ); ctlUnderline.Height = (int) fs.Height + 6; // 6 is for margins ctlUnderline.Width = ctlUnderline.Height; } ctlUnderline.Tag = "italic"; ctlUnderline.Left = x; ctlUnderline.Top = y; ctlUnderline.FlatStyle = FlatStyle.Flat; ToolTip tipb = new ToolTip(); tipb.AutomaticDelay = 500; tipb.ShowAlways = true; tipb.SetToolTip(ctlUnderline, "Underline"); mainTB.Controls.Add(ctlUnderline); return ctlUnderline.Width; }
private int InitToolbarSelectTool(int x, int y) { ctlSelectTool = new SimpleToggle(); ctlSelectTool.Image = bSelectTool.Image; ctlSelectTool.ImageAlign = ContentAlignment.MiddleCenter; ctlSelectTool.Height = ctlSelectTool.Image.Height + 5; ctlSelectTool.Width = ctlSelectTool.Image.Width + 8; ctlSelectTool.Text = ""; ctlSelectTool.Click += new EventHandler(ctlSelectTool_Click); ctlSelectTool.Tag = "Selection Tool"; ctlSelectTool.Left = x; ctlSelectTool.Top = y; ctlSelectTool.FlatStyle = FlatStyle.Flat; ctlSelectTool.TextAlign = ContentAlignment.MiddleCenter; ToolTip tipb = new ToolTip(); tipb.AutomaticDelay = 500; tipb.ShowAlways = true; tipb.SetToolTip(ctlSelectTool, "Selection Tool"); mainTB.Controls.Add(ctlSelectTool); return ctlSelectTool.Width; }
private SimpleToggle InitToolbarInsertToggle(ref int x, int y, string t, Image bImg, EventHandler eh) { SimpleToggle ctl = new SimpleToggle(); ctl.UpColor = this.BackColor; ctl.Click += eh; // click handler for all inserts if (bImg == null) { ctl.Text = t; using ( Graphics g = ctl.CreateGraphics() ) { SizeF fs = g.MeasureString( ctl.Text, ctl.Font); ctl.Height = (int) fs.Height + 8; // 8 is for margins ctl.Width = (int) fs.Width + 12; } } else { ctl.Image = bImg; ctl.ImageAlign = ContentAlignment.MiddleCenter; ctl.Height = bImg.Height + 5; ctl.Width = bImg.Width + 8; ctl.Text = ""; } ctl.Tag = t; ctl.Left = x; ctl.Top = y; ctl.FlatStyle = FlatStyle.Flat; ToolTip tipb = new ToolTip(); tipb.AutomaticDelay = 500; tipb.ShowAlways = true; tipb.SetToolTip(ctl, t); mainTB.Controls.Add(ctl); x = x+ ctl.Width; return ctl; }
private int InitToolbarBold(int x, int y) { ctlBold = new SimpleToggle(); ctlBold.UpColor = this.BackColor; ctlBold.Click +=new EventHandler(ctlBold_Click); ctlBold.Font = new Font("Courier New", 10, FontStyle.Bold); ctlBold.Text = "B"; using ( Graphics g = ctlBold.CreateGraphics() ) { SizeF fs = g.MeasureString( ctlBold.Text, ctlBold.Font ); ctlBold.Height = (int) fs.Height + 6; // 6 is for margins ctlBold.Width = ctlBold.Height; } ctlBold.Tag = "bold"; ctlBold.Left = x; ctlBold.Top = y; ctlBold.FlatStyle = FlatStyle.Flat; ctlBold.TextAlign = ContentAlignment.MiddleCenter; ToolTip tipb = new ToolTip(); tipb.AutomaticDelay = 500; tipb.ShowAlways = true; tipb.SetToolTip(ctlBold, "Bold"); mainTB.Controls.Add(ctlBold); return ctlBold.Width; }
private void InitToolbar() { bool bResumeLayout=false; // Clear out anything from before if (mainTB != null) { this.SuspendLayout(); mainTB.SuspendLayout(); bResumeLayout=true; mainTB.Controls.Clear(); if (ctlLAlign!=null) {ctlLAlign=null;} if (ctlRAlign != null) { ctlRAlign = null; } if (ctlCAlign != null) { ctlCAlign = null; } if (ctlBold != null) { ctlBold = null; } if (ctlItalic != null) { ctlItalic = null; } if (ctlUnderline!=null) {ctlUnderline=null;} if (ctlFont!=null) {ctlFont=null;} if (ctlFontSize!=null) {ctlFontSize=null;} if (ctlForeColor!=null) {ctlForeColor=null;} if (ctlBackColor!=null) {ctlBackColor=null;} if (ctlNew!=null) {ctlNew=null;} if (ctlOpen!=null) {ctlOpen=null;} if (ctlSave!=null) {ctlSave=null;} if (ctlCut!=null) {ctlCut=null;} if (ctlCopy!=null) {ctlCopy=null;} if (ctlUndo!=null) {ctlUndo=null;} if (ctlPaste!=null) {ctlPaste=null;} if (ctlPrint!=null) {ctlPrint=null;} if (ctlPdf!=null) {ctlPdf=null;} if (ctlTif != null) { ctlTif = null; } if (ctlXml != null) { ctlXml = null; } if (ctlHtml!=null) {ctlHtml=null;} if (ctlMht!=null) {ctlMht=null;} if (ctlCsv != null) { ctlCsv = null; } if (ctlExcel != null) { ctlExcel = null; } if (ctlRtf != null) { ctlRtf = null; } if (ctlZoom != null) { ctlZoom = null; } if (ctlInsertCurrent!=null) {ctlInsertCurrent=null;} if (ctlInsertTextbox!=null) {ctlInsertTextbox=null;} if (ctlInsertChart!=null) {ctlInsertChart=null;} if (ctlInsertRectangle!=null) {ctlInsertRectangle=null;} if (ctlInsertTable!=null) {ctlInsertTable=null;} if (ctlInsertMatrix!=null) {ctlInsertMatrix=null;} if (ctlInsertList!=null) {ctlInsertList=null;} if (ctlInsertLine!=null) {ctlInsertLine=null;} if (ctlInsertImage!=null) {ctlInsertImage=null;} if (ctlInsertSubreport!=null) {ctlInsertSubreport=null;} if (ctlSelectTool != null) { ctlSelectTool = null; } if (ctlEditTextbox!=null){ctlEditTextbox=null;} if (ctlEditLabel!=null){ctlEditLabel=null;} } else { mainTB = new ToolBar(); mainTB.SizeChanged += new EventHandler(mainTB_SizeChanged); mainTB.SuspendLayout(); } const int LINEHEIGHT = 22; const int LEFTMARGIN = 5; int y = 2; int x = LEFTMARGIN; System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ReportDesigner)); // Build the controls the user wants foreach (string tbi in _Toolbar) { switch (tbi) { case "\n": case "Newline": y += LINEHEIGHT; x = LEFTMARGIN; break; case "Align": ctlLAlign = InitToolbarInsertToggle(ref x, y, "Left Align", bLAlign.Image, new EventHandler(this.menuFormatAlignButton_Click)); ctlCAlign = InitToolbarInsertToggle(ref x, y, "Center Align", bCAlign.Image, new EventHandler(this.menuFormatAlignButton_Click)); ctlRAlign = InitToolbarInsertToggle(ref x, y, "Right Align", bRAlign.Image, new EventHandler(this.menuFormatAlignButton_Click)); break; case "Bold": x += InitToolbarBold(x,y); break; case "Italic": x += InitToolbarItalic(x,y); break; case "Underline": x += InitToolbarUnderline(x,y); break; case "Space": x += 5; break; case "Font": x += InitToolbarFont(x,y); break; case "FontSize": x += InitToolbarFontSize(x,y); break; case "ForeColor": ctlForeColor = InitToolbarColor(ref x, y, "Fore Color", new PopupEventHandler(tip_Popup_Fore)); ctlForeColor.SelectedValueChanged +=new EventHandler(ctlForeColor_Change); ctlForeColor.Validated +=new EventHandler(ctlForeColor_Change); break; case "BackColor": ctlBackColor = InitToolbarColor(ref x, y, "Back Color", new PopupEventHandler(tip_Popup_Back)); ctlBackColor.SelectedValueChanged +=new EventHandler(ctlBackColor_Change); ctlBackColor.Validated +=new EventHandler(ctlBackColor_Change); break; case "New": ctlNew = InitToolbarMenu(ref x, y, "New", bNew.Image, new EventHandler(this.menuFileNewReport_Click)); break; case "Open": ctlOpen = InitToolbarMenu(ref x, y, "Open", bOpen.Image, new EventHandler(this.menuFileOpen_Click)); break; case "Save": ctlSave = InitToolbarMenu(ref x, y, "Save", bSave.Image, new EventHandler(this.menuFileSave_Click)); break; case "Cut": ctlCut = InitToolbarMenu(ref x, y, "Cut", bCut.Image, new EventHandler(this.menuEditCut_Click)); break; case "Copy": ctlCopy = InitToolbarMenu(ref x, y, "Copy", bCopy.Image, new EventHandler(this.menuEditCopy_Click)); break; case "Undo": ctlUndo = InitToolbarMenu(ref x, y, "Undo", bUndo.Image, new EventHandler(this.menuEditUndo_Click)); break; case "Paste": ctlPaste = InitToolbarMenu(ref x, y, "Paste", bPaste.Image, new EventHandler(this.menuEditPaste_Click)); break; case "Print": ctlPrint = InitToolbarMenu(ref x, y, "Print", bPrint.Image, new EventHandler(this.menuFilePrint_Click)); break; case "SelectTool": x += InitToolbarSelectTool(x, y); break; case "XML": ctlXml = InitToolbarMenu(ref x, y, "XML", bXml.Image, new EventHandler(this.menuExportXml_Click)); break; case "PDF": ctlPdf = InitToolbarMenu(ref x, y, "PDF", bPdf.Image, new EventHandler(this.menuExportPdf_Click)); break; case "TIF": ctlTif = InitToolbarMenu(ref x, y, "TIF", bTif.Image, new EventHandler(this.menuExportTif_Click)); break; case "HTML": ctlHtml = InitToolbarMenu(ref x, y, "HTML", bHtml.Image, new EventHandler(this.menuExportHtml_Click)); break; case "MHT": ctlMht = InitToolbarMenu(ref x, y, "MHT", bMht.Image, new EventHandler(this.menuExportMHtml_Click)); break; case "CSV": ctlCsv = InitToolbarMenu(ref x, y, "CSV", bCsv.Image, new EventHandler(this.menuExportCsv_Click)); break; case "Excel": ctlExcel = InitToolbarMenu(ref x, y, "Excel", bExcel.Image, new EventHandler(this.menuExportExcel_Click)); break; case "RTF": ctlRtf = InitToolbarMenu(ref x, y, "RTF", bRtf.Image, new EventHandler(this.menuExportRtf_Click)); break; case "Edit": ctlEditTextbox = InitToolbarEditTextbox(ref x, y); break; case "Textbox": ctlInsertTextbox = InitToolbarInsertToggle(ref x, y, "Textbox", bText.Image); break; case "Chart": ctlInsertChart = InitToolbarInsertToggle(ref x, y, "Chart", bChart.Image); break; case "Rectangle": ctlInsertRectangle = InitToolbarInsertToggle(ref x, y, "Rectangle", bRectangle.Image); break; case "Table": ctlInsertTable = InitToolbarInsertToggle(ref x, y, "Table", bTable.Image); break; case "Matrix": ctlInsertMatrix = InitToolbarInsertToggle(ref x, y, "Matrix", bMatrix.Image); break; case "List": ctlInsertList = InitToolbarInsertToggle(ref x, y, "List", bList.Image); break; case "Line": ctlInsertLine = InitToolbarInsertToggle(ref x, y, "Line", bLine.Image); break; case "Image": ctlInsertImage = InitToolbarInsertToggle(ref x, y, "Image", bImage.Image); break; case "Subreport": ctlInsertSubreport = InitToolbarInsertToggle(ref x, y, "Subreport", bSubreport.Image); break; case "Zoom": ctlZoom = InitToolbarZoom(ref x, y); ctlZoom.SelectedValueChanged +=new EventHandler(ctlZoom_Change); ctlZoom.Validated +=new EventHandler(ctlZoom_Change); break; default: break; } } // put the tab control in if (mainTC == null) { mainTC = new TabControl(); mainTC.MouseClick += new MouseEventHandler(mainTC_MouseClick); mainTC.SelectedIndexChanged += new EventHandler(mainTC_SelectedIndexChanged); mainTC.ShowToolTips = true; } mainTC.Parent = mainTB; mainTC.Visible = _ShowTabbedInterface; if (_ShowTabbedInterface) { // When tabbed we force the mdi children to be maximized (on reset) foreach (MDIChild mc in this.MdiChildren) { mc.WindowState = FormWindowState.Maximized; } } mainTC.Location = new Point(0, y + LINEHEIGHT + 1); mainTC.Size = new Size(mainTB.Width, LINEHEIGHT); if (_ShowTabbedInterface) y += LINEHEIGHT; mainTB.Parent = this; mainTB.BorderStyle = BorderStyle.None; mainTB.DropDownArrows = true; mainTB.Name = "mainTB"; mainTB.ShowToolTips = true; // mainTB.Size = new Size(440,20); mainTB.TabIndex = 1; mainTB.AutoSize = false; mainTB.Height = y + LINEHEIGHT + 1; // 1 was 4 if (bResumeLayout) { mainTB.ResumeLayout(); this.ResumeLayout(); } }