Пример #1
0
        public TabViewManagerViewModel(ITabViewManager tabViewManager, IWindowManager windowManager)
        {
            TabViewManager     = tabViewManager;
            this.windowManager = windowManager;

            OnTabViewAdded(TabViewManager.MainTabView);
            OnTabViewAdded(TabViewManager.SolutionExplorerTabView);
            OnTabViewAdded(TabViewManager.TerminalTabView);

            TabViewManager.TabViews.CollectionChanged += OnTabViewsCollectionChanged;

            SaveCommand     = new RelayCommand(() => _ = (SelectedTab as IEditor)?.TryEditAsync(EditActions.Save), () => (SelectedTab as IEditor)?.SupportsAction(EditActions.Save) ?? false);
            OpenTabCommand  = new RelayCommand <object>(tabViewManager.OpenTab);
            CloseTabCommand = new RelayCommand <object>(tabViewManager.CloseTab);
        }
        public SolutionExplorerViewModel(
            ISolutionLoader solutionLoader,
            IFileEditorViewFactory editorViewFactory,
            IPropertyManager propertyManager,
            ITabViewManager tabViewManager)
        {
            this.solutionLoader    = solutionLoader;
            this.editorViewFactory = editorViewFactory;
            this.propertyManager   = propertyManager;
            this.tabViewManager    = tabViewManager;

            if (solutionLoader.RootFolder != null)
            {
                RootFolder = new StorageFolderViewModel(solutionLoader.RootFolder)
                {
                    IsExpanded = true
                };
            }

            solutionLoader.RootFolderLoaded += (s, e) =>
            {
                RootFolder = new StorageFolderViewModel(e.RootFolder)
                {
                    IsExpanded = true
                };
            };

            solutionLoader.StorageLibraryChanged += OnSolutionLoaderStorageLibraryChanged;

            AddFileCommand        = new RelayCommand <StorageFolderViewModel>(folder => _ = AddFileAsync(folder), folder => folder != null);
            AddFolderCommand      = new RelayCommand <StorageFolderViewModel>(folder => _ = AddFolderAsync(folder), folder => folder != null);
            BuildCommand          = new RelayCommand <StorageFileViewModel>(file => _ = BuildAsync(file));
            OpenCommand           = new RelayCommand <StorageItemViewModel>(item => _ = OpenAsync(item), item => item != null);
            ViewCodeCommand       = new RelayCommand <StorageFileViewModel>(file => _ = ViewCodeAsync(file), file => file != null);
            DeleteCommand         = new RelayCommand <StorageItemViewModel>(item => _ = DeleteAsync(item), item => item != null);
            ShowPropertiesCommand = new RelayCommand <StorageItemViewModel>(ShowProperties, item => item != null);
            RefreshCommand        = new RelayCommand <StorageFolderViewModel>(folder => _ = folder.FillAsync(), folder => folder != null);
        }
Пример #3
0
 public PropertyManagerViewModel(IPropertyManager propertyManager, ITabViewManager tabViewManager)
 {
     propertyManager.PropertyViewRequested += (s, e) => ShowProperties(e.Value);
     this.tabViewManager = tabViewManager;
 }