Possible commands, IsAlternative fix

This commit is contained in:
2022-05-08 22:45:56 +02:00
parent 9bf95ebe4e
commit 5b9d0667cc
17 changed files with 184 additions and 64 deletions

View File

@@ -0,0 +1,8 @@
namespace FileTime.App.Core.Models.Enums;
public enum ItemViewModelType
{
Main,
SelectedChild,
Parent
}

View File

@@ -1,9 +1,10 @@
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IContainerSizeContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel>
public interface IContainerSizeContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel, ItemViewModelType>
{
long Size { get; set; }
}

View File

@@ -1,9 +1,10 @@
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel>
public interface IContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel, ItemViewModelType>
{
IContainer? Container { get; }
}

View File

@@ -1,9 +1,10 @@
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IElementViewModel : IItemViewModel, IInitable<IElement, ITabViewModel>
public interface IElementViewModel : IItemViewModel, IInitable<IElement, ITabViewModel, ItemViewModelType>
{
long? Size { get; set; }
}

View File

@@ -1,8 +1,9 @@
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IFileViewModel : IElementViewModel, IInitable<IFileElement, ITabViewModel>
public interface IFileViewModel : IElementViewModel, IInitable<IFileElement, ITabViewModel, ItemViewModelType>
{
}

View File

@@ -5,7 +5,7 @@ using InitableService;
namespace FileTime.App.Core.ViewModels;
public interface IItemViewModel : IInitable<IItem, ITabViewModel>
public interface IItemViewModel : IInitable<IItem, ITabViewModel, ItemViewModelType>
{
IItem? BaseItem { get; set; }
IObservable<IReadOnlyList<ItemNamePart>>? DisplayName { get; set; }

View File

@@ -22,6 +22,8 @@ public interface ITabViewModel : IInitable<ITab, int>
BindedCollection<IItemViewModel>? SelectedsChildrenCollection { get; }
BindedCollection<IItemViewModel>? ParentsChildrenCollection { get; }
IObservable<IReadOnlyCollection<IItemViewModel>?> CurrentItemsCollectionObservable { get; }
IObservable<IReadOnlyCollection<IItemViewModel>?> ParentsChildrenCollectionObservable { get; }
IObservable<IReadOnlyCollection<IItemViewModel>?> SelectedsChildrenCollectionObservable { get; }
void ClearMarkedItems();
void RemoveMarkedItem(IAbsolutePath item);
void AddMarkedItem(IAbsolutePath item);