Some checks failed
LANCommander SDK Release / prep (push) Failing after 59s
LANCommander SDK Release / publish (push) Has been skipped
LANCommander Release / prep (push) Failing after 1m12s
LANCommander Release / build_server_linux_arm64 (push) Has been skipped
LANCommander Release / build_server_linux_x64 (push) Has been skipped
LANCommander Release / build_server_osx_arm64 (push) Has been skipped
LANCommander Release / build_server_osx_x64 (push) Has been skipped
LANCommander Release / build_server_win_arm64 (push) Has been skipped
LANCommander Release / build_server_win_x64 (push) Has been skipped
LANCommander Release / build_launcher_avalonia_linux_x64 (push) Has been skipped
LANCommander Release / build_launcher_avalonia_osx_arm64 (push) Has been skipped
LANCommander Release / build_launcher_avalonia_osx_x64 (push) Has been skipped
LANCommander Release / build_launcher_avalonia_win_x64 (push) Has been skipped
LANCommander Release / build_packager (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using System.ComponentModel;
|
|
|
|
namespace LANCommander.Packager.Models;
|
|
|
|
public enum StepState { Pending, Current, Completed }
|
|
|
|
public class WizardStepItem : INotifyPropertyChanged
|
|
{
|
|
private StepState _state = StepState.Pending;
|
|
|
|
public int Index { get; init; }
|
|
public string Title { get; init; } = "";
|
|
public bool ShowTopLine => Index > 0;
|
|
public bool ShowBottomLine => Index < 6;
|
|
|
|
public StepState State
|
|
{
|
|
get => _state;
|
|
set
|
|
{
|
|
if (_state != value)
|
|
{
|
|
_state = value;
|
|
|
|
PropertyChanged?.Invoke(this, new(nameof(State)));
|
|
PropertyChanged?.Invoke(this, new(nameof(IsCurrent)));
|
|
PropertyChanged?.Invoke(this, new(nameof(IsCompleted)));
|
|
PropertyChanged?.Invoke(this, new(nameof(IsPending)));
|
|
PropertyChanged?.Invoke(this, new(nameof(TextOpacity)));
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool IsCurrent => State == StepState.Current;
|
|
public bool IsCompleted => State == StepState.Completed;
|
|
public bool IsPending => State == StepState.Pending;
|
|
|
|
public double TextOpacity => State switch
|
|
{
|
|
StepState.Current => 1.0,
|
|
StepState.Completed => 0.7,
|
|
_ => 0.4
|
|
};
|
|
|
|
public event PropertyChangedEventHandler? PropertyChanged;
|
|
}
|