bfr/BFR/MainWindowUIProperties.cs
2019-11-23 18:32:10 +01:00

49 lines
2.2 KiB
C#

using System.Collections.Generic;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Collections;
using BFR.DataModels;
using BFR.Operations;
namespace BFR
{
public partial class MainWindow : Window
{
public static 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>(),
OperationType.Make<Number>(),
OperationType.Make<Add>(),
OperationType.Make<Sort>(),
};
public static readonly AvaloniaProperty<bool> IsCommitButtonEnabledProperty =
AvaloniaProperty.Register<MainWindow, bool>("IsCommitButtonEnabled", defaultValue: false);
public bool IsCommitButtonEnabled { get => GetValue(IsCommitButtonEnabledProperty); set => SetValue(IsCommitButtonEnabledProperty, value); }
public static readonly AvaloniaProperty<int> UndoCountProperty =
AvaloniaProperty.Register<MainWindow, int>("UndoCount", defaultValue: 0);
public int UndoCount { get => GetValue(UndoCountProperty); set => SetValue(UndoCountProperty, 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;
}
}