示例#1
0
        private void LoadPalettes()
        {
            Models = new List <PaletteModel>();

            // Группировка команд
            // const string groupCommon = Commands.GroupCommon;
            // var commonCommands = Commands.CommandsPalette;
            var groupCommands = CommandsAddin.GroupBy(c => c.Group).OrderBy(g => g.Key);

            foreach (var group in groupCommands)
            {
                // if (group.Key.Equals(groupCommon, StringComparison.OrdinalIgnoreCase))
                // {
                //    commonCommands.AddRange(group);
                // }
                // else
                {
                    var model = new PaletteModel(group.GroupBy(g => g.Name).Select(s => s.First()));
                    if (model.PaletteCommands.Any())
                    {
                        var commControl = new UI.CommandsControl {
                            DataContext = model
                        };
                        var name = group.Key;
                        if (string.IsNullOrEmpty(name))
                        {
                            name = "Главная";
                        }
                        AddVisual(name, commControl);
                        Models.Add(model);
                    }
                }
            }

            //// Общие команды для всех отделов определенные в этой сборке
            // var modelCommon = new PaletteModel(commonCommands.GroupBy(g => g.Name).Select(s => s.First()).ToList(),
            //    versionPalette);
            // var controlCommon = new UI.CommandsControl { DataContext = modelCommon };
            // AddVisual(groupCommon, controlCommon);
            // Models.Add(modelCommon);
            Settings.Default.PropertyChanged += (o, e) =>
            {
                double bw;
                switch (e.PropertyName)
                {
                case "PaletteImageSize":
                case "PaletteStyle":
                    bw = GetButtonWidth();
                    Models.ForEach(m => m.ButtonWidth = bw);
                    break;

                case "PaletteFontSize":
                    var fontMaxH = GetFontSize();
                    bw = GetButtonWidth();
                    Models.ForEach(m =>
                    {
                        m.FontMaxHeight = fontMaxH;
                        m.ButtonWidth   = bw;
                    });
                    break;
                }
            };
        }
示例#2
0
 private void loadPalettes()
 {
     models = new List<PaletteModel>();
     var commands = CommandsAddin;
     // Группировка команд
     string groupCommon = "Общие";
     List<IPaletteCommand> commonCommands = Commands.CommandsPalette;
     var groupCommands = commands.GroupBy(c => c.Group).OrderBy(g=>g.Key);
     foreach (var group in groupCommands)
     {
         if (group.Key.Equals(groupCommon, StringComparison.OrdinalIgnoreCase))
         {
             commonCommands.AddRange(group.ToList());
         }
         else
         {
             var model = new PaletteModel(group);
             if (model.PaletteCommands.Any())
             {
                 UI.CommandsControl commControl = new UI.CommandsControl();
                 commControl.DataContext = model;
                 string name = group.Key;
                 if (string.IsNullOrEmpty(name)) name = "Главная";
                 AddVisual(name, commControl);
                 models.Add(model);
             }
         }
     }
     // Общие команды для всех отделов определенные в этой сборке
     var modelCommon = new PaletteModel(commonCommands);
     var controlCommon = new UI.CommandsControl();
     controlCommon.DataContext = modelCommon;
     AddVisual(groupCommon, controlCommon);
     models.Add(modelCommon);
 }