예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        private static RibbonGroupData LoadRibbonGroup(string userGroup)
        {
            if (userGroup.IsNullOrEmpty())
            {
                return(null);
            }
            var ribbonFile = RibbonGroupData.GetRibbonFile(userGroup);

            if (File.Exists(ribbonFile))
            {
                return(RibbonGroupData.Load(ribbonFile, e => throw e));
            }

            var ribbonGroup = new RibbonGroupData
            {
                Tabs = new List <RibbonTabData>
                {
                    new RibbonTabData
                    {
                        Name   = userGroup,
                        Panels = new List <RibbonPanelData>()
                    }
                }
            };

            return(ribbonGroup);
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
        /// <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);
        }
예제 #6
0
        protected virtual void FillItem(RibbonItemData item)
        {
            item.Name        = Name;
            item.Access      = Access?.Select(s => s.Access).ToList();
            item.Description = Description;
            item.IsTest      = IsTest;
            var imgName = RibbonGroupData.GetImageName(item.Name);

            RibbonGroupData.SaveImage(Image, imgName, RibbonVM.userGroup);
        }
예제 #7
0
        public static List <(RibbonTabData, string)> LoadRibbonTabsFromGroups()
        {
            var groupsName = new List <string>
            {
                PikSettings.UserGroup, Commands.GroupCommon, PikSettings.AdditionalUserGroup
            };

            return(groupsName.Where(w => !w.IsNullOrEmpty())
                   .Select(s => RibbonGroupData.Load(RibbonGroupData.GetRibbonFile(s))?.Tabs.Select(t => (t, s)))
                   .Where(w => w != null).SelectMany(s => s).ToList());
        }
예제 #8
0
        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);
        }
예제 #9
0
        public RibbonItemDataVM GetItemVM(RibbonItemData item)
        {
            RibbonItemDataVM itemVm;

            switch (item)
            {
            case RibbonBreakPanel ribbonBreak:
                itemVm = new RibbonBreakVM(ribbonBreak);
                break;

            case RibbonToggle ribbonToggle:
                itemVm = new RibbonToggleVM(ribbonToggle);
                break;

            case RibbonCommand ribbonCommand:
                itemVm = new RibbonCommandVM(ribbonCommand);
                break;

            case RibbonVisualGroupInsertBlock ribbonVisualGroupInsertBlock:
                itemVm = new RibbonVisualGroupInsertBlockVM(ribbonVisualGroupInsertBlock, BlockFiles);
                break;

            case RibbonVisualInsertBlock ribbonVisualInsertBlock:
                itemVm = new RibbonVisualInsertBlockVM(ribbonVisualInsertBlock, BlockFiles);
                break;

            case RibbonInsertBlock ribbonInsertBlock:
                itemVm = new RibbonInsertBlockVM(ribbonInsertBlock, BlockFiles);
                break;

            case RibbonSplit ribbonSplit:
                itemVm = new RibbonSplitVM(ribbonSplit);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(item));
            }

            itemVm.Name   = item.Name;
            itemVm.Access = new ObservableCollection <AccessItem>(item.Access?.Select(s => new AccessItem
            {
                Access = s
            }) ?? new List <AccessItem>());
            itemVm.Description = item.Description;
            itemVm.IsTest      = item.IsTest;
            itemVm.Image       = RibbonGroupData.LoadImage(userGroup, item.Name);
            return(itemVm);
        }
예제 #10
0
        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);
        }
예제 #11
0
        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);
        }
예제 #12
0
        private void SaveImage(IPaletteCommand com)
        {
            if (com.Name.IsNullOrEmpty())
            {
                return;
            }
            var imageName = RibbonGroupData.GetImageName(com.Name);
            var file      = Path.Combine(imagesDir, imageName);
            var fi        = new FileInfo(file);

            using (var fileStream = fi.Create())
            {
                var encoder = new PngBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create((BitmapSource)com.Image));
                encoder.Save(fileStream);
            }
        }
예제 #13
0
        /// <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++
            });
        }
예제 #14
0
        /// <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,
            });
        }
예제 #15
0
        /// <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);
        }
예제 #16
0
        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);
        }
예제 #17
0
        /// <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,
            });
        }
예제 #18
0
        /// <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);
        }
예제 #19
0
        /// <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);
            }
        }
예제 #20
0
        private void ClearImages()
        {
            var imageDir = RibbonGroupData.GetImagesFolder(UserGroup);

            NetLib.IO.Path.DeleteDir(imageDir);
        }
예제 #21
0
        private static void SaveRibbonGroup(RibbonGroupData ribbonGroup, string userGroup)
        {
            var ribbonFile = RibbonGroupData.GetRibbonFile(userGroup);

            ribbonGroup?.Save(ribbonFile);
        }