using CommunityToolkit.Mvvm.ComponentModel;
namespace HC_APTBS.ViewModels.Dialogs
{
///
/// ViewModel for the WProgressDisplay dialog.
///
///
/// Shows a progress bar (0–100) and a verbose text line during long-running
/// K-Line operations. The dialog is closed by the parent when the operation
/// completes; this ViewModel simply exposes observable properties for binding.
///
///
public sealed partial class ProgressViewModel : ObservableObject
{
/// Title text shown in the dialog's title bar.
[ObservableProperty] private string _title = string.Empty;
/// Current progress value (0–100).
[ObservableProperty] private int _progressPercent;
/// Verbose status message describing the current step.
[ObservableProperty] private string _verboseMessage = string.Empty;
///
/// Updates both and
/// in a single call. Thread-safe: may be called from any thread because
/// the consumer is expected to marshal to the UI thread before calling.
///
public void Update(int percent, string message)
{
ProgressPercent = percent;
VerboseMessage = message;
}
}
}