Multi-Platform Package Manager for Stable Diffusion
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.ComponentModel;
|
|
|
|
using Avalonia.PropertyGrid.ViewModels;
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
using OneOf;
|
|
|
|
using StabilityMatrix.Avalonia.ViewModels.Base;
|
|
|
|
using StabilityMatrix.Avalonia.Views.Dialogs;
|
|
|
|
using StabilityMatrix.Core.Attributes;
|
|
|
|
|
|
|
|
namespace StabilityMatrix.Avalonia.ViewModels.Dialogs;
|
|
|
|
|
|
|
|
[View(typeof(PropertyGridDialog))]
|
|
|
|
[ManagedService]
|
|
|
|
[Transient]
|
|
|
|
public partial class PropertyGridViewModel : TaskDialogViewModelBase
|
|
|
|
{
|
|
|
|
[ObservableProperty]
|
|
|
|
[NotifyPropertyChangedFor(nameof(SelectedObjectItemsSource))]
|
|
|
|
private OneOf<INotifyPropertyChanged, IEnumerable<INotifyPropertyChanged>>? selectedObject;
|
|
|
|
|
|
|
|
public IEnumerable<INotifyPropertyChanged>? SelectedObjectItemsSource =>
|
|
|
|
SelectedObject?.Match(single => [single], multiple => multiple);
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
private PropertyGridShowStyle showStyle = PropertyGridShowStyle.Alphabetic;
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
private IReadOnlyList<string>? excludeCategories;
|
|
|
|
|
|
|
|
[ObservableProperty]
|
|
|
|
private IReadOnlyList<string>? includeCategories;
|
|
|
|
}
|