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.

25 lines
772 B

1 year ago
using CommunityToolkit.Mvvm.ComponentModel;
namespace StabilityMatrix.Avalonia.ViewModels.Base;
1 year ago
/// <summary>
/// Generic view model for progress reporting.
/// </summary>
public partial class ProgressViewModel : ViewModelBase
1 year ago
{
[ObservableProperty, NotifyPropertyChangedFor(nameof(IsTextVisible))]
private string? text;
[ObservableProperty]
private string? description;
1 year ago
[ObservableProperty, NotifyPropertyChangedFor(nameof(IsProgressVisible))]
1 year ago
private double value;
[ObservableProperty, NotifyPropertyChangedFor(nameof(IsProgressVisible))]
1 year ago
private bool isIndeterminate;
public virtual bool IsProgressVisible => Value > 0 || IsIndeterminate;
public virtual bool IsTextVisible => !string.IsNullOrWhiteSpace(Text);
1 year ago
}