예제 #1
0
        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);
            }
        }
예제 #2
0
    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;
    }
예제 #3
0
 public void DefineMenuItem(string menuName, string menuLocation, IBasicMenuItem item, params string[] views)
 {
     MenuItems.Add(item);
     DemoApp.RegisterMenuItem(menuName, menuLocation, item, this, views);
 }