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(); }
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); }