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 workingDirectoryProperty = AvaloniaProperty.Register(nameof(WorkingDirectory)); public string WorkingDirectory { get => GetValue(workingDirectoryProperty); set => SetValue(workingDirectoryProperty, value); } public AvaloniaList AllFiles { get; } = new AvaloniaList(); public AvaloniaList Files { get; } = new AvaloniaList(); public AvaloniaList Operations { get; } = new AvaloniaList(); public int SelectedOperation { get; set; } public int SelectedOperationType { get; set; } = 0; public OperationType[] OperationTypes { get; } = new[] { OperationType.Make(), OperationType.Make(), OperationType.Make(), }; public readonly AvaloniaProperty isCommitButtonEnabled = AvaloniaProperty.Register("IsCommitButtonEnabled", defaultValue: false); public bool IsCommitButtonEnabled { get => GetValue(isCommitButtonEnabled); set => SetValue(isCommitButtonEnabled, value); } public readonly AvaloniaProperty undoCount = AvaloniaProperty.Register("UndoCount", defaultValue: 0); public int UndoCount { get => GetValue(undoCount); set => SetValue(undoCount, value); } private readonly Stack> UndoStack = new Stack>(); // Filters public string FilterExtension { get; set; } = ""; public string FilterPattern { get; set; } = ""; public bool FilterFullName { get; set; } = false; public bool FilterRegex { get; set; } = false; } }