bfr/BFR/MainWindowUIProperties.cs
adroslice 5633cd2afe Added Remove-Operation
- TODO: Find a way to re-use Replace-Operation-UI by omitting the replacement-option
2019-11-17 16:27:40 +01:00

46 lines
2.0 KiB
C#

using System.Collections.Generic;
using Avalonia;
using Avalonia.Collections;
using Avalonia.Controls;
using BFR.DataModels;
using BFR.Operations;
namespace BFR
{
public partial class MainWindow : Window
{
private readonly AvaloniaProperty<string> workingDirectoryProperty =
AvaloniaProperty.Register<MainWindow, string>(nameof(WorkingDirectory));
public string WorkingDirectory { get => GetValue(workingDirectoryProperty); set => SetValue(workingDirectoryProperty, value); }
public AvaloniaList<FileModel> AllFiles { get; } = new AvaloniaList<FileModel>();
public AvaloniaList<FileModel> Files { get; } = new AvaloniaList<FileModel>();
public AvaloniaList<Operation> Operations { get; } = new AvaloniaList<Operation>();
public int SelectedOperation { get; set; }
public int SelectedOperationType { get; set; } = 0;
public OperationType[] OperationTypes { get; } = new[]
{
OperationType.Make<Overwrite>(),
OperationType.Make<Replace>(),
OperationType.Make<Remove>(),
};
public readonly AvaloniaProperty<bool> isCommitButtonEnabled =
AvaloniaProperty.Register<MainWindow, bool>("IsCommitButtonEnabled", defaultValue: false);
public bool IsCommitButtonEnabled { get => GetValue(isCommitButtonEnabled); set => SetValue(isCommitButtonEnabled, value); }
public readonly AvaloniaProperty<int> undoCount =
AvaloniaProperty.Register<MainWindow, int>("UndoCount", defaultValue: 0);
public int UndoCount { get => GetValue(undoCount); set => SetValue(undoCount, value); }
private readonly Stack<List<FileModel>> UndoStack = new Stack<List<FileModel>>();
// Filters
public string FilterExtension { get; set; } = "";
public string FilterPattern { get; set; } = "";
public bool FilterFullName { get; set; } = false;
public bool FilterRegex { get; set; } = false;
}
}