示例#1
0
        private void runCommands()
        {
            if (!tryGetSelectedCommands())
            {
                return;
            }

            if (!confirmContinueWithUndoables(_selectedCommandConfigurations))
            {
                return;
            }

            statusWindow.Clear();
            ThreadStart starter = new ThreadStart(() => {
                FormMode     = FormModeEnum.RunningCommands;
                CancelStatus = CancellationStatusEnum.None;

                _controller.Run(_selectedCommandConfigurations);
            });

            starter += () => {
                writeSummary();
                FormMode     = FormModeEnum.Ready;
                CancelStatus = CancellationStatusEnum.None;
            };
            var thread = new Thread(starter);

            thread.Start();
        }
示例#2
0
        private void cancelButton_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show($"Are you sure you want to cancel?{Environment.NewLine}Cancelling will undo the commands in this run.",
                                "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }

            _controller.Cancel();
            CancelStatus = CancellationStatusEnum.Pending;
        }
示例#3
0
        private void didChangeCancelStatus(CancellationStatusEnum value)
        {
            switch (value)
            {
            case CancellationStatusEnum.Pending:
                setText(cancelButton, "Cancelling...");
                setEnabled(cancelButton, false);
                break;

            case CancellationStatusEnum.None:
            case CancellationStatusEnum.Done:
            default:
                setText(cancelButton, "Cancel");
                setEnabled(cancelButton, true);
                break;
            }
            _wasCommandCancelled = value == CancellationStatusEnum.Pending;
        }