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));
 }
Example #3
0
 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));
 }
Example #4
0
 /// <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);
     }
 }
Example #5
0
        /// <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);
        }
Example #6
0
        /// <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);
        }
Example #7
0
 /// <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);
 }
Example #8
0
 /// <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);
 }
Example #9
0
        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);