public void Convert(string tabName, List <IPaletteCommand> commands) { dirBlocks = IO.Path.GetLocalSettingsFile("Blocks"); var fileRibbon = RibbonGroupData.GetRibbonFile(tabName); var dir = Path.GetDirectoryName(fileRibbon); Directory.CreateDirectory(dir); imagesDir = Path.Combine(dir, "Images"); Directory.CreateDirectory(imagesDir); var tab = new RibbonTabData { Name = tabName, Panels = commands.GroupBy(g => g.Group).Select(s => new RibbonPanelData { Name = s.Key, Items = s.Select(GetItem).ToList() }).ToList() }; var ribbonGroup = new RibbonGroupData { Tabs = new List <RibbonTabData> { tab } }; ribbonGroup.Save(fileRibbon); }
private void BuildContextMenu() { var saveButton = new RibbonButtonData(Messages.Title_Save, imgUri.FormatWith("Save"), this.View.As <WorkbenchViewModel>().SaveCommand); var splitter = new RibbonMenuItemData(Messages.Btn_Add, imgUri.FormatWith("Add"), null); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddDoctor, imgUri.FormatWith("Add"), this.addDoctorCommand)); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddSpecialisation, imgUri.FormatWith("Add"), this.addSpecialisationCommand)); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddInsurance, imgUri.FormatWith("Add"), this.addInsuranceCommand)); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddReputation, imgUri.FormatWith("Add"), this.addReputationCommand)); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddPractice, imgUri.FormatWith("Add"), this.addPracticeCommand)); splitter.ControlDataCollection.Add(new RibbonMenuItemData(Messages.Title_AddProfession, imgUri.FormatWith("Add"), this.addProfessionCommand)); var cgroup = new RibbonGroupData(Messages.Menu_Actions); cgroup.ButtonDataCollection.Add(saveButton); cgroup.ButtonDataCollection.Add(splitter); var tab = new RibbonTabData(Messages.Menu_File) { ContextualTabGroupHeader = Messages.Title_ContextMenu }; tab.GroupDataCollection.Add(cgroup); PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_ContextMenu, tab) { Background = Brushes.OrangeRed, IsVisible = false }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
/// <summary> /// Builds the context menu of this plugin. /// </summary> private void BuildContextMenu() { var navAddPrescriptionButton = new RibbonButtonData(Messages.Title_AddPrescription , imgUri.FormatWith("Add") , new RelayCommand(() => this.NavigateAddPrescription(), () => CanNavigateToAddPrescription())); var navWorkbenchButton = new RibbonButtonData(Messages.Title_PrescriptionManager , imgUri.FormatWith("Prescription") , new RelayCommand(() => this.NavigateWorkbench(), () => this.CanNavigatePrescription())); var saveButton = new RibbonButtonData(Messages.Btn_Save , imgUri.FormatWith("Save") , new RelayCommand(() => this.Save(), () => CanSave())); var navSearchButton = new RibbonButtonData(Messages.Btn_Search , icoUri.FormatWith("Search") , new RelayCommand(() => ViewService.Manager.ShowDialog <SearchPrescriptionViewModel>(), () => this.CanNavigateSearch())); var addDrugButton = new RibbonButtonData(Messages.Btn_AddDrug , imgUri.FormatWith("Drug") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddDrugViewModel>() , () => this.lastNavigation == LastNavigation.AddPrescription && PluginContext.DoorKeeper.IsUserGranted(To.Write))); var addDrugTypeButton = new RibbonButtonData(Messages.Btn_AddDrugType , imgUri.FormatWith("DrugType") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddDrugTypeViewModel>() , () => this.lastNavigation == LastNavigation.AddPrescription && PluginContext.DoorKeeper.IsUserGranted(To.Write))); var cgroup = new RibbonGroupData(Messages.Menu_Actions); var ngroup = new RibbonGroupData(Messages.Menu_Navigation); var mgroup = new RibbonGroupData(Messages.Menu_Manage); cgroup.ButtonDataCollection.Add(saveButton); cgroup.ButtonDataCollection.Add(navSearchButton); ngroup.ButtonDataCollection.Add(navWorkbenchButton); ngroup.ButtonDataCollection.Add(navAddPrescriptionButton); mgroup.ButtonDataCollection.Add(addDrugButton); mgroup.ButtonDataCollection.Add(addDrugTypeButton); var tab = new RibbonTabData(Messages.Menu_File) { ContextualTabGroupHeader = Messages.Title_PrescriptionManager }; tab.GroupDataCollection.Add(cgroup); tab.GroupDataCollection.Add(ngroup); tab.GroupDataCollection.Add(mgroup); PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_PrescriptionManager, tab) { Background = Brushes.OrangeRed, IsVisible = false }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
/// <summary> /// Builds the context menu for this plugin's ribbon. /// </summary> private void BuildContextMenu() { var cgroup1 = new RibbonGroupData(BaseText.Group_Action); cgroup1.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Edit, imgUri.FormatWith("Edit"), this.EditCommand)); cgroup1.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Save, imgUri.FormatWith("Save"), this.SaveCommand)); cgroup1.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Revert, imgUri.FormatWith("Revert"), this.RevertCommand)); cgroup1.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Deactivate, imgUri.FormatWith("Deactivate"), this.DeactivateCommand)); var cgroup2 = new RibbonGroupData(Messages.Group_Add); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Reputation, imgUri.FormatWith("Reputation") , new RelayCommand(() => ViewService.Manager.Show <AddReputationViewModel>()))); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Insurance, imgUri.FormatWith("Insurance") , new RelayCommand(() => ViewService.Manager.Show <AddInsuranceViewModel>()))); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Job, imgUri.FormatWith("Job") , new RelayCommand(() => ViewService.Manager.Show <AddProfessionViewModel>()))); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Practice, imgUri.FormatWith("Practice") , new RelayCommand(() => ViewService.Manager.Show <AddPracticeViewModel>()))); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Specialisation, imgUri.FormatWith("Specialisation") , new RelayCommand(() => ViewService.Manager.Show <AddSpecialisationViewModel>()))); cgroup2.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_Doctor, imgUri.FormatWith("Doctor") , new RelayCommand(() => ViewService.Manager.Show <AddDoctorViewModel>()))); var cgroup3 = new RibbonGroupData(Messages.Group_LinkedDoctor); cgroup3.ButtonDataCollection.Add(new RibbonButtonData(BaseText.Add, imgUri.FormatWith("DoctorAdd") , new RelayCommand(() => ViewService.Manager.Show <BindDoctorViewModel>(), () => this.CanManageDoctor()))); cgroup3.ButtonDataCollection.Add(new RibbonButtonData(BaseText.Remove, imgUri.FormatWith("DoctorRemove") , new RelayCommand(() => ViewService.Manager.Show <UnbindDoctorViewModel>(), () => this.CanManageDoctor()))); var cgroup4 = new RibbonGroupData(Messages.Group_Tag); cgroup4.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_BindTag, imgUri.FormatWith("TagAdd") , new RelayCommand(() => ViewService.Manager.Show <BindTagViewModel>(), () => this.CanManageTag()))); cgroup4.ButtonDataCollection.Add(new RibbonButtonData(Messages.Btn_UnbindTag, imgUri.FormatWith("DoctorRemove") , new RelayCommand(() => ViewService.Manager.Show <RemoveTagViewModel>(), () => this.CanManageTag()))); cgroup4.ButtonDataCollection.Add(new RibbonButtonData(BaseText.Add, imgUri.FormatWith("DoctorAdd") , new RelayCommand(() => ViewService.Manager.Show <AddTagViewModel>(), () => this.CanManageTag()))); var tab = new RibbonTabData(BaseText.Menu_File) { ContextualTabGroupHeader = Messages.Title_PluginName }; tab.GroupDataCollection.Add(cgroup1); tab.GroupDataCollection.Add(cgroup2); tab.GroupDataCollection.Add(cgroup3); tab.GroupDataCollection.Add(cgroup4); PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_PluginName, tab) { Background = Brushes.OrangeRed, IsVisible = false }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
private void ConfigureParagraphGroup(RibbonTabData tab) { var paragraphGroup = new RibbonGroupData() { Header = Messages.Menu_Paragraph, Order = 51, }; paragraphGroup.ButtonDataCollection.Add(this.centerAllignButton); paragraphGroup.ButtonDataCollection.Add(this.justifyAllignButton); paragraphGroup.ButtonDataCollection.Add(this.leftAllignButton); paragraphGroup.ButtonDataCollection.Add(this.rightAllignButton); tab.GroupDataCollection.Add(paragraphGroup); }
private void ConfigureSaveMenu(RibbonTabData tab) { var revisionsButton = new RibbonButtonData(Messages.Btn_Revisions, imgUri.FormatWith("Undo"), this.View.As <WorkbenchViewModel>().ShowRevisionsCommand); var saveButton = new RibbonButtonData(Messages.Title_Save, imgUri.FormatWith("Save"), this.View.As <WorkbenchViewModel>().SaveCommand); var splitButton = this.ConfigureSplitButton(); var macroButton = new RibbonButtonData(Messages.Title_Macro, imgUri.FormatWith("Edit"), new RelayCommand( () => this.EditMacro(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))); var cgroup = new RibbonGroupData(Messages.Menu_Actions, 1); cgroup.ButtonDataCollection.Add(saveButton); cgroup.ButtonDataCollection.Add(revisionsButton); cgroup.ButtonDataCollection.Add(splitButton); cgroup.ButtonDataCollection.Add(macroButton); tab.GroupDataCollection.Add(cgroup); }
private void AddButton(RibbonTabData tab, string goupName, RibbonControlData button) { var group = (from g in tab.GroupDataCollection where g.Header == goupName select g).FirstOrDefault(); if (group == null) { throw new PluginException(Messages.PluginException_HomeMenuVoid); } group.ButtonDataCollection.Add(button); // I use ToList() because it makes a copy of the list. Otherwise, clearing the ObservableCollection // clears the linq result. group.ButtonDataCollection.Refill(group.ButtonDataCollection.OrderBy(e => e.Order).ToList()); }
private void ConfigureFontGroup(RibbonTabData tab) { var fontGroup = new RibbonGroupData() { Header = Messages.Menu_Font, Order = 50, }; fontGroup.ButtonDataCollection.Add(this.boldButton); fontGroup.ButtonDataCollection.Add(this.italicButton); fontGroup.ButtonDataCollection.Add(this.underlineButton); fontGroup.ButtonDataCollection.Add(this.bulletsButton); fontGroup.ButtonDataCollection.Add(this.numberingButton); //fontGroup.ButtonDataCollection.Add(this.fontsComboBox); //fontGroup.ButtonDataCollection.Add(this.fontsSizeComboBox); tab.GroupDataCollection.Add(fontGroup); }
/// <summary> /// Builds the context menu the ribbon for this plugin. /// </summary> private void BuildContextMenu() { var ngroup = new RibbonGroupData(Messages.Menu_Navigation, 1); var cgroup = new RibbonGroupData(Messages.Menu_Actions, 2); var tab = new RibbonTabData() { Header = Messages.Menu_File, ContextualTabGroupHeader = Messages.Title_AuthorisationManager }; tab.GroupDataCollection.Add(cgroup); tab.GroupDataCollection.Add(ngroup); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_AuthorisationManager, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); PluginContext.Host.AddTab(tab); ICommand roleCommand = new RelayCommand(() => this.NavigateRole(), () => this.CanNavigateRole()); ngroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_RoleManager, imgUri.FormatWith("Admin"), roleCommand) { Order = 1, }); ICommand userCommand = new RelayCommand(() => this.NavigateUser(), () => this.CanNavigateUser()); ngroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_UserManager, imgUri.FormatWith("UserSetup"), userCommand) { Order = 2, }); ICommand addRoleCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <AddRoleViewModel>()); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddRole, imgUri.FormatWith("New"), addRoleCommand) { Order = 2, }); }
/// <summary> /// Builds the context menu of this plugin. /// </summary> private void BuildContextMenu() { var counter = 0; var cgroup = new RibbonGroupData(Messages.Menu_Actions, 1); var tab = new RibbonTabData() { Header = Messages.Menu_File, ContextualTabGroupHeader = Messages.Title_PathologyManager }; tab.GroupDataCollection.Add(cgroup); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_PathologyManager, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); PluginContext.Host.AddTab(tab); ICommand addPeriodCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <AddPeriodViewModel>() , () => PluginContext.DoorKeeper.IsUserGranted(To.Write)); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddPeriods, imgUri.FormatWith("Add"), addPeriodCommand) { Order = counter++ }); ICommand addPathologyCategory = new RelayCommand(() => ViewService.Manager.ShowDialog <AddPathologyCategoryViewModel>() , () => PluginContext.DoorKeeper.IsUserGranted(To.Write)); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddPathologyCategory, imgUri.FormatWith("PathologyType"), addPathologyCategory) { Order = counter++ }); ICommand addPathologyCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <AddPathologyViewModel>() , () => PluginContext.DoorKeeper.IsUserGranted(To.Write)); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddPathology, imgUri.FormatWith("Pathology"), addPathologyCommand) { Order = counter++ }); }
private void BuildContextMenu() { var tab = new RibbonTabData() { Header = Messages.Menu_File, ContextualTabGroupHeader = Messages.Title_MedicalRecord }; this.ConfigureSaveMenu(tab); this.ConfigureFontGroup(tab); this.ConfigureParagraphGroup(tab); PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_MedicalRecord, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
/// <summary> /// Builds the context menu the ribbon for this plugin. /// </summary> private void BuildContextMenu() { this.addRelationCommand = new RelayCommand(() => this.NavigateRelation(), () => this.CanNavigateRelation()); var cgroup = new RibbonGroupData(Messages.Menu_Actions); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddRelation, imgUri.FormatWith("Add"), addRelationCommand)); var tab = new RibbonTabData(Messages.Menu_File, cgroup) { ContextualTabGroupHeader = Messages.Title_FamilyManager }; PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_FamilyManager, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
private void BuildContextMenu() { var addPicButton = new RibbonButtonData(Messages.Title_BtnAddPic, imgUri.FormatWith("Add"), this.GetAddPicCommand()); var addTypeButton = new RibbonButtonData(Messages.Title_AddPicType, imgUri.FormatWith("Add"), this.GetAddCategoryCommand()); var cgroup = new RibbonGroupData(Messages.Menu_Actions); cgroup.ButtonDataCollection.Add(addPicButton); cgroup.ButtonDataCollection.Add(addTypeButton); var tab = new RibbonTabData(Messages.Menu_File, cgroup) { ContextualTabGroupHeader = Messages.Title_Pictures }; PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_Pictures, tab) { Background = Brushes.OrangeRed, IsVisible = false }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
/// <summary> /// Builds the context menu of this plugin. /// </summary> private void BuildContextMenu() { var cgroup = new RibbonGroupData(Messages.Menu_Actions, 1); var tab = new RibbonTabData() { Header = Messages.Menu_File, ContextualTabGroupHeader = Messages.Title_MeetingsManager }; tab.GroupDataCollection.Add(cgroup); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_MeetingsManager, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); PluginContext.Host.AddTab(tab); ICommand addCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <AddMeetingViewModel>(), () => IsCalendatEditor); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_AddMeeting, imgUri.FormatWith("Add"), addCommand) { Order = 1, }); ICommand removeCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <RemoveMeetingViewModel>(), () => IsCalendatEditor); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Title_RemoveMeeting, imgUri.FormatWith("Delete"), removeCommand) { Order = 2, }); ICommand addCategoryCommand = new RelayCommand(() => ViewService.Manager.ShowDialog <AddCategoryViewModel>(), () => IsCalendatEditor); cgroup.ButtonDataCollection.Add(new RibbonButtonData(Messages.Msg_AddCategory, imgUri.FormatWith("AddCategory"), addCategoryCommand) { Order = 3, }); }
/// <summary> /// Builds the context menu the ribbon for this plugin. /// </summary> private void BuildContextMenu() { var vacuumButton = new RibbonButtonData(Messages.Btn_Vacuum , imgUri.FormatWith("Vacuum") , new RelayCommand(() => VacuumDatabase())); var cgroup = new RibbonGroupData(Messages.Menu_Actions); cgroup.ButtonDataCollection.Add(vacuumButton); var tab = new RibbonTabData(Messages.Menu_File) { ContextualTabGroupHeader = Messages.Title_FirstAidManager }; tab.GroupDataCollection.Add(cgroup); PluginContext.Host.AddTab(tab); this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_FirstAidManager, tab) { Background = Brushes.OrangeRed, IsVisible = false }; PluginContext.Host.AddContextualMenu(this.ContextualMenu); }
/// <summary> /// Adds the specified tab. /// </summary> /// <param name="tab">The tab.</param> public void AddTab(RibbonTabData tab) { this.Dispatcher.Invoke((Action) delegate { App.RibbonData.TabDataCollection.Add(tab); }); }
/// <summary> /// Builds the context menu of this plugin. /// </summary> private void BuildContextMenu() { var tab = new RibbonTabData() { Header = BaseText.Menu_File, ContextualTabGroupHeader = Messages.Title_AdministratorManager }; this.ContextualMenu = new RibbonContextualTabGroupData(Messages.Title_AdministratorManager, tab) { Background = Brushes.OrangeRed, IsVisible = false, }; var cgroup = new RibbonGroupData(Messages.Group_Add, 1); tab.GroupDataCollection.Add(cgroup); PluginContext.Host.AddContextualMenu(this.ContextualMenu); PluginContext.Host.AddTab(tab); int i = 0; var buttons = new List <RibbonButtonData>(); buttons.Add(new RibbonButtonData(Messages.Title_AddInsurance, imgUri.FormatWith("Insurance") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddInsuranceViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddPractice, imgUri.FormatWith("Practice") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddPracticeViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddDrugType, imgUri.FormatWith("DrugType") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddDrugTypeViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddDrug, imgUri.FormatWith("Drug") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddDrugViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddPathologyType, imgUri.FormatWith("PathologyType") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddPathologyTypeViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddPathology, imgUri.FormatWith("Pathology") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddPathologyViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddProfession, imgUri.FormatWith("Job") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddProfessionViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddReputation, imgUri.FormatWith("Reputation") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddReputationViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddPictureType, imgUri.FormatWith("PictureType") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddPictureTypeViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddSpecialisation, imgUri.FormatWith("Specialisation") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddSpecialisationViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddDoctor, imgUri.FormatWith("Doctor") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddDoctorViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); buttons.Add(new RibbonButtonData(Messages.Title_AddSearchTag, imgUri.FormatWith("SearchTag") , new RelayCommand(() => ViewService.Manager.ShowDialog <AddSearchTagViewModel>(), () => PluginContext.DoorKeeper.IsUserGranted(To.Write))) { Order = i++ }); foreach (var button in buttons) { cgroup.ButtonDataCollection.Add(button); } }