/// <summary> /// Class constructor /// </summary> public ListControllerViewModel() { _SlowStuffSemaphore = new SemaphoreSlim(1, 1); _OneTaskScheduler = new OneTaskLimitedScheduler(); _CancelTokenSource = new CancellationTokenSource(); FolderItemsView = FileListView.Factory.CreateFileListViewModel(); FolderTextPath = FolderControlsLib.Factory.CreateFolderComboBoxVM(); RecentFolders = FileSystemModels.Factory.CreateBookmarksViewModel(); // This is fired when the user selects a new folder bookmark from the drop down button WeakEventManager <ICanNavigate, BrowsingEventArgs> .AddHandler(RecentFolders, "BrowseEvent", Control_BrowseEvent); // This is fired when the text path in the combobox changes to another existing folder WeakEventManager <ICanNavigate, BrowsingEventArgs> .AddHandler(FolderTextPath, "BrowseEvent", Control_BrowseEvent); Filters = FilterControlsLib.Factory.CreateFilterComboBoxViewModel(); WeakEventManager <IFilterComboBoxViewModel, FilterChangedEventArgs> .AddHandler(Filters, "OnFilterChanged", FileViewFilter_Changed); // This is fired when the current folder in the listview changes to another existing folder WeakEventManager <ICanNavigate, BrowsingEventArgs> .AddHandler(FolderItemsView, "BrowseEvent", Control_BrowseEvent); // This is fired when the user requests to add a folder into the list of recently visited folders WeakEventManager <IEditBookmarks, EditBookmarkEvent> .AddHandler(FolderItemsView.BookmarkFolder, "RequestEditBookmarkedFolders", FolderItemsView_RequestEditBookmarkedFolders); // This event is fired when a user opens a file WeakEventManager <IFileOpenEventSource, FileOpenEventArgs> .AddHandler(FolderItemsView, "OnFileOpen", FolderItemsView_OnFileOpen); }
/// <summary> /// Source: http://www.codeproject.com/Articles/15360/Implementing-IDisposable-and-the-Dispose-Pattern-P /// </summary> /// <param name="disposing"></param> protected virtual void Dispose(bool disposing) { if (_disposed == false) { if (disposing == true) { // Dispose of the currently used inner disposables _OneTaskScheduler.Dispose(); _Semaphore.Dispose(); _CancelTokenSource.Dispose(); TaskQueue.Dispose(); _OneTaskScheduler = null; _Semaphore = null; _CancelTokenSource = null; } // There are no unmanaged resources to release, but // if we add them, they need to be released here. } _disposed = true; //// If it is available, make the call to the //// base class's Dispose(Boolean) method ////base.Dispose(disposing); }
/// <summary> /// Class constructor. /// </summary> public BreadCrumbControllerViewModel() { _Semaphore = new SemaphoreSlim(1, 1); _OneTaskScheduler = new OneTaskLimitedScheduler(); _CancelTokenSource = new CancellationTokenSource(); TaskQueue = new BrowseRequestTaskQueueViewModel(); // Initialize Breadcrumb Tree ViewModel and SpecialFolders Test ViewModel BreadcrumbBrowser = new BreadcrumbViewModel(this as INavigationController); WeakEventManager <ICanNavigate, BrowsingEventArgs> .AddHandler(BreadcrumbBrowser, "BrowseEvent", Control_BrowseEvent); }
/// <summary> /// Class constructor /// </summary> public DiffSideViewModel() { _position = new DiffViewPosition(0, 0); _DocLineDiffsLock = new object(); _DocLineDiffs = new ObservableRangeCollection <IDiffLineViewModel>(); BindingOperations.EnableCollectionSynchronization(_DocLineDiffs, _DocLineDiffsLock); _Line = 0; _Column = 0; _TxtControl = new TextBoxController(); _ViewActivation = DateTime.MinValue; _oneTaskScheduler = new OneTaskLimitedScheduler(); }
/// <summary>Class constructor</summary> public DiffSideViewModel() { _position = new DiffViewPosition(0, 0); _DocLineDiffsLock = new object(); _DocLineDiffs = new ObservableRangeCollection <IDiffLineViewModel>(); BindingOperations.EnableCollectionSynchronization(_DocLineDiffs, _DocLineDiffsLock); _ViewActivation = DateTime.MinValue; _oneTaskScheduler = new OneTaskLimitedScheduler(); CurrentViewMode = DisplayMode.Comparing; _DocumentViews = new ObservableCollection <DiffSideTextViewModel>(); SetDocumentViews(string.Empty, string.Empty, Encoding.Default, string.Empty, false); }
/// <summary> /// Class constructor /// </summary> public FileExplorerViewModel(ISettingsManager programSettings, IFileOpenService fileOpenService) : base("Explorer") { base.ContentId = ToolContentId; this.mFileOpenService = fileOpenService; this.OnActiveDocumentChanged(null, null); // _SlowStuffSemaphore = new SemaphoreSlim(1, 1); _OneTaskScheduler = new OneTaskLimitedScheduler(); _CancelTokenSourc = new CancellationTokenSource(); FolderItemsView = FileListView.Factory.CreateFileListViewModel(); FolderTextPath = FolderControlsLib.Factory.CreateFolderComboBoxVM(); RecentFolders = FileSystemModels.Factory.CreateBookmarksViewModel(); TreeBrowser = FolderBrowser.FolderBrowserFactory.CreateBrowserViewModel(false); // This is fired when the user selects a new folder bookmark from the drop down button RecentFolders.BrowseEvent += FolderTextPath_BrowseEvent; // This is fired when the text path in the combobox changes to another existing folder FolderTextPath.BrowseEvent += FolderTextPath_BrowseEvent; Filters = FilterControlsLib.Factory.CreateFilterComboBoxViewModel(); Filters.OnFilterChanged += this.FileViewFilter_Changed; // This is fired when the current folder in the listview changes to another existing folder this.FolderItemsView.BrowseEvent += FolderTextPath_BrowseEvent; // Event fires when the user requests to add a folder into the list of recently visited folders this.FolderItemsView.BookmarkFolder.RequestEditBookmarkedFolders += this.FolderItemsView_RequestEditBookmarkedFolders; // This event is fired when a user opens a file this.FolderItemsView.OnFileOpen += this.FolderItemsView_OnFileOpen; TreeBrowser.BrowseEvent += FolderTextPath_BrowseEvent; // Event fires when the user requests to add a folder into the list of recently visited folders TreeBrowser.BookmarkFolder.RequestEditBookmarkedFolders += this.FolderItemsView_RequestEditBookmarkedFolders; ExplorerSettingsModel settings = null; if (programSettings != null) { if (programSettings.SessionData != null) { settings = programSettings.SettingData.ExplorerSettings; } } if (settings == null) { settings = new ExplorerSettingsModel(); } if (programSettings.SessionData.LastActiveExplorer != null) { settings.SetUserProfile(programSettings.SessionData.LastActiveExplorer); } else { settings.UserProfile.SetCurrentPath(@"C:"); } if (settings.UserProfile.CurrentPath != null) { _InitialPath = settings.UserProfile.CurrentPath.Path; } this.ConfigureExplorerSettings(settings); this.mFileOpenMethod = this.mFileOpenService.FileOpen; }