123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856 |
- using FastReport.Design.Toolbars;
- using FastReport.Design.ToolWindows;
- using FastReport.Forms;
- using FastReport.Utils;
- using System;
- using System.ComponentModel;
- using System.Windows.Forms;
- namespace FastReport.Design.StandardDesigner
- {
- /// <summary>
- /// Represents the designer's main menu.
- /// </summary>
- /// <remarks>
- /// To get this menu, use the following code:
- /// <code>
- /// Designer designer;
- /// DesignerMenu menu = designer.Plugins.FindType("DesignerMenu") as DesignerMenu;
- /// </code>
- /// </remarks>
- [ToolboxItem(false)]
- public class DesignerMenu : MenuStrip, IDesignerPlugin
- {
- #region Fields
- private Designer FDesigner;
- /// <summary>
- /// The "File" menu.
- /// </summary>
- public ToolStripMenuItem miFile;
- /// <summary>
- /// The "File|New..." menu.
- /// </summary>
- public ToolStripMenuItem miFileNew;
- /// <summary>
- /// The "File|Open..." menu.
- /// </summary>
- public ToolStripMenuItem miFileOpen;
- /// <summary>
- /// The "File|Open page..." menu.
- /// </summary>
- public ToolStripMenuItem miFileOpenPage;
- /// <summary>
- /// The "File|Open via Cloud..." menu.
- /// </summary>
- public ToolStripMenuItem miFileOpenViaCloud;
- /// <summary>
- /// The "File|Recent Files" menu.
- /// </summary>
- public ToolStripMenuItem miFileRecentFiles;
- /// <summary>
- /// The "File|Close" menu.
- /// </summary>
- public ToolStripMenuItem miFileClose;
- /// <summary>
- /// The "File|Save" menu.
- /// </summary>
- public ToolStripMenuItem miFileSave;
- /// <summary>
- /// The "File|Save as..." menu.
- /// </summary>
- public ToolStripMenuItem miFileSaveAs;
- /// <summary>
- /// The "File|Save to Cloud..." menu.
- /// </summary>
- public ToolStripMenuItem miFileSaveToCloud;
- /// <summary>
- /// The "File|Save With Random Data..." menu.
- /// </summary>
- public ToolStripMenuItem miFileSaveWithRandomData;
- /// <summary>
- /// The "File|Save All" menu.
- /// </summary>
- public ToolStripMenuItem miFileSaveAll;
- /// <summary>
- /// The "File|Page Setup..." menu.
- /// </summary>
- public ToolStripMenuItem miFilePageSetup;
- /// <summary>
- /// The "File|Printer Setup..." menu.
- /// </summary>
- public ToolStripMenuItem miFilePrinterSetup;
- /// <summary>
- /// The "File|Preview..." menu.
- /// </summary>
- public ToolStripMenuItem miFilePreview;
- /// <summary>
- /// The "File|Web preview..." menu.
- /// </summary>
- public ToolStripMenuItem miFileCloudPreview;
- /// <summary>
- /// The "File|Select Language" menu.
- /// </summary>
- public ToolStripMenuItem miFileSelectLanguage;
- /// <summary>
- /// The "File|Exit" menu.
- /// </summary>
- public ToolStripMenuItem miFileExit;
- /// <summary>
- /// The "Edit" menu.
- /// </summary>
- public ToolStripMenuItem miEdit;
- /// <summary>
- /// The "Edit|Undo" menu.
- /// </summary>
- public ToolStripMenuItem miEditUndo;
- /// <summary>
- /// The "Edit|Redo" menu.
- /// </summary>
- public ToolStripMenuItem miEditRedo;
- /// <summary>
- /// The "Edit|Cut" menu.
- /// </summary>
- public ToolStripMenuItem miEditCut;
- /// <summary>
- /// The "Edit|Copy" menu.
- /// </summary>
- public ToolStripMenuItem miEditCopy;
- /// <summary>
- /// The "Edit|Paste" menu.
- /// </summary>
- public ToolStripMenuItem miEditPaste;
- /// <summary>
- /// The "Edit|Delete" menu.
- /// </summary>
- public ToolStripMenuItem miEditDelete;
- /// <summary>
- /// The "Edit|New Page" menu.
- /// </summary>
- public ToolStripMenuItem miEditNewPage;
- /// <summary>
- /// The "Edit|Delete Page" menu.
- /// </summary>
- public ToolStripMenuItem miEditDeletePage;
- /// <summary>
- /// The "Edit|Copy Page" menu.
- /// </summary>
- public ToolStripMenuItem miEditCopyPage;
- /// <summary>
- /// The "Edit|Select All" menu.
- /// </summary>
- public ToolStripMenuItem miEditSelectAll;
- /// <summary>
- /// The "Edit|Group" menu.
- /// </summary>
- public ToolStripMenuItem miEditGroup;
- /// <summary>
- /// The "Edit|Ungroup" menu.
- /// </summary>
- public ToolStripMenuItem miEditUngroup;
- /// <summary>
- /// The "Edit|Find..." menu.
- /// </summary>
- public ToolStripMenuItem miEditFind;
- /// <summary>
- /// The "Edit|Replace..." menu.
- /// </summary>
- public ToolStripMenuItem miEditReplace;
- /// <summary>
- /// The "View" menu.
- /// </summary>
- public ToolStripMenuItem miView;
- /// <summary>
- /// The "View|Toolbars" menu.
- /// </summary>
- public ToolStripMenuItem miViewToolbars;
- /// <summary>
- /// The "View|Start Page" menu.
- /// </summary>
- public ToolStripMenuItem miViewStartPage;
- /// <summary>
- /// The "View|Messages" menu.
- /// </summary>
- public ToolStripMenuItem miViewMessages;
- /// <summary>
- /// The "View|Options..." menu.
- /// </summary>
- public ToolStripMenuItem miViewOptions;
- /// <summary>
- /// The "Insert" menu.
- /// </summary>
- public ToolStripMenuItem miInsert;
- /// <summary>
- /// The "Report" menu.
- /// </summary>
- public ToolStripMenuItem miReport;
- /// <summary>
- /// The "Report|Validation" menu.
- /// </summary>
- public ToolStripMenuItem miReportValidation;
- /// <summary>
- /// The "Report|Options..." menu.
- /// </summary>
- public ToolStripMenuItem miReportOptions;
- /// <summary>
- /// The "Data" menu.
- /// </summary>
- public ToolStripMenuItem miData;
- /// <summary>
- /// The "Data|Choose Report Data..." menu.
- /// </summary>
- public ToolStripMenuItem miDataChoose;
- /// <summary>
- /// The "Data|Add Data Source..." menu.
- /// </summary>
- public ToolStripMenuItem miDataAdd;
- /// <summary>
- /// The "Data|Show Data Dictionary" menu.
- /// </summary>
- public ToolStripMenuItem miDataShowData;
- /// <summary>
- /// The "Window" menu.
- /// </summary>
- public ToolStripMenuItem miWindow;
- /// <summary>
- /// The "Window|Close All" menu.
- /// </summary>
- public ToolStripMenuItem miWindowCloseAll;
- /// <summary>
- /// The "Help" menu.
- /// </summary>
- public ToolStripMenuItem miHelp;
- /// <summary>
- /// The "Help|Help Contents..." menu.
- /// </summary>
- public ToolStripMenuItem miHelpContents;
- /// <summary>
- /// The "Help|About..." menu.
- /// </summary>
- public ToolStripMenuItem miHelpAbout;
- /// <summary>
- /// The "Help|Account..." menu.
- /// </summary>
- public ToolStripMenuItem miHelpAccount;
- #endregion
- #region Properties
- internal Designer Designer
- {
- get { return FDesigner; }
- }
- /// <inheritdoc/>
- public string PluginName
- {
- get { return Name; }
- }
- #endregion
- #region Private Methods
- private void UpdateControls()
- {
- miFileNew.Enabled = Designer.cmdNew.Enabled;
- miFileOpenPage.Enabled = Designer.cmdOpenPage.Enabled;
- miFileOpen.Enabled = Designer.cmdOpen.Enabled;
- miFileOpenViaCloud.Enabled = Designer.cmdOpenViaCloud.Enabled;
- miFileClose.Enabled = Designer.cmdClose.Enabled;
- miFileClose.Visible = Designer.MdiMode;
- miFileSave.Enabled = Designer.cmdSave.Enabled;
- miFileSaveAs.Enabled = Designer.cmdSaveAs.Enabled;
- miFileSaveToCloud.Enabled = Designer.cmdSaveToCloudCommand.Enabled;
- miFileSaveWithRandomData.Enabled = Designer.cmdSaveWithRandomData.Enabled;
- miFileSaveAll.Visible = Designer.MdiMode;
- miFileSaveAll.Enabled = Designer.cmdSaveAll.Enabled;
- miFilePageSetup.Enabled = Designer.cmdPageSetup.Enabled;
- miFilePrinterSetup.Enabled = Designer.cmdPrinterSetup.Enabled;
- miFilePreview.Enabled = Designer.cmdPreview.Enabled;
- miFileCloudPreview.Enabled = Designer.cmdPreviewCloud.Enabled;
- miEditUndo.Enabled = Designer.cmdUndo.Enabled;
- miEditRedo.Enabled = Designer.cmdRedo.Enabled;
- miEditCut.Enabled = Designer.cmdCut.Enabled;
- miEditCopy.Enabled = Designer.cmdCopy.Enabled;
- miEditDelete.Enabled = Designer.cmdDelete.Enabled;
- miEditNewPage.Enabled = Designer.cmdNewPage.Enabled;
- miEditCopyPage.Enabled = Designer.cmdCopyPage.Enabled;
- miEditDeletePage.Enabled = Designer.cmdDeletePage.Enabled;
- miEditSelectAll.Enabled = Designer.cmdSelectAll.Enabled;
- miEditGroup.Enabled = Designer.cmdGroup.Enabled;
- miEditUngroup.Enabled = Designer.cmdUngroup.Enabled;
- miEditFind.Enabled = Designer.cmdFind.Enabled;
- miEditReplace.Enabled = Designer.cmdReplace.Enabled;
- miInsert.Visible = Designer.cmdInsert.Enabled;
- miDataChoose.Enabled = Designer.cmdChooseData.Enabled;
- miDataAdd.Enabled = Designer.cmdAddData.Enabled;
- miReportValidation.Enabled = Designer.cmdReportValidation.Enabled;
- miReportOptions.Enabled = Designer.cmdReportSettings.Enabled;
- miViewStartPage.Visible = Designer.MdiMode;
- miWindow.Visible = Designer.MdiMode;
- miHelpContents.Enabled = Designer.cmdHelpContents.Enabled;
- Refresh();
- }
- private void InsertMenuCreateMenus(ObjectInfo rootItem, ToolStripItemCollection rootMenu)
- {
- foreach (ObjectInfo item in rootItem.Items)
- {
- ToolStripMenuItem menuItem = new ToolStripMenuItem();
- menuItem.Text = Res.TryGet(item.Text);
- menuItem.Tag = item;
- rootMenu.Add(menuItem);
- if (item.Items.Count > 0)
- {
- // it's a category
- InsertMenuCreateMenus(item, menuItem.DropDownItems);
- }
- else
- {
- menuItem.Image = this.GetImage(item.ImageIndex);
- menuItem.Click += insertMenu_Click;
- }
- }
- }
- private void CreateInsertMenu()
- {
- if (Designer.ActiveReportTab != null && Designer.ActiveReportTab.ActivePage != null)
- {
- ObjectInfo pageItem = new ObjectInfo();
- ObjectInfo info = RegisteredObjects.FindObject(Designer.ActiveReportTab.ActivePage);
- bool contain;
- if (info != null)
- {
- foreach (ObjectInfo item in info.Items)
- {
- contain = true;
- foreach (ObjectInfo obj_item in pageItem.Items)
- {
- if (item.Text == obj_item.Text)
- {
- contain = false;
- break;
- }
- }
- if (contain)
- {
- pageItem.Items.Add(item);
- }
- }
- InsertMenuCreateMenus(pageItem, miInsert.DropDownItems);
- }
- }
- }
- private void miFile_DropDownOpening(object sender, EventArgs e)
- {
- // recent items
- miFileRecentFiles.DropDownItems.Clear();
- if (Designer.cmdRecentFiles.Enabled && Designer.RecentFiles.Count > 0)
- {
- foreach (string s in Designer.RecentFiles)
- {
- ToolStripMenuItem menuItem = new ToolStripMenuItem();
- menuItem.Text = s;
- if (Designer.cmdRecentFiles.IsCloudFile(s))
- menuItem.Image = Designer.GetImage(259);
- menuItem.Click += recentFile_Click;
- miFileRecentFiles.DropDownItems.Insert(0, menuItem);
- }
- }
- miFileRecentFiles.Enabled = miFileRecentFiles.DropDownItems.Count > 0;
- }
- private void miEdit_DropDownOpening(object sender, EventArgs e)
- {
- miEditPaste.Enabled = Designer.cmdPaste.Enabled;
- }
- private void miInsert_DropDownOpening(object sender, EventArgs e)
- {
- miInsert.DropDownItems.Clear();
- CreateInsertMenu();
- }
- private void miDataShowDataSources_Click(object sender, EventArgs e)
- {
- ToolWindowBase window = Designer.Plugins.Find("DictionaryWindow") as ToolWindowBase;
- window.Show();
- }
- private void miView_DropDownOpening(object sender, EventArgs e)
- {
- // delete list of toolbars
- miViewToolbars.DropDownItems.Clear();
- // create list of toolbars
- foreach (IDesignerPlugin plugin in Designer.Plugins)
- {
- if (plugin is DesignerToolbarBase toolbar)
- {
- var menuItem = new ToolStripMenuItem();
- menuItem.Text = toolbar.Text;
- menuItem.Tag = plugin;
- menuItem.Checked = toolbar.Visible;
- menuItem.Click += toolbar_Click;
- miViewToolbars.DropDownItems.Add(menuItem);
- }
- }
- miViewToolbars.Visible = miViewToolbars.DropDownItems.Count != 0;
- miViewMessages.Checked = Designer.MessageWindowEnabled;
- }
- private void miWindow_DropDownOpening(object sender, EventArgs e)
- {
- // delete list of windows
- while (miWindow.DropDownItems.Count > 0 && !(miWindow.DropDownItems[0] is ToolStripSeparator))
- miWindow.DropDownItems[0].Dispose();
- // create list of windows
- int i = 0;
- foreach (DocumentWindow c in Designer.Documents)
- {
- ToolStripMenuItem menuItem = new ToolStripMenuItem();
- menuItem.Text = (i + 1).ToString() + " " + c.Text;
- menuItem.Tag = c;
- menuItem.Checked = c == Designer.ActiveReportTab;
- menuItem.Click += window_Click;
- miWindow.DropDownItems.Insert(i, menuItem);
- i++;
- }
- }
- private void miViewMessages_Click(object sender, EventArgs e)
- {
- Designer.MessageWindowEnabled = miViewMessages.Checked;
- }
- private void toolbar_Click(object sender, EventArgs e)
- {
- var toolbar = (sender as ToolStripMenuItem).Tag as DesignerToolbarBase;
- toolbar.Visible = !toolbar.Visible;
- (Designer as DesignerControl).LayoutToolbars();
- }
- private void recentFile_Click(object sender, EventArgs e)
- {
- Designer.cmdRecentFiles.LoadFile((sender as ToolStripMenuItem).Text);
- }
- private void window_Click(object sender, EventArgs e)
- {
- DocumentWindow window = (sender as ToolStripMenuItem).Tag as DocumentWindow;
- window.Activate();
- }
- private void insertMenu_Click(object sender, EventArgs e)
- {
- ObjectInfo info = (sender as ToolStripMenuItem).Tag as ObjectInfo;
- Designer.InsertObject(info, InsertFrom.NewObject);
- }
- #endregion
- #region IDesignerPlugin
- /// <inheritdoc/>
- public void SaveState()
- {
- }
- /// <inheritdoc/>
- public void RestoreState()
- {
- }
- /// <inheritdoc/>
- public void SelectionChanged()
- {
- UpdateControls();
- }
- /// <inheritdoc/>
- public void UpdateContent()
- {
- UpdateControls();
- }
- /// <inheritdoc/>
- public void Lock()
- {
- }
- /// <inheritdoc/>
- public void Unlock()
- {
- UpdateContent();
- }
- /// <inheritdoc/>
- public void Localize()
- {
- MyRes res = new MyRes("Designer,Menu");
- miFile.Text = res.Get("File");
- miFileNew.Text = res.Get("File,New");
- miFileOpen.Text = res.Get("File,Open");
- miFileOpenPage.Text = res.Get("File,OpenPage");
- miFileOpenViaCloud.Text = res.Get("File,OpenViaCloud");
- miFileRecentFiles.Text = res.Get("File,RecentFiles");
- miFileClose.Text = res.Get("File,Close");
- miFileSave.Text = res.Get("File,Save");
- miFileSaveAs.Text = res.Get("File,SaveAs");
- miFileSaveWithRandomData.Text = res.Get("File,SaveWithRandomData");
- miFileSaveAll.Text = res.Get("File,SaveAll");
- miFileSaveToCloud.Text = res.Get("File,SaveToCloud");
- miFilePageSetup.Text = res.Get("File,PageSetup");
- miFilePrinterSetup.Text = res.Get("File,PrinterSetup");
- miFilePreview.Text = res.Get("File,Preview");
- miFileCloudPreview.Text = res.Get("File,PreviewCloud");
- miFileSelectLanguage.Text = res.Get("File,SelectLanguage");
- miFileExit.Text = res.Get("File,Exit");
- miEdit.Text = res.Get("Edit");
- miEditUndo.Text = res.Get("Edit,Undo");
- miEditRedo.Text = res.Get("Edit,Redo");
- miEditCut.Text = res.Get("Edit,Cut");
- miEditCopy.Text = res.Get("Edit,Copy");
- miEditPaste.Text = res.Get("Edit,Paste");
- miEditDelete.Text = res.Get("Edit,Delete");
- miEditNewPage.Text = res.Get("Edit,NewPage");
- miEditCopyPage.Text = res.Get("Edit,CopyPage");
- miEditDeletePage.Text = res.Get("Edit,DeletePage");
- miEditSelectAll.Text = res.Get("Edit,SelectAll");
- miEditGroup.Text = res.Get("Edit,Group");
- miEditUngroup.Text = res.Get("Edit,Ungroup");
- miEditFind.Text = res.Get("Edit,Find");
- miEditReplace.Text = res.Get("Edit,Replace");
- miInsert.Text = res.Get("Insert");
- miReport.Text = res.Get("Report");
- miReportValidation.Text = res.Get("Report,Validate");
- miReportOptions.Text = res.Get("Report,Options");
- miData.Text = res.Get("Data");
- miDataChoose.Text = res.Get("Data,Choose");
- miDataAdd.Text = res.Get("Data,Add");
- miDataShowData.Text = res.Get("Data,ShowData");
- miView.Text = res.Get("View");
- miViewToolbars.Text = res.Get("View,Toolbars");
- miViewStartPage.Text = res.Get("View,StartPage");
- miViewMessages.Text = Res.Get("Designer,ToolWindow,Messages");
- miViewOptions.Text = res.Get("View,Options");
- miWindow.Text = res.Get("Window");
- miWindowCloseAll.Text = res.Get("Window,CloseAll");
- miHelp.Text = res.Get("Help");
- miHelpContents.Text = res.Get("Help,Contents");
- miHelpAbout.Text = res.Get("Help,About");
- miHelpAccount.Text = res.Get("Help,Account");
- }
- /// <inheritdoc/>
- public virtual DesignerOptionsPage GetOptionsPage()
- {
- return null;
- }
- /// <inheritdoc/>
- public void UpdateUIStyle()
- {
- Renderer = UIStyleUtils.GetToolStripRenderer(Designer.UIStyle);
- }
- /// <inheritdoc/>
- public void UpdateDpiDependencies()
- {
- ImageList = Designer.GetImages();
- Height = Designer.LogicalToDevice(24);
- }
- #endregion
- #region Public Methods
- /// <summary>
- /// Creates a new menu item.
- /// </summary>
- /// <returns>New menu item.</returns>
- public ToolStripMenuItem CreateMenuItem()
- {
- return CreateMenuItem(null);
- }
- /// <summary>
- /// Creates a new menu item.
- /// </summary>
- /// <param name="click">Click handler.</param>
- /// <returns>New menu item.</returns>
- public ToolStripMenuItem CreateMenuItem(EventHandler click)
- {
- return CreateMenuItem(-1, "", click);
- }
- /// <summary>
- /// Creates a new menu item.
- /// </summary>
- /// <param name="imageIndex">Item's image index.</param>
- /// <param name="click">Click handler.</param>
- /// <returns>New menu item.</returns>
- public ToolStripMenuItem CreateMenuItem(int imageIndex, EventHandler click)
- {
- return CreateMenuItem(imageIndex, "", click);
- }
- /// <summary>
- /// Creates a new menu item.
- /// </summary>
- /// <param name="text">Item's text.</param>
- /// <param name="click">Click handler.</param>
- /// <returns>New menu item.</returns>
- public ToolStripMenuItem CreateMenuItem(string text, EventHandler click)
- {
- return CreateMenuItem(-1, text, click);
- }
- /// <summary>
- /// Creates a new menu item.
- /// </summary>
- /// <param name="imageIndex">Item's image index.</param>
- /// <param name="text">Item's text.</param>
- /// <param name="click">Click handler.</param>
- /// <returns>New menu item.</returns>
- public ToolStripMenuItem CreateMenuItem(int imageIndex, string text, EventHandler click)
- {
- ToolStripMenuItem item = new ToolStripMenuItem();
- #if !(WPF || AVALONIA)
- item.Image = this.GetImage(imageIndex);
- #else
- item.ImageIndex = imageIndex;
- #endif
- item.Text = text;
- if (click != null)
- {
- item.Click += click;
- }
- return item;
- }
- #endregion
- /// <summary>
- /// Initializes a new instance of the <see cref="DesignerMenu"/> class with default settings.
- /// </summary>
- /// <param name="designer">The report designer.</param>
- public DesignerMenu(Designer designer) : base()
- {
- FDesigner = designer;
- Name = "MainMenu";
- Font = DrawUtils.DefaultFont;
- GripStyle = ToolStripGripStyle.Hidden;
- Dock = DockStyle.Top;
- // create menu items
- miFile = CreateMenuItem();
- miFileNew = CreateMenuItem(Designer.cmdNew.Invoke);
- miFileOpen = CreateMenuItem(1, Designer.cmdOpen.Invoke);
- miFileOpenPage = CreateMenuItem(Designer.cmdOpenPage.Invoke);
- miFileOpenViaCloud = CreateMenuItem(261, Designer.cmdOpenViaCloud.Invoke);
- miFileRecentFiles = CreateMenuItem();
- miFileClose = CreateMenuItem(Designer.cmdClose.Invoke);
- miFileSave = CreateMenuItem(2, Designer.cmdSave.Invoke);
- miFileSaveAs = CreateMenuItem(Designer.cmdSaveAs.Invoke);
- miFileSaveWithRandomData = CreateMenuItem(Designer.cmdSaveWithRandomData.Invoke);
- miFileSaveAll = CreateMenuItem(178, Designer.cmdSaveAll.Invoke);
- miFileSaveToCloud = CreateMenuItem(262, Designer.cmdSaveToCloudCommand.Invoke);
- miFilePageSetup = CreateMenuItem(Designer.cmdPageSetup.Invoke);
- miFilePrinterSetup = CreateMenuItem(Designer.cmdPrinterSetup.Invoke);
- miFilePreview = CreateMenuItem(3, Designer.cmdPreview.Invoke);
- miFileCloudPreview = CreateMenuItem(263, Designer.cmdPreviewCloud.Invoke);
- miFileSelectLanguage = CreateMenuItem(Designer.cmdSelectLanguage.Invoke);
- miFileExit = CreateMenuItem(Designer.Exit);
- miEdit = CreateMenuItem();
- miEditUndo = CreateMenuItem(8, Designer.cmdUndo.Invoke);
- miEditRedo = CreateMenuItem(9, Designer.cmdRedo.Invoke);
- miEditCut = CreateMenuItem(5, Designer.cmdCut.Invoke);
- miEditCopy = CreateMenuItem(6, Designer.cmdCopy.Invoke);
- miEditPaste = CreateMenuItem(7, Designer.cmdPaste.Invoke);
- miEditDelete = CreateMenuItem(51, Designer.cmdDelete.Invoke);
- miEditNewPage = CreateMenuItem(10, Designer.cmdNewPage.Invoke);
- miEditCopyPage = CreateMenuItem(Designer.cmdCopyPage.Invoke);
- miEditDeletePage = CreateMenuItem(12, Designer.cmdDeletePage.Invoke);
- miEditSelectAll = CreateMenuItem(Designer.cmdSelectAll.Invoke);
- miEditGroup = CreateMenuItem(17, Designer.cmdGroup.Invoke);
- miEditUngroup = CreateMenuItem(16, Designer.cmdUngroup.Invoke);
- miEditFind = CreateMenuItem(181, Designer.cmdFind.Invoke);
- miEditReplace = CreateMenuItem(Designer.cmdReplace.Invoke);
- miView = CreateMenuItem();
- miViewStartPage = CreateMenuItem(179, Designer.cmdViewStartPage.Invoke);
- miViewToolbars = CreateMenuItem();
- miViewMessages = CreateMenuItem(70, miViewMessages_Click);
- miViewMessages.CheckOnClick = true;
- miViewOptions = CreateMenuItem(Designer.cmdOptions.Invoke);
- miInsert = CreateMenuItem();
- miInsert.DropDownItems.Add(CreateMenuItem()); // need to allow miInsert open its dropdown
- miReport = CreateMenuItem();
- miReportValidation = CreateMenuItem(70, Designer.cmdReportValidation.Invoke);
- miReportOptions = CreateMenuItem(Designer.cmdReportSettings.Invoke);
- miData = CreateMenuItem();
- miDataChoose = CreateMenuItem(Designer.cmdChooseData.Invoke);
- miDataAdd = CreateMenuItem(137, Designer.cmdAddData.Invoke);
- miDataShowData = CreateMenuItem(72, miDataShowDataSources_Click);
- miWindow = CreateMenuItem();
- miWindowCloseAll = CreateMenuItem(202, Designer.cmdCloseAll.Invoke);
- miHelp = CreateMenuItem();
- miHelpContents = CreateMenuItem(90, Designer.cmdHelpContents.Invoke);
- miHelpAccount = CreateMenuItem(259, Designer.cmdAccount.Invoke);
- miHelpAbout = CreateMenuItem(Designer.cmdAbout.Invoke);
-
- // create menu structure
- Items.AddRange(new ToolStripItem[] {
- miFile, miEdit, miView, miInsert, miReport, miData, miWindow, miHelp });
- miFile.DropDownItems.AddRange(new ToolStripItem[] {
- miFileNew, miFileOpen, miFileOpenPage, miFileOpenViaCloud, new ToolStripSeparator(),
- miFileRecentFiles, miFileClose, new ToolStripSeparator(),
- miFileSave, miFileSaveAll, miFileSaveAs, miFileSaveToCloud, miFileSaveWithRandomData, new ToolStripSeparator(),
- miFilePageSetup, miFilePrinterSetup, miFilePreview, miFileCloudPreview, new ToolStripSeparator(),
- miFileSelectLanguage, new ToolStripSeparator(),
- miFileExit });
- miEdit.DropDownItems.AddRange(new ToolStripItem[] {
- miEditUndo, miEditRedo, new ToolStripSeparator(),
- miEditCut, miEditCopy, miEditPaste, miEditDelete, new ToolStripSeparator(),
- miEditNewPage, miEditCopyPage, miEditDeletePage, new ToolStripSeparator(),
- miEditSelectAll, new ToolStripSeparator(),
- miEditGroup, miEditUngroup, new ToolStripSeparator(),
- miEditFind, miEditReplace });
- miView.DropDownItems.AddRange(new ToolStripItem[] {
- miViewStartPage,
- miViewToolbars,
- miViewMessages,
- new ToolStripSeparator(),
- miViewOptions });
- miReport.DropDownItems.Add(miReportValidation);
- miReport.DropDownItems.Add(miReportOptions);
- miData.DropDownItems.AddRange(new ToolStripItem[] {
- miDataChoose, miDataAdd });
- miWindow.DropDownItems.Add(miWindowCloseAll);
- miHelp.DropDownItems.AddRange(new ToolStripItem[] {
- miHelpContents, new ToolStripSeparator(),
- miHelpAccount, new ToolStripSeparator(), miHelpAbout });
- if (!Config.DisableHotkeys)
- {
- // shortcuts
- Keys shortcut;
- if (Config.Shortcuts.TryGetValue("File,Open", out shortcut))
- miFileOpen.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("File,Save", out shortcut))
- miFileSave.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("File,SaveAs", out shortcut))
- miFileSaveAs.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("File,SaveAll", out shortcut))
- miFileSaveAll.ShortcutKeys = shortcut;
- #if !COMMUNITY
- if (Config.Shortcuts.TryGetValue("File,Preview", out shortcut))
- miFilePreview.ShortcutKeys = shortcut;
- #endif
- if (Config.Shortcuts.TryGetValue("Editing,Undo", out shortcut))
- miEditUndo.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Redo", out shortcut))
- miEditRedo.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Cut", out shortcut))
- miEditCut.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Copy", out shortcut))
- miEditCopy.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Paste", out shortcut))
- miEditPaste.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,NewPage", out shortcut))
- miEditNewPage.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,SelectAll", out shortcut))
- miEditSelectAll.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Find", out shortcut))
- miEditFind.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Editing,Replace", out shortcut))
- miEditReplace.ShortcutKeys = shortcut;
- if (Config.Shortcuts.TryGetValue("Help,Contents", out shortcut))
- miHelpContents.ShortcutKeys = shortcut;
- }
- // events
- miFile.DropDownOpening += miFile_DropDownOpening;
- miEdit.DropDownOpening += miEdit_DropDownOpening;
- miInsert.DropDownOpening += miInsert_DropDownOpening;
- miView.DropDownOpening += miView_DropDownOpening;
- miWindow.DropDownOpening += miWindow_DropDownOpening;
- Localize();
- Designer.Controls.Add(this);
- }
- }
- }
|