internal ProgressActiveScope(RangeProgress progress, LongRunningState isLongRunning) { _progress = progress; SetActive(true); if (isLongRunning == LongRunningState.Yes) { SetIsRunningForLong(true); } else { SetIsRunningForLong(false); if (isLongRunning == LongRunningState.Detect) { _delayForLongRunningSetFlag = new Timer(_delayForLongRunningSetFlag_Tick, null, 1000, -1); } } _internalProgress = ObservableProgress <int> .CreateForUi((value) => { _progress.Current = value; }); GC.SuppressFinalize(this); }
private ProgressActiveScope StartInternal(int?fromRange, int?toRange, CancellationToken ct, LongRunningState isLongRunning) { if (fromRange.HasValue && toRange.HasValue) { From = fromRange.Value; To = toRange.Value; Current = fromRange.Value; IsIndeterminate = false; } else { From = 0; To = 0; Current = 0; IsIndeterminate = true; } CancellationToken = ct; Title = "Working..."; return(new ProgressActiveScope(this, isLongRunning)); }
public ProgressActiveScope Start(int toRange, CancellationToken ct, LongRunningState isLongRunning = LongRunningState.Detect) { return(StartInternal(0, toRange, ct, isLongRunning)); }
public ProgressActiveScope Start(int fromRange, int toRange, LongRunningState isLongRunning = LongRunningState.Detect) { return(StartInternal(fromRange, toRange, CancellationToken.None, isLongRunning)); }
public ProgressActiveScope Start(CancellationToken ct, LongRunningState isLongRunning = LongRunningState.Detect) { return(StartInternal(null, null, ct, isLongRunning)); }