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); }
public PropertyManagerViewModel(IPropertyManager propertyManager, ITabViewManager tabViewManager) { propertyManager.PropertyViewRequested += (s, e) => ShowProperties(e.Value); this.tabViewManager = tabViewManager; }