示例#1
0
        public OutputPanel(EditorForm editorForm, IconMenuItem buildMenu)
        {
            this.editorForm = editorForm;
            this.buildMenu = buildMenu;

            TabStop = true;

            outputTextBox = new OutputTextbox();

            outputTextBox.Dock = DockStyle.Fill;
            outputTextBox.ScrollBars = RichTextBoxScrollBars.Both;
            outputTextBox.WordWrap = WixEditSettings.Instance.WordWrapInResultsPanel;
            outputTextBox.AllowDrop = false;

            Controls.Add(outputTextBox);

            outputTextBox.TabStop = true;
            outputTextBox.HideSelection = false;

            outputTextBox.MouseUp += new MouseEventHandler(outputTextBox_MouseDown);

            doubleClickTimer.Interval = 100;
            doubleClickTimer.Tick += new EventHandler(doubleClickTimer_Tick);

            cancelMenuItem = new IconMenuItem();
            cancelMenuItem.Text = "Cancel Action";
            cancelMenuItem.Click += new EventHandler(cancelMenuItem_Click);
            cancelMenuItem.Shortcut = Shortcut.CtrlC;
            cancelMenuItem.ShowShortcut = true;

            invokeClearRTF = new DelegateClearRtf(ClearRtf);
            invokeOutput = new DelegateOutput(Output);
            invokeOutputLine = new DelegateOutputLine(OutputLine);
            invokeOutputStart = new DelegateOutputStart(OutputStart);
            invokeOutputDone = new DelegateOutputDone(OutputDone);
            invokeProcessDone = new DelegateProcessDone(ProcessDone);
        }
示例#2
0
        public void Run(ProcessStartInfo processStartInfo, WixFiles theWixFiles, OnCompleteDelegate onComplete)
        {
            if (IsBusy)
            {
                throw new WixEditException("OutputPanel is already busy.");
            }

            wixFiles = theWixFiles;
            onCompletedOutput = onComplete;

            invokeClearRTF = new DelegateClearRtf(ClearRtf);
            invokeOutput = new DelegateOutput(Output);
            invokeOutputLine = new DelegateOutputLine(OutputLine);
            invokeOutputStart = new DelegateOutputStart(OutputStart);
            invokeOutputDone = new DelegateOutputDone(OutputDone);
            invokeProcessDone = new DelegateProcessDone(ProcessDone);

            isCancelled = false;

            buildMenu.MenuItems.Add(cancelMenuItem);
            outputTextBox.Cursor = Cursors.WaitCursor;

            currentProcessStartInfo = processStartInfo;

            currentProcessThread = new Thread(new ThreadStart(InternalThreadRunSingle));
            currentProcessThread.Start();
        }