123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758 |
- using FastReport.Design.StandardDesigner;
- using FastReport.Forms;
- using FastReport.Utils;
- using System;
- using System.Globalization;
- using System.Windows.Forms;
- #if !MONO
- using FastReport.DevComponents.DotNetBar;
- #endif
- namespace FastReport.Design.PageDesigners.Page
- {
- internal class ReportPageDesigner : PageDesignerBase
- {
- #region Fields
- private RulerPanel rulerPanel;
- #if !MONO
- private ButtonItem miViewGrid;
- private ButtonItem miViewGuides;
- private ButtonItem miViewDeleteHGuides;
- private ButtonItem miViewDeleteVGuides;
- private ButtonItem miViewAutoGuides;
- private ButtonItem miViewUnits;
- private ButtonItem miViewUnitsMillimeters;
- private ButtonItem miViewUnitsCentimeters;
- private ButtonItem miViewUnitsInches;
- private ButtonItem miViewUnitsHundrethsOfInch;
- private ButtonItem miReportTitle;
- private ButtonItem miReportSummary;
- private ButtonItem miPageHeader;
- private ButtonItem miPageFooter;
- private ButtonItem miColumnHeader;
- private ButtonItem miColumnFooter;
- private ButtonItem miOverlay;
- private ButtonItem miReportBands;
- private ButtonItem miReportGroupExpert;
- private ButtonItem miReportStyles;
- #else
- private ToolStripMenuItem miViewGrid;
- private ToolStripMenuItem miViewGuides;
- private ToolStripMenuItem miViewDeleteHGuides;
- private ToolStripMenuItem miViewDeleteVGuides;
- private ToolStripMenuItem miViewAutoGuides;
- private ToolStripSeparator Sep1;
- private ToolStripMenuItem miViewUnits;
- private ToolStripMenuItem miViewUnitsMillimeters;
- private ToolStripMenuItem miViewUnitsCentimeters;
- private ToolStripMenuItem miViewUnitsInches;
- private ToolStripMenuItem miViewUnitsHundrethsOfInch;
- private ToolStripSeparator Sep2;
- private ToolStripMenuItem miReportTitle;
- private ToolStripMenuItem miReportSummary;
- private ToolStripMenuItem miPageHeader;
- private ToolStripMenuItem miPageFooter;
- private ToolStripMenuItem miColumnHeader;
- private ToolStripMenuItem miColumnFooter;
- private ToolStripMenuItem miOverlay;
- private ToolStripSeparator Sep3;
- private ToolStripMenuItem miReportBands;
- private ToolStripMenuItem miReportGroupExpert;
- private ToolStripMenuItem miReportStyles;
- private ToolStripSeparator Sep4;
- #endif
- #endregion
- #region Properties
- public ReportWorkspace Workspace
- {
- get { return rulerPanel.Workspace; }
- }
- public RulerPanel RulerPanel
- {
- get { return rulerPanel; }
- }
- public override float Zoom
- {
- get { return Workspace.Zoom; }
- set { Workspace.Zoom = value; }
- }
- #endregion
- #region Private Methods
- private void UpdateName()
- {
- if (Page.Name == "")
- Text = Page.ClassName + (Page.ZOrder + 1).ToString();
- else
- Text = Page.Name;
- }
- private void CreateOwnMenuItems()
- {
- DesignerMenu menu = Designer.Plugins.Find("MainMenu") as DesignerMenu;
- if (menu == null)
- return;
- #if !MONO
- miViewGrid = menu.CreateMenuItem(MenuViewGrid_Click);
- miViewGrid.AutoCheckOnClick = true;
- miViewGrid.BeginGroup = true;
- miViewGuides = menu.CreateMenuItem(MenuViewGuides_Click);
- miViewGuides.AutoCheckOnClick = true;
- miViewAutoGuides = menu.CreateMenuItem(MenuViewAutoGuides_Click);
- miViewAutoGuides.AutoCheckOnClick = true;
- miViewDeleteHGuides = menu.CreateMenuItem(MenuViewDeleteHGuides_Click);
- miViewDeleteVGuides = menu.CreateMenuItem(MenuViewDeleteVGuides_Click);
- miViewUnits = menu.CreateMenuItem();
- miViewUnits.BeginGroup = true;
- miViewUnitsMillimeters = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsMillimeters.AutoCheckOnClick = true;
- miViewUnitsCentimeters = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsCentimeters.AutoCheckOnClick = true;
- miViewUnitsInches = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsInches.AutoCheckOnClick = true;
- miViewUnitsHundrethsOfInch = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsHundrethsOfInch.AutoCheckOnClick = true;
- miViewUnits.SubItems.AddRange(new BaseItem[] {
- miViewUnitsMillimeters, miViewUnitsCentimeters, miViewUnitsInches, miViewUnitsHundrethsOfInch });
- miReportBands = menu.CreateMenuItem(miInsertBands_Click);
- miReportBands.BeginGroup = true;
- miReportGroupExpert = menu.CreateMenuItem(86, miReportGroupExpert_Click);
- miReportStyles = menu.CreateMenuItem(87, Designer.cmdReportStyles.Invoke);
- miReportTitle = menu.CreateMenuItem(miReportTitle_Click);
- miReportTitle.AutoCheckOnClick = true;
- miReportSummary = menu.CreateMenuItem(miReportSummary_Click);
- miReportSummary.AutoCheckOnClick = true;
- miPageHeader = menu.CreateMenuItem(miPageHeader_Click);
- miPageHeader.AutoCheckOnClick = true;
- miPageFooter = menu.CreateMenuItem(miPageFooter_Click);
- miPageFooter.AutoCheckOnClick = true;
- miColumnHeader = menu.CreateMenuItem(miColumnHeader_Click);
- miColumnHeader.AutoCheckOnClick = true;
- miColumnFooter = menu.CreateMenuItem(miColumnFooter_Click);
- miColumnFooter.AutoCheckOnClick = true;
- miOverlay = menu.CreateMenuItem(miOverlay_Click);
- miOverlay.AutoCheckOnClick = true;
- // insert new items before the "Options..." item
- int insertPos = menu.miView.SubItems.IndexOf(menu.miViewOptions);
- menu.miView.SubItems.Insert(insertPos, miViewGrid);
- menu.miView.SubItems.Insert(insertPos + 1, miViewGuides);
- menu.miView.SubItems.Insert(insertPos + 2, miViewAutoGuides);
- menu.miView.SubItems.Insert(insertPos + 3, miViewDeleteHGuides);
- menu.miView.SubItems.Insert(insertPos + 4, miViewDeleteVGuides);
- menu.miView.SubItems.Insert(insertPos + 5, miViewUnits);
- insertPos = 0;
- menu.miReport.SubItems.Insert(insertPos, miReportTitle);
- menu.miReport.SubItems.Insert(insertPos + 1, miReportSummary);
- menu.miReport.SubItems.Insert(insertPos + 2, miPageHeader);
- menu.miReport.SubItems.Insert(insertPos + 3, miPageFooter);
- menu.miReport.SubItems.Insert(insertPos + 4, miColumnHeader);
- menu.miReport.SubItems.Insert(insertPos + 5, miColumnFooter);
- menu.miReport.SubItems.Insert(insertPos + 6, miOverlay);
- menu.miReport.SubItems.Insert(insertPos + 7, miReportBands);
- menu.miReport.SubItems.Insert(insertPos + 8, miReportGroupExpert);
- menu.miReport.SubItems.Insert(insertPos + 9, miReportStyles);
- menu.miView.PopupOpen += miView_PopupOpen;
- menu.miReport.PopupOpen += miReport_PopupOpen;
- #else
- Sep1 = new ToolStripSeparator();
- miViewGrid = menu.CreateMenuItem(MenuViewGrid_Click);
- miViewGrid.CheckOnClick = true;
- miViewGuides = menu.CreateMenuItem(MenuViewGuides_Click);
- miViewGuides.CheckOnClick = true;
- miViewAutoGuides = menu.CreateMenuItem(MenuViewAutoGuides_Click);
- miViewAutoGuides.CheckOnClick = true;
- miViewDeleteHGuides = menu.CreateMenuItem(MenuViewDeleteHGuides_Click);
- miViewDeleteVGuides = menu.CreateMenuItem(MenuViewDeleteVGuides_Click);
- Sep2 = new ToolStripSeparator();
- miViewUnits = menu.CreateMenuItem();
- miViewUnitsMillimeters = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsMillimeters.CheckOnClick = true;
- miViewUnitsCentimeters = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsCentimeters.CheckOnClick = true;
- miViewUnitsInches = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsInches.CheckOnClick = true;
- miViewUnitsHundrethsOfInch = menu.CreateMenuItem(miViewUnits_Click);
- miViewUnitsHundrethsOfInch.CheckOnClick = true;
- miViewUnits.DropDownItems.AddRange(new ToolStripMenuItem[] {
- miViewUnitsMillimeters, miViewUnitsCentimeters, miViewUnitsInches, miViewUnitsHundrethsOfInch });
- miReportBands = menu.CreateMenuItem(miInsertBands_Click);
- miReportGroupExpert = menu.CreateMenuItem(86, miReportGroupExpert_Click);
- miReportStyles = menu.CreateMenuItem(87, Designer.cmdReportStyles.Invoke);
- Sep3 = new ToolStripSeparator();
- miReportTitle = menu.CreateMenuItem(miReportTitle_Click);
- miReportTitle.CheckOnClick = true;
- miReportSummary = menu.CreateMenuItem(miReportSummary_Click);
- miReportSummary.CheckOnClick = true;
- miPageHeader = menu.CreateMenuItem(miPageHeader_Click);
- miPageHeader.CheckOnClick = true;
- miPageFooter = menu.CreateMenuItem(miPageFooter_Click);
- miPageFooter.CheckOnClick = true;
- miColumnHeader = menu.CreateMenuItem(miColumnHeader_Click);
- miColumnHeader.CheckOnClick = true;
- miColumnFooter = menu.CreateMenuItem(miColumnFooter_Click);
- miColumnFooter.CheckOnClick = true;
- miOverlay = menu.CreateMenuItem(miOverlay_Click);
- miOverlay.CheckOnClick = true;
- Sep4 = new ToolStripSeparator();
- // insert new items before the "Options..." item
- ToolStripItemCollection subItems = menu.miView.DropDownItems;
- int insertPos = menu.miView.DropDownItems.IndexOf(menu.miViewOptions);
- subItems.Insert(insertPos, miViewGrid);
- subItems.Insert(insertPos + 1, miViewGuides);
- subItems.Insert(insertPos + 2, miViewAutoGuides);
- subItems.Insert(insertPos + 3, miViewDeleteHGuides);
- subItems.Insert(insertPos + 4, miViewDeleteVGuides);
- subItems.Insert(insertPos + 5, Sep1);
- subItems.Insert(insertPos + 6, miViewUnits);
- subItems.Insert(insertPos + 7, Sep2);
- subItems = menu.miReport.DropDownItems;
- insertPos = 0;
- subItems.Insert(insertPos, miReportTitle);
- subItems.Insert(insertPos + 1, miReportSummary);
- subItems.Insert(insertPos + 2, miPageHeader);
- subItems.Insert(insertPos + 3, miPageFooter);
- subItems.Insert(insertPos + 4, miColumnHeader);
- subItems.Insert(insertPos + 5, miColumnFooter);
- subItems.Insert(insertPos + 6, miOverlay);
- subItems.Insert(insertPos + 7, Sep3);
- subItems.Insert(insertPos + 8, miReportBands);
- subItems.Insert(insertPos + 9, miReportGroupExpert);
- subItems.Insert(insertPos + 10, miReportStyles);
- subItems.Insert(insertPos + 11, Sep4);
- menu.miView.DropDownOpening += MenuView_DropDownOpening;
- menu.miReport.DropDownOpening += MenuReport_DropDownOpening;
- #endif
- }
- private void DeleteOwnMenuItems()
- {
- DesignerMenu menu = Designer.Plugins.Find("MainMenu") as DesignerMenu;
- if (menu == null)
- return;
- #if !MONO
- menu.miView.PopupOpen -= new DotNetBarManager.PopupOpenEventHandler(miView_PopupOpen);
- menu.miReport.PopupOpen -= new DotNetBarManager.PopupOpenEventHandler(miReport_PopupOpen);
- if (miViewGrid != null)
- {
- menu.miView.SubItems.Remove(miViewGrid);
- menu.miView.SubItems.Remove(miViewGuides);
- menu.miView.SubItems.Remove(miViewAutoGuides);
- menu.miView.SubItems.Remove(miViewDeleteHGuides);
- menu.miView.SubItems.Remove(miViewDeleteVGuides);
- menu.miView.SubItems.Remove(miViewUnits);
- miViewGrid.Dispose();
- miViewGuides.Dispose();
- miViewAutoGuides.Dispose();
- miViewDeleteHGuides.Dispose();
- miViewDeleteVGuides.Dispose();
- miViewUnits.Dispose();
- menu.miReport.SubItems.Remove(miReportBands);
- menu.miReport.SubItems.Remove(miReportStyles);
- menu.miReport.SubItems.Remove(miReportGroupExpert);
- menu.miReport.SubItems.Remove(miReportTitle);
- menu.miReport.SubItems.Remove(miPageHeader);
- menu.miReport.SubItems.Remove(miColumnHeader);
- menu.miReport.SubItems.Remove(miColumnFooter);
- menu.miReport.SubItems.Remove(miReportSummary);
- menu.miReport.SubItems.Remove(miPageFooter);
- menu.miReport.SubItems.Remove(miOverlay);
- miReportBands.Dispose();
- miReportStyles.Dispose();
- miReportGroupExpert.Dispose();
- miReportTitle.Dispose();
- miPageHeader.Dispose();
- miColumnHeader.Dispose();
- miColumnFooter.Dispose();
- miReportSummary.Dispose();
- miPageFooter.Dispose();
- miOverlay.Dispose();
- miViewGrid = null;
- miViewGuides = null;
- miViewAutoGuides = null;
- miViewDeleteHGuides = null;
- miViewDeleteVGuides = null;
- miViewUnits = null;
- miReportBands = null;
- miReportStyles = null;
- miReportGroupExpert = null;
- miReportTitle = null;
- miPageHeader = null;
- miColumnHeader = null;
- miColumnFooter = null;
- miReportSummary = null;
- miPageFooter = null;
- miOverlay = null;
- #else
- menu.miView.DropDownOpening -= MenuView_DropDownOpening;
- menu.miReport.DropDownOpening -= MenuReport_DropDownOpening;
- if (Sep1 != null)
- {
- Sep1.Dispose();
- miViewGrid.Dispose();
- miViewGuides.Dispose();
- miViewAutoGuides.Dispose();
- miViewDeleteHGuides.Dispose();
- miViewDeleteVGuides.Dispose();
- Sep2.Dispose();
- miViewUnits.Dispose();
- miReportBands.Dispose();
- miReportStyles.Dispose();
- miReportGroupExpert.Dispose();
- Sep3.Dispose();
- miReportTitle.Dispose();
- miPageHeader.Dispose();
- miColumnHeader.Dispose();
- miColumnFooter.Dispose();
- miReportSummary.Dispose();
- miPageFooter.Dispose();
- miOverlay.Dispose();
- Sep4.Dispose();
- Sep1 = null;
- miViewGrid = null;
- miViewGuides = null;
- miViewAutoGuides = null;
- miViewDeleteHGuides = null;
- miViewDeleteVGuides = null;
- miViewUnits = null;
- miReportBands = null;
- miReportStyles = null;
- miReportGroupExpert = null;
- Sep2 = null;
- miReportTitle = null;
- miPageHeader = null;
- miColumnHeader = null;
- miColumnFooter = null;
- miReportSummary = null;
- miPageFooter = null;
- miOverlay = null;
- Sep3 = null;
- Sep4 = null;
- #endif
- }
- }
- private void LocalizeMenuItems()
- {
- if (miViewGrid != null)
- {
- MyRes res = new MyRes("Designer,Menu,View");
- miViewGrid.Text = res.Get("Grid");
- miViewGuides.Text = res.Get("Guides");
- miViewAutoGuides.Text = res.Get("AutoGuides");
- miViewDeleteHGuides.Text = res.Get("DeleteHGuides");
- miViewDeleteVGuides.Text = res.Get("DeleteVGuides");
- miViewUnits.Text = res.Get("Units");
- res = new MyRes("Forms,ReportPageOptions");
- miViewUnitsMillimeters.Text = res.Get("Millimeters");
- miViewUnitsCentimeters.Text = res.Get("Centimeters");
- miViewUnitsInches.Text = res.Get("Inches");
- miViewUnitsHundrethsOfInch.Text = res.Get("HundrethsOfInch");
- res = new MyRes("Designer,Menu,Report");
- miReportBands.Text = res.Get("Bands");
- miReportGroupExpert.Text = res.Get("GroupExpert");
- miReportStyles.Text = res.Get("Styles");
- res = new MyRes("Objects,Bands");
- miReportTitle.Text = res.Get("ReportTitle");
- miReportSummary.Text = res.Get("ReportSummary");
- miPageHeader.Text = res.Get("PageHeader");
- miPageFooter.Text = res.Get("PageFooter");
- miColumnHeader.Text = res.Get("ColumnHeader");
- miColumnFooter.Text = res.Get("ColumnFooter");
- miOverlay.Text = res.Get("Overlay");
- }
- }
- public void SetDefaults(BandBase band)
- {
- band.CreateUniqueName();
- band.Height = band.GetPreferredSize().Height;
- }
- public void Change()
- {
- Designer.SetModified(null, "ChangeReport");
- }
- #if !MONO
- private void miReport_PopupOpen(object sender, PopupOpenEventArgs e)
- #else
- private void MenuReport_DropDownOpening(object sender, EventArgs e)
- #endif
- {
- bool bandsEnabled = Designer.cmdInsertBand.Enabled;
- miReportBands.Enabled = bandsEnabled;
- miReportGroupExpert.Enabled = bandsEnabled;
- ReportPage page = Page as ReportPage;
- bool isSubreport = page.Subreport != null;
- miReportTitle.Enabled = bandsEnabled && !isSubreport;
- miReportSummary.Enabled = bandsEnabled && !isSubreport;
- miPageHeader.Enabled = bandsEnabled && !isSubreport;
- miPageFooter.Enabled = bandsEnabled && !isSubreport;
- miColumnHeader.Enabled = bandsEnabled && !isSubreport;
- miColumnFooter.Enabled = bandsEnabled && !isSubreport;
- miOverlay.Enabled = bandsEnabled && !isSubreport;
- miReportTitle.Checked = page.ReportTitle != null;
- miReportSummary.Checked = page.ReportSummary != null;
- miPageHeader.Checked = page.PageHeader != null;
- miPageFooter.Checked = page.PageFooter != null;
- miColumnHeader.Checked = page.ColumnHeader != null;
- miColumnFooter.Checked = page.ColumnFooter != null;
- miOverlay.Checked = page.Overlay != null;
- }
- #if !MONO
- private void miView_PopupOpen(object sender, PopupOpenEventArgs e)
- #else
- private void MenuView_DropDownOpening(object sender, EventArgs e)
- #endif
- {
- miViewGrid.Checked = ReportWorkspace.ShowGrid;
- miViewGuides.Checked = ReportWorkspace.ShowGuides;
- bool autoGuides = ReportWorkspace.AutoGuides;
- miViewAutoGuides.Checked = autoGuides;
- miViewDeleteHGuides.Enabled = !autoGuides;
- miViewDeleteVGuides.Enabled = !autoGuides;
- miViewUnitsMillimeters.Checked = ReportWorkspace.Grid.GridUnits == PageUnits.Millimeters;
- miViewUnitsCentimeters.Checked = ReportWorkspace.Grid.GridUnits == PageUnits.Centimeters;
- miViewUnitsInches.Checked = ReportWorkspace.Grid.GridUnits == PageUnits.Inches;
- miViewUnitsHundrethsOfInch.Checked = ReportWorkspace.Grid.GridUnits == PageUnits.HundrethsOfInch;
- }
- private void MenuViewGrid_Click(object sender, EventArgs e)
- {
- ReportWorkspace.ShowGrid = miViewGrid.Checked;
- Workspace.Refresh();
- }
- private void MenuViewGuides_Click(object sender, EventArgs e)
- {
- ReportWorkspace.ShowGuides = miViewGuides.Checked;
- Workspace.Refresh();
- }
- private void MenuViewAutoGuides_Click(object sender, EventArgs e)
- {
- ReportWorkspace.AutoGuides = miViewAutoGuides.Checked;
- Workspace.Refresh();
- }
- private void MenuViewDeleteHGuides_Click(object sender, EventArgs e)
- {
- Workspace.DeleteHGuides();
- }
- private void MenuViewDeleteVGuides_Click(object sender, EventArgs e)
- {
- Workspace.DeleteVGuides();
- }
- private void miViewUnits_Click(object sender, EventArgs e)
- {
- if (sender == miViewUnitsMillimeters)
- ReportWorkspace.Grid.GridUnits = PageUnits.Millimeters;
- else if (sender == miViewUnitsCentimeters)
- ReportWorkspace.Grid.GridUnits = PageUnits.Centimeters;
- else if (sender == miViewUnitsInches)
- ReportWorkspace.Grid.GridUnits = PageUnits.Inches;
- else
- ReportWorkspace.Grid.GridUnits = PageUnits.HundrethsOfInch;
- UpdateContent();
- }
- private void miInsertBands_Click(object sender, EventArgs e)
- {
- using (ConfigureBandsForm form = new ConfigureBandsForm(Designer))
- {
- form.Page = Page as ReportPage;
- form.ShowDialog();
- }
- }
- private void miReportGroupExpert_Click(object sender, EventArgs e)
- {
- using (GroupExpertForm form = new GroupExpertForm(Designer))
- {
- if (form.ShowDialog() == DialogResult.OK)
- Designer.SetModified(null, "ChangeReport");
- }
- }
- private bool MenuItemChecked(object sender)
- {
- #if !MONO
- return (sender as ButtonItem).Checked;
- #else
- return (sender as ToolStripMenuItem).Checked;
- #endif
- }
- private void miReportTitle_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.ReportTitle = new ReportTitleBand();
- SetDefaults(page.ReportTitle);
- }
- else
- {
- page.ReportTitle = null;
- }
- Change();
- }
- private void miReportSummary_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.ReportSummary = new ReportSummaryBand();
- SetDefaults(page.ReportSummary);
- }
- else
- {
- page.ReportSummary = null;
- }
- Change();
- }
- private void miPageHeader_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.PageHeader = new PageHeaderBand();
- SetDefaults(page.PageHeader);
- }
- else
- {
- page.PageHeader = null;
- }
- Change();
- }
- private void miPageFooter_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.PageFooter = new PageFooterBand();
- SetDefaults(page.PageFooter);
- }
- else
- {
- page.PageFooter = null;
- }
- Change();
- }
- private void miColumnHeader_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.ColumnHeader = new ColumnHeaderBand();
- SetDefaults(page.ColumnHeader);
- }
- else
- {
- page.ColumnHeader = null;
- }
- Change();
- }
- private void miColumnFooter_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.ColumnFooter = new ColumnFooterBand();
- SetDefaults(page.ColumnFooter);
- }
- else
- {
- page.ColumnFooter = null;
- }
- Change();
- }
- private void miOverlay_Click(object sender, EventArgs e)
- {
- ReportPage page = Page as ReportPage;
- if (MenuItemChecked(sender))
- {
- page.Overlay = new OverlayBand();
- SetDefaults(page.Overlay);
- }
- else
- {
- page.Overlay = null;
- }
- Change();
- }
- #endregion
- #region Public Methods
- public override void PageActivated()
- {
- base.PageActivated();
- DeleteOwnMenuItems();
- CreateOwnMenuItems();
- LocalizeMenuItems();
- }
- public override void PageDeactivated()
- {
- base.PageDeactivated();
- DeleteOwnMenuItems();
- }
- public override void Paste(ObjectCollection list, InsertFrom source)
- {
- Workspace.Paste(list, source);
- }
- public override void CancelPaste()
- {
- Workspace.CancelPaste();
- }
- public override void SelectAll()
- {
- Workspace.SelectAll();
- }
- public override void ZoomPageWidth()
- {
- Workspace.FitPageWidth();
- }
- public override void ZoomWholePage()
- {
- Workspace.FitWholePage();
- }
- #endregion
- #region IDesignerPlugin
- public override void SaveState()
- {
- ReportWorkspace.Grid.SaveState(Storage);
- Storage.SetBool("ShowGrid", ReportWorkspace.ShowGrid);
- Storage.SetBool("SnapToGrid", ReportWorkspace.SnapToGrid);
- Storage.SetEnum("MarkerStyle", ReportWorkspace.MarkerStyle);
- Storage.SetDip("BandStructureSplitter", RulerPanel.SplitterDistance);
- Storage.SetFloat("Zoom", Zoom);
- Storage.SetBool("AutoGuides", ReportWorkspace.AutoGuides);
- Storage.SetBool("ClassicView", ReportWorkspace.ClassicView);
- Storage.SetBool("EditAfterInsert", ReportWorkspace.EditAfterInsert);
- Storage.SetBool("EventObjectIndicator", ReportWorkspace.EventObjectIndicator);
- Storage.SetBool("EventBandIndicator", ReportWorkspace.EventBandIndicator);
- Storage.SetBool("EnableBacklight", ReportWorkspace.EnableBacklight);
- Storage.SetBool("SimplifyDBFields", ReportWorkspace.SimplifyDBFields);
- Storage.SetBool("EnableBacklightIntersectingObjects", ReportWorkspace.EnableBacklightIntersectingObjects);
- }
- public override void RestoreState()
- {
- RulerPanel.SplitterDistance = Storage.GetDip("BandStructureSplitter", 166, 50, 500);
- Zoom = Storage.GetFloat("Zoom", 1);
- // all other ReportWorkspace properties are restored in the ReportWorkspace static constructor
- }
- public override void SelectionChanged()
- {
- base.SelectionChanged();
- UpdateContent();
- }
- public override void UpdateContent()
- {
- if (Locked || Page == null)
- return;
- base.UpdateContent();
- UpdateName();
- RulerPanel.Structure.btnConfigure.Enabled = Designer.cmdInsertBand.Enabled;
- RulerPanel.SetStructureVisible(!ReportWorkspace.ClassicView);
- RulerPanel.Refresh();
- }
- public override void Localize()
- {
- base.Localize();
- RulerPanel.Structure.Localize();
- LocalizeMenuItems();
- UpdateContent();
- }
- public override DesignerOptionsPage GetOptionsPage()
- {
- return new ReportPageOptions(this);
- }
- public override void UpdateUIStyle()
- {
- rulerPanel.UpdateUIStyle();
- }
- public override void UpdateDpiDependencies()
- {
- base.UpdateDpiDependencies();
- rulerPanel.UpdateDpiDependencies();
- }
- #endregion
- public ReportPageDesigner(Designer designer) : base(designer)
- {
- Name = "Report";
- rulerPanel = new RulerPanel(this);
- rulerPanel.Dock = DockStyle.Fill;
- Controls.Add(rulerPanel);
- }
- }
- }
|