Exemplo n.º 1
0
        public ModuleRootViewModel(Core.Plugins.Abstract.Module module, IProfileEditorViewModelFactory profileEditorViewModelFactory)
        {
            DisplayName = module?.DisplayName;
            Module      = module;

            _profileEditorViewModelFactory = profileEditorViewModelFactory;

            Task.Run(AddTabsAsync);
        }
Exemplo n.º 2
0
        public void RemoveModule(Core.Plugins.Abstract.Module module)
        {
            // If not in the list there's nothing to do
            if (SidebarItemObjects.All(io => io.Value != module))
                return;

            var existing = SidebarItemObjects.First(io => io.Value == module);
            SidebarItems.Remove(existing.Key);
            SidebarItemObjects.Remove(existing.Key);
        }
Exemplo n.º 3
0
        public void AddModule(Core.Plugins.Abstract.Module module)
        {
            // Ensure the module is not already in the list
            if (SidebarItemObjects.Any(io => io.Value == module))
                return;

            // Icon is provided as string to avoid having to reference MaterialDesignThemes
            var parsedIcon = Enum.TryParse<PackIconKind>(module.DisplayIcon, true, out var iconEnum);
            if (parsedIcon == false)
                iconEnum = PackIconKind.QuestionMarkCircle;
            var sidebarItem = new FirstLevelNavigationItem {Icon = iconEnum, Label = module.DisplayName};
            SidebarItems.Add(sidebarItem);
            SidebarItemObjects.Add(sidebarItem, module);
        }