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 { public static 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 static readonly AvaloniaProperty IsCommitButtonEnabledProperty = AvaloniaProperty.Register("IsCommitButtonEnabled", defaultValue: false); public bool IsCommitButtonEnabled { get => GetValue(IsCommitButtonEnabledProperty); set => SetValue(IsCommitButtonEnabledProperty, value); } public static readonly AvaloniaProperty UndoCountProperty = AvaloniaProperty.Register("UndoCount", defaultValue: 0); public int UndoCount { get => GetValue(UndoCountProperty); set => SetValue(UndoCountProperty, 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; } }