private void InitializeMenu() { var menus = new List <ToolStripItem>(); var runtimes = Script.GetRuntimes(); var runtimeMenus = new List <IRuntimeMenu>(); for (int i = 0; i < runtimes.Count; i++) { IRuntimeMenu runtimeMenu; if (runtimes[i] == null || (runtimeMenu = runtimes[i].Menu) == null) { continue; } try { runtimeMenu.Initialize(this); } catch (Exception ex) { Plugin.Plugin.PluginException(ex, runtimeMenu.GetType().Name, "IRuntimeMenu initialize failed", "Script Editor"); } try { menus.AddRange(runtimeMenu.Menus); runtimeMenus.Add(runtimeMenu); } catch (Exception ex) { Plugin.Plugin.PluginException(ex, runtimeMenu.GetType().Name, "IRuntimeMenu get Menus failed", "Script Editor"); } } _runtimeMenus = runtimeMenus.ToArray(); _separatorMenu = MenuStripSupport.AddSeparator(menus); (_removeMenu = MenuStripSupport.AddMenuItem(menus, Language.Language.Program_Remove_Button, "remove")).Click += Remove_Click; contextMenuStrip.Items.AddRange(menus.ToArray()); }
public void Initialize(Service service) { Script = service.GetScript(); var runtimes = Script.GetRuntimes(); for (int i = 0; i < runtimes.Count; i++) { if (runtimes[i].GetType() == typeof(VirtualInputRuntime)) { Runtime = (VirtualInputRuntime)runtimes[i]; } } }