MainWindow skeleton

This commit is contained in:
2022-04-03 09:22:24 +02:00
parent 7ff3898bd9
commit b6b8a7b3f8
28 changed files with 432 additions and 105 deletions

View File

@@ -7,6 +7,7 @@ namespace FileTime.App.Core
{
ObservableCollection<ITabViewModel> Tabs { get; }
ITabViewModel? SelectedTab { get; }
IObservable<ITabViewModel?> SelectedTabObservable { get; }
IObservable<string?> SearchText { get; }
void AddTab(ITabViewModel tabViewModel);

View File

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

View File

@@ -1,6 +1,9 @@
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels
{
public interface IContainerViewModel : IItemViewModel
public interface IContainerViewModel : IItemViewModel, IInitable<IContainer, ITabViewModel, int>
{
}
}

View File

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

View File

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

View File

@@ -2,13 +2,15 @@ using System.Reactive.Subjects;
using FileTime.App.Core.Models;
using FileTime.App.Core.Models.Enums;
using FileTime.Core.Models;
using InitableService;
namespace FileTime.App.Core.ViewModels
{
public interface IItemViewModel
public interface IItemViewModel : IInitable<IItem, ITabViewModel, int>
{
IItem? BaseItem { get; set; }
IObservable<IReadOnlyList<ItemNamePart>>? DisplayName { get; set; }
string? DisplayNameText { get; set; }
IObservable<bool>? IsSelected { get; set; }
IObservable<bool>? IsMarked { get; set; }
BehaviorSubject<bool> IsAlternative { get; }

View File

@@ -5,12 +5,14 @@ using InitableService;
namespace FileTime.App.Core.ViewModels
{
public interface ITabViewModel : IInitable<ITab>
public interface ITabViewModel : IInitable<ITab, int>
{
ITab? Tab { get; }
int TabNumber { get; }
IObservable<bool> IsSelected { get; }
IObservable<IContainer?>? CurrentLocation { get; }
IObservable<IItemViewModel?>? CurrentSelectedItem { get; }
IObservable<IReadOnlyList<IItemViewModel>>? CurrentItems { get; }
IObservable<IReadOnlyList<FullName>> MarkedItems { get; }
ITab? Tab { get; }
}
}