示例#1
0
        public static void Show(IList <IModuleDrawer> drawers, string helpTopic)
        {
            if (drawers == null)
            {
                return;
            }

            IMenu menu = Far.Api.CreateMenu();

            menu.AutoAssignHotkeys = true;
            menu.HelpTopic         = helpTopic;
            menu.Title             = Res.ModuleDrawers;

            foreach (IModuleDrawer it in drawers)
            {
                menu.Add(Utility.FormatConfigMenu(it)).Data = it;
            }

            while (menu.Show())
            {
                FarItem       mi     = menu.Items[menu.Selected];
                IModuleDrawer drawer = (IModuleDrawer)mi.Data;

                var dialog = new ConfigDrawerDialog(drawer, helpTopic);
                while (dialog.Dialog.Show())
                {
                    var mask = ConfigTool.ValidateMask(dialog.Mask.Text);
                    if (mask == null)
                    {
                        continue;
                    }

                    int    priority;
                    string priorityText = dialog.Priority.Text.Trim();
                    if (!int.TryParse(priorityText, out priority))
                    {
                        Far.Api.Message("Invalid Priority.");
                        continue;
                    }

                    // set
                    drawer.Mask     = mask;
                    drawer.Priority = priority;
                    drawer.Manager.SaveSettings();
                    break;
                }
            }
        }
示例#2
0
        public static void Show(IList<IModuleDrawer> drawers, string helpTopic)
        {
            if (drawers == null)
                return;

            IMenu menu = Far.Api.CreateMenu();
            menu.AutoAssignHotkeys = true;
            menu.HelpTopic = helpTopic;
            menu.Title = Res.ModuleDrawers;

            foreach (IModuleDrawer it in drawers)
                menu.Add(Utility.FormatConfigMenu(it)).Data = it;

            while (menu.Show())
            {
                FarItem mi = menu.Items[menu.Selected];
                IModuleDrawer drawer = (IModuleDrawer)mi.Data;

                var dialog = new ConfigDrawerDialog(drawer, helpTopic);
                while (dialog.Dialog.Show())
                {
                    var mask = ConfigTool.ValidateMask(dialog.Mask.Text);
                    if (mask == null)
                        continue;

                    int priority;
                    string priorityText = dialog.Priority.Text.Trim();
                    if (!int.TryParse(priorityText, out priority))
                    {
                        Far.Api.Message("Invalid Priority.");
                        continue;
                    }

                    // set
                    drawer.Mask = mask;
                    drawer.Priority = priority;
                    drawer.Manager.SaveSettings();
                    break;
                }
            }
        }