public void RegisterMenuItem(string menuName, string location, IBasicMenuItem item, IMvcPlugin plugin, string[] views) { if (string.IsNullOrWhiteSpace(menuName)) menuName = "main"; if (views == null || views.Length == 0) views = new string[] { "*" }; lock (m_registeredMenuItems) { m_registeredMenuItems.Add(new PluginMenuItem() { Plugin = plugin, MenuItem = item, Views = views, MenuLocation = location, MenuName = menuName }, location); } }
public void InstallMenu(IBasicMenu parentMenu) { AHWorkFolder = $"{CurrentProfile.PluginsDirectory}\\AdicHelper"; AHPath = $"{AHWorkFolder}\\AdicHelper.exe"; if (!File.Exists(AHPath)) { Log.Error($"Can't run {AH}: file \"{AHPath}\" not found."); return; } Storage = ImportStorage.GetPluginStorage(typeof(AdicHelper)); parentMenu.AppendMenuItem(AH, isEnabled: false); EnableParser = parentMenu.AppendMenuItem("Enable cJASS", true, Storage.GetValue(nameof(EnableParser), true), true); EnableParser.Click += (s, e) => Storage.SetValue(nameof(EnableParser), EnableParser.IsChecked); EnableOptimizer = parentMenu.AppendMenuItem("Enable optimizer", true, Storage.GetValue(nameof(EnableOptimizer), true), true); EnableOptimizer.Click += (s, e) => Storage.SetValue(nameof(EnableOptimizer), EnableOptimizer.IsChecked); DebugMode = parentMenu.AppendMenuItem("Enable debug", true, Storage.GetValue(nameof(DebugMode), false), true); DebugMode.Click += (s, e) => Storage.SetValue(nameof(DebugMode), DebugMode.IsChecked); LocalsFlush = parentMenu.AppendMenuItem("Locals auto flush", true, Storage.GetValue(nameof(LocalsFlush), true), true); LocalsFlush.Click += (s, e) => Storage.SetValue(nameof(LocalsFlush), LocalsFlush.IsChecked); DefaultCjBj = parentMenu.AppendMenuItem("Compile for default cj and bj", true, Storage.GetValue(nameof(DefaultCjBj), true), true); DefaultCjBj.Click += (s, e) => Storage.SetValue(nameof(DefaultCjBj), DefaultCjBj.IsChecked); CompatMode = parentMenu.AppendMenuItem("Modules compatibility mode", true, Storage.GetValue(nameof(CompatMode), true), true); CompatMode.Click += (s, e) => Storage.SetValue(nameof(CompatMode), CompatMode.IsChecked); NullBoolexpr = parentMenu.AppendMenuItem("Use 'null' as default boolexpr", true, Storage.GetValue(nameof(NullBoolexpr), true), true); NullBoolexpr.Click += (s, e) => Storage.SetValue(nameof(NullBoolexpr), NullBoolexpr.IsChecked); parentMenu.AppendMenuItem("About AdicHelper...", false, false, true).Click += (s, e) => Process.Start(AHPath); Hooks.MapSaved += Hooks_MapSaved; Inited = true; }
public void DefineMenuItem(string menuName, string menuLocation, IBasicMenuItem item, params string[] views) { MenuItems.Add(item); DemoApp.RegisterMenuItem(menuName, menuLocation, item, this, views); }