/// <summary> /// Creates a list of menu items. /// </summary> static private void SetItems(ToolStripItemCollection menuItems, OnlineProviders providers, EventHandler action, Action reconstruct) { if (providers is null || providers.Items.Count == 0) { return; } menuItems.Clear(); string nameItems = StackMethods.NameOfFromStack(3).Replace("Globals.", string.Empty); foreach (var item in providers.Items) { menuItems.Add(item.CreateMenuItem(action)); } if (providers.Configurable) { menuItems.Add(new ToolStripSeparator()); menuItems.Add(CreateConfigureMenuItem((sender, e) => { if (DataFileEditorForm.Run(nameItems, providers)) { reconstruct(); } })); } }
/// <summary> /// Creates sub-menu items for providers menu. /// </summary> static public void InitializeFromProviders(this ContextMenuStrip contextMenu, OnlineProviders providers, EventHandler action, Action finished = null) { SetItems(contextMenu.Items, providers, action, finished, () => InitializeFromProviders(contextMenu, providers, action, finished)); }
/// <summary> /// Creates submenu items for providers menu. /// </summary> static public void InitializeFromProviders(this ToolStripMenuItem menuItem, OnlineProviders providers, EventHandler action) { if (providers is null) { return; } SetItems(menuItem.DropDownItems, providers, action, () => InitializeFromProviders(menuItem, providers, action)); menuItem.MouseUp += Menu_MouseUp; }
/// <summary> /// Loads the providers files. /// </summary> static internal void LoadProviders() { const DataFileFolder folder = DataFileFolder.ApplicationDocuments; WebProvidersWord = Globals.CreateOnlineProviders(folder, WebProvidersWordFilePath); WebProvidersConcordance = Globals.CreateOnlineProviders(folder, WebProvidersConcordanceFilePath); WebProvidersBible = Globals.CreateOnlineProviders(folder, WebProvidersBibleFilePath); WebProvidersParashah = Globals.CreateOnlineProviders(folder, WebProvidersParashahFilePath); WebProvidersCelebration = Globals.CreateOnlineProviders(folder, WebProvidersCelebrationFilePath); Globals.LoadWebLinksProviders(); }