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; } }; }
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); }