コード例 #1
0
        public FormStatus(ConsoleOutputControl aConsoleOutput, bool useDialogSettings)
            : base(true)
        {
            UseDialogSettings = useDialogSettings;
            if (aConsoleOutput == null)
            {
                ConsoleOutput = ConsoleOutputControl.CreateInstance();
            }
            else
            {
                ConsoleOutput = aConsoleOutput;
            }
            ConsoleOutput.Dock        = DockStyle.Fill;
            ConsoleOutput.Terminated += delegate { Close(); }; // This means the control is not visible anymore, no use in keeping. Expected scenario: user hits ESC in the prompt after the git process exits

            InitializeComponent();
            Translate();
            if (UseDialogSettings)
            {
                KeepDialogOpen.Checked = !GitCommands.AppSettings.CloseProcessDialog;
            }
            else
            {
                KeepDialogOpen.Hide();
            }
        }
コード例 #2
0
ファイル: FormStatus.cs プロジェクト: yang-0328/gitextensions
        public FormStatus(GitUICommands commands, [CanBeNull] ConsoleOutputControl consoleOutput, bool useDialogSettings)
            : base(commands, enablePositionRestore: true)
        {
            _useDialogSettings = useDialogSettings;

            ConsoleOutput             = consoleOutput ?? ConsoleOutputControl.CreateInstance();
            ConsoleOutput.Dock        = DockStyle.Fill;
            ConsoleOutput.Terminated += delegate { Close(); }; // This means the control is not visible anymore, no use in keeping. Expected scenario: user hits ESC in the prompt after the git process exits

            InitializeComponent();

            if (_useDialogSettings)
            {
                KeepDialogOpen.Checked = !AppSettings.CloseProcessDialog;
            }
            else
            {
                KeepDialogOpen.Hide();
            }

            // work-around the designer bug that can't add controls to FlowLayoutPanel
            ControlsPanel.Controls.Add(Abort);
            ControlsPanel.Controls.Add(Ok);
            ControlsPanel.Controls.Add(KeepDialogOpen);

            Controls.SetChildIndex(ProgressBar, 1);
            ProgressBar.Dock = DockStyle.Bottom;

            InitializeComplete();
        }
コード例 #3
0
        public FormProcess(ConsoleOutputControl outputControl, string process, string arguments, string workingDirectory, string input, bool useDialogSettings)
            : base(outputControl, useDialogSettings)
        {
            ProcessCallback  = ProcessStart;
            AbortCallback    = ProcessAbort;
            ProcessString    = process ?? AppSettings.GitCommand;
            ProcessArguments = arguments;
            Remote           = "";
            ProcessInput     = input;
            WorkingDirectory = workingDirectory;
            Text             = Text + " (" + WorkingDirectory + ")";

            ConsoleOutput.ProcessExited += delegate { OnExit(ConsoleOutput.ExitCode); };
            ConsoleOutput.DataReceived  += DataReceivedCore;
        }
コード例 #4
0
        private FormProcess(ConsoleOutputControl outputControl, [CanBeNull] string process, ArgumentString arguments, string workingDirectory, string input, bool useDialogSettings)
            : base(outputControl, useDialogSettings)
        {
            ProcessCallback  = ProcessStart;
            AbortCallback    = ProcessAbort;
            ProcessString    = process ?? AppSettings.GitCommand;
            ProcessArguments = arguments;
            Remote           = "";
            ProcessInput     = input;
            WorkingDirectory = workingDirectory;

            var displayPath = PathUtil.GetDisplayPath(WorkingDirectory);

            if (!string.IsNullOrWhiteSpace(displayPath))
            {
                Text += $" ({displayPath})";
            }

            ConsoleOutput.ProcessExited += delegate { OnExit(ConsoleOutput.ExitCode); };
            ConsoleOutput.DataReceived  += DataReceivedCore;
        }
コード例 #5
0
ファイル: FormStatus.cs プロジェクト: zhangaz1/gitextensions
        public FormStatus([CanBeNull] ConsoleOutputControl consoleOutput, bool useDialogSettings)
            : base(true)
        {
            _useDialogSettings = useDialogSettings;

            ConsoleOutput             = consoleOutput ?? ConsoleOutputControl.CreateInstance();
            ConsoleOutput.Dock        = DockStyle.Fill;
            ConsoleOutput.Terminated += delegate { Close(); }; // This means the control is not visible anymore, no use in keeping. Expected scenario: user hits ESC in the prompt after the git process exits

            InitializeComponent();

            if (_useDialogSettings)
            {
                KeepDialogOpen.Checked = !AppSettings.CloseProcessDialog;
            }
            else
            {
                KeepDialogOpen.Hide();
            }

            InitializeComplete();
        }
コード例 #6
0
        private void ConsoleDocumentView_Disposed(object sender, EventArgs e)
        {
            var scriptEditor = _ScriptEditor;

            if (scriptEditor != null)
            {
                scriptEditor.ListIntellisenseItems -= ScriptEditor_ListIntellisenseItems;
                scriptEditor.ScriptChanged         -= ScriptEditor_ScriptChanged;

                scriptEditor.Dispose();
                _ScriptEditor = null;
            }

            var consoleInputControl = _ConsoleInputControl;

            if (consoleInputControl != null)
            {
                consoleInputControl.ExecuteCommand        -= ExecuteCommandHandler;
                consoleInputControl.ListIntellisenseItems -= ScriptEditor_ListIntellisenseItems;
                consoleInputControl.ShowParseError        -= ScriptEditor_ShowParseError;

                consoleInputControl.Dispose();
                _ConsoleInputControl = null;
            }

            var consoleOutputControl = _ConsoleOutputControl;

            if (consoleOutputControl != null)
            {
                consoleOutputControl.RibbonUpdateRequest -= ConsoleOutputControl_RibbonUpdateRequest;
                consoleOutputControl.ConsoleLoaded       -= ConsoleOutputControl_ConsoleLoaded;

                consoleOutputControl.Dispose();
                _ConsoleOutputControl = null;
            }
        }
コード例 #7
0
        private void ViewEditors_QueryControl(object sender, DevExpress.XtraBars.Docking2010.Views.QueryControlEventArgs e)
        {
            switch (e.Document.ControlName)
            {
            case "docScript":
                if (_ScriptEditor == null)
                {
                    _ScriptEditor = new ScriptEditorControl();

                    var model = mvvmContext.GetViewModel <ConsoleDocumentViewModel>();
                    _ScriptEditor.LoadSyntax(model.Engine.SyntaxFile);
                    _ScriptEditor.DefaultExt             = model.Engine.DefaultExt;
                    _ScriptEditor.FileFilter             = model.Engine.FileFilter;
                    _ScriptEditor.ModifiedChanged       += ScriptEditor_ModifiedChanged;
                    _ScriptEditor.ListIntellisenseItems += ScriptEditor_ListIntellisenseItems;
                    _ScriptEditor.ScriptChanged         += ScriptEditor_ScriptChanged;

                    if (!string.IsNullOrWhiteSpace(model.FileName))
                    {
                        var scriptFileName = model.GetScriptFileName(model.FileName);
                        if (scriptFileName != null && File.Exists(scriptFileName))
                        {
                            _ScriptEditor.LoadFromFile(scriptFileName);
                        }
                    }
                }
                e.Control = _ScriptEditor;
                break;

            case "docConsole":
                if (_ConsoleOutputControl == null)
                {
                    var model = mvvmContext.GetViewModel <ConsoleDocumentViewModel>();
                    _ConsoleOutputControl   = new ConsoleOutputControl(model);
                    model.SynchronizeInvoke = _ConsoleOutputControl;

                    _ConsoleOutputControl.RibbonUpdateRequest += ConsoleOutputControl_RibbonUpdateRequest;
                    _ConsoleOutputControl.ConsoleLoaded       += ConsoleOutputControl_ConsoleLoaded;
                }
                e.Control = _ConsoleOutputControl;
                break;

            case "docCommandLine":
                if (_ConsoleInputControl == null)
                {
                    _ConsoleInputControl = new ConsoleInputControl()
                    {
                        MessagesVisible = false
                    };

                    var model = mvvmContext.GetViewModel <ConsoleDocumentViewModel>();

                    _ConsoleInputControl.LoadSyntax(model.Engine?.SyntaxFile);
                    _ConsoleInputControl.ExecuteCommand        += ExecuteCommandHandler;
                    _ConsoleInputControl.ListIntellisenseItems += ScriptEditor_ListIntellisenseItems;
                    _ConsoleInputControl.ShowParseError        += ScriptEditor_ShowParseError;
                }
                e.Control = _ConsoleInputControl;
                break;
            }
        }
コード例 #8
0
 private protected void AppendMessage(string text, ConsoleOutputControl consoleOutputControl)
 {
     consoleOutputControl.AppendMessageFreeThreaded(text);
 }