Exemplo n.º 1
0
        public static Session CreateSession(IWaitDialog waitDialog)
        {
            var cancellationTokenSource = new CancellationTokenSource();
            var progress             = (IProgress <WaitDialogProgressData>) new ProgressAdapter(waitDialog, cancellationTokenSource);
            var cancellationCallback = new CancellationCallback(cancellationTokenSource);

            return(new Session(waitDialog, progress, cancellationTokenSource.Token, cancellationCallback));
        }
Exemplo n.º 2
0
        public ConsoleKeyInfo ReadKey()
        {
            var keyInfo = Console.ReadKey(true);

            if (keyInfo.Key == ConsoleKey.C && keyInfo.Modifiers == ConsoleModifiers.Control)
            {
                CancellationCallback?.Invoke();
            }

            return(keyInfo);
        }
Exemplo n.º 3
0
        public static Session StartWaitDialog(this WaitDialogFactory factory, string waitCatption,
                                              WaitDialogProgressData initialProgress = null, TimeSpan delayToShow = default)
        {
            var instance           = factory.CreateInstance();
            var cancellationSource = new CancellationTokenSource();
            var progress           = new ProgressAdapter(instance, cancellationSource);
            var callback           = new CancellationCallback(cancellationSource);

            instance.StartWaitDialogWithCallback(waitCatption, initialProgress?.WaitMessage,
                                                 initialProgress?.ProgressText, initialProgress != null && initialProgress.IsCancelable, (int)delayToShow.TotalSeconds, true, initialProgress?.TotalSteps ?? 0,
                                                 initialProgress?.CurrentStep ?? 0, callback);
            return(new Session(instance, progress, cancellationSource.Token, callback));
        }
 private void Cancel()
 {
     CancellationCallback?.Invoke();
 }