internal static FileItemViewModel CreateFileItemVM(FileItemModel fileItemModel, IExplorerTreeItemModelViewModelParser explorerTreeItemModelViewModelParser, IConfiguration configuration, IExplorerTreeItemViewModel parentItemVM) { return(new FileItemViewModel(fileItemModel, explorerTreeItemModelViewModelParser, configuration, parentItemVM)); }
internal static DirectoryItemViewModel CreateDirectoryItemVM (DirectoryItemModel directoryItemModel, IExplorerTreeItemModelViewModelParser explorerTreeItemModelViewModelParser, IConfiguration configuration, IExplorerTreeItemViewModel parentItemVM) { return(new DirectoryItemViewModel(directoryItemModel, explorerTreeItemModelViewModelParser, configuration, parentItemVM)); }
private static DriveItemViewModel CreateDriveItemViewModel( FakeDriveItemModel fakeDriveItemModel = null, IExplorerTreeItemModelViewModelParser fakeExplorerTreeItemModelViewModelParser = null, IConfiguration fakeConfiguration = null, IExplorerTreeItemViewModel fakeParentItem = null) { fakeDriveItemModel = fakeDriveItemModel ?? new FakeDriveItemModel(); fakeExplorerTreeItemModelViewModelParser = fakeExplorerTreeItemModelViewModelParser ?? Substitute.For <IExplorerTreeItemModelViewModelParser>(); fakeConfiguration = fakeConfiguration ?? CreateConfiguration(); return(new DriveItemViewModel(fakeDriveItemModel, fakeExplorerTreeItemModelViewModelParser, fakeConfiguration)); }
/// <summary> /// Warning: Please don't use <see cref="GetAllFakeDirectories"></see> or <see cref="GetAllFakeFiles"/> /// so that the same methods are not used for the unit tests /// </summary> private void ForEachDirectoryCreate1FileRecursivly(IExplorerTreeItemViewModel driveOrDirectory) { foreach (var item in driveOrDirectory.ChildTreeItemVMs) { if (item is FakeDirectoryItemViewModel) { (item as FakeDirectoryItemViewModel).CreateAddAndGetFakeFile( item.FullName + "FakeFile_1"); } this.ForEachDirectoryCreate1FileRecursivly(item); } }
/// <summary> /// Not testable, because <see cref="IsMultiselectActive()"/> throws thread exception (STA-Thread Exception) /// if the calling thrad is not the STA-Thread /// </summary> internal override bool IsSelectedHasChanged(bool isSelected, IExplorerTreeItemViewModel directoryVM) { var directory = directoryVM as DirectoryItemViewModel; if (IsMultiselectActive()) { isSelected = this.MultiselectDesicions(isSelected, directory); } else { this.AddOrRemoveDirectoryAccordingToIsSelected(isSelected, directory); } return(isSelected); }
/// <summary> /// Not testable, because <see cref="IsMultiselectActive()"/> throws thread exception (STA-Thread Exception) /// if the calling thrad is not the STA-Thread /// </summary> internal override bool IsSelectedHasChanged(bool isSelected, IExplorerTreeItemViewModel fileVM) { var file = fileVM as FileItemViewModel; if (IsMultiselectActive()) { isSelected = this.MultiselectDesicions(isSelected, file); } else { this.AddOrRemoveFileAccordingToIsSelected(isSelected, file); } return(isSelected); }
/// <summary> /// /// <para> /// Exclusively use <see cref="ExplorerTreeItemViewModelsFactory"/> /// to instantiate this class. /// -> Except for test purposes. /// </para> /// </summary> internal FileItemViewModel(FileItemModel fileItemModel, IExplorerTreeItemModelViewModelParser explorerTreeItemModelViewModelParser, IConfiguration configuration, IExplorerTreeItemViewModel parentItemVM) : base() { this.Configuration = configuration; this.ChildTreeItemVMs = new ObservableCollection <AExplorerTreeChildItemViewModel>(); this.ExplorerTreeItemModelViewModelParser = explorerTreeItemModelViewModelParser; this.ExplorerTreeVM = configuration.ExplorerTreeVM; this.FileItemModel = fileItemModel; this.FontVM = new FontViewModel(this.Configuration.File.Font); this.FullName = fileItemModel.FullName; this.IsExpanded = false; this.IsSelected = false; this.IsHidden = fileItemModel.IsHidden; this.IconVM = new IconViewModel(fileItemModel.IconModel, this.Configuration.File.Icon); this.Name = fileItemModel.Name; this.ParentItem = parentItemVM; this.SetVisibilityAccordingToConfigruation(configuration.HiddenOverall); }
/// <summary> /// /// <para> /// Exclusively use <see cref="ExplorerTreeItemViewModelsFactory"/> /// to instantiate this class. /// -> Except for test purposes. /// </para> /// </summary> internal DirectoryItemViewModel (DirectoryItemModel directoryItemModel, IExplorerTreeItemModelViewModelParser explorerTreeItemModelViewModelParser, IConfiguration configuration, IExplorerTreeItemViewModel parentItemVM) : base() { this.Configuration = configuration; this.ChildTreeItemVMs = new ObservableCollection <AExplorerTreeChildItemViewModel>(); this.DirectoryItemModel = directoryItemModel; this.ExplorerTreeItemModelViewModelParser = explorerTreeItemModelViewModelParser; this.ExplorerTreeVM = configuration.ExplorerTreeVM; this.FontVM = new FontViewModel(configuration.Directory.Font); this.FullName = directoryItemModel.FullName; this.IsExpanded = false; this.IsSelected = false; this.IsHidden = directoryItemModel.IsHidden; this.IconVM = new IconViewModel(directoryItemModel.IconModel, configuration.Directory.Icon); this.Name = directoryItemModel.Name; this.ParentItem = parentItemVM; this.AddDummyTreeViewItemToBeExpandable(); this.SetVisibilityAccordingToConfigruation(configuration.HiddenOverall); }
private ObservableCollection <AExplorerTreeChildItemViewModel> ConvertExplorerTreeChildItemModelsInExplorerTreeChildItemVMs (IExplorerTreeItemViewModel parentItemVM, List <AExplorerTreeChildItemModel> explorerTreeChildItemModels) { parentItemVM.ChildTreeItemVMs.Clear(); // first clear. because: in case of refresh and to delete the dummy-Items. foreach (var child in explorerTreeChildItemModels) { if (child is DirectoryItemModel) { var directoryItemVM = ExplorerTreeItemViewModelsFactory.CreateDirectoryItemVM( child as DirectoryItemModel, this, this.Configuration, parentItemVM); parentItemVM.ChildTreeItemVMs.Add(directoryItemVM); } else if (child is FileItemModel) { var fileItemVM = ExplorerTreeItemViewModelsFactory.CreateFileItemVM( child as FileItemModel, this, this.Configuration, parentItemVM); parentItemVM.ChildTreeItemVMs.Add(fileItemVM); } } return(parentItemVM.ChildTreeItemVMs); }
internal abstract bool IsSelectedHasChanged(bool isSelected, IExplorerTreeItemViewModel driveVM);