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);
        }
Пример #2
0
        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));
        }
Пример #3
0
 public ProgressActiveScope Start(int toRange, CancellationToken ct, LongRunningState isLongRunning = LongRunningState.Detect)
 {
     return(StartInternal(0, toRange, ct, isLongRunning));
 }
Пример #4
0
 public ProgressActiveScope Start(int fromRange, int toRange, LongRunningState isLongRunning = LongRunningState.Detect)
 {
     return(StartInternal(fromRange, toRange, CancellationToken.None, isLongRunning));
 }
Пример #5
0
 public ProgressActiveScope Start(CancellationToken ct, LongRunningState isLongRunning = LongRunningState.Detect)
 {
     return(StartInternal(null, null, ct, isLongRunning));
 }