/// <summary> /// Ensure that a task source for the output pane is created. If it is the first task source output, make it the visible task source output. /// </summary> /// <param name="tasksource">Name of the task source.</param> /// <param name="executingTask">The currently executing task.</param> /// <param name="executingTask">The executer the currently executing task is running in.</param> /// <returns>The existing or newly created task source output.</returns> internal TaskSourceOutput EnsureTaskSourceOutputForExecutingTask(string tasksource, Process executingProcess, Executer executer) { bool makeVisible = false; TaskSourceOutput tso; if (CurrentTaskSourceOutput == null) { makeVisible = true; } // Get TaskSource output tso = GetTaskSourceOutput(tasksource); if (tso == null) { tso = new TaskSourceOutput { TaskSource = tasksource, ExecutingProcess = executingProcess, ProcessExecuter = executer, Output = String.Empty }; _taskSourceOutputs.Add(tso); } else { tso.ExecutingProcess = executingProcess; tso.ProcessExecuter = executer; } if (makeVisible) { CurrentTaskSourceOutput = tso; WebMatrixContext.OutputPaneInstance.Show(tasksource); } return tso; }
public void Show(string tasksource) { this.Dispatcher.Invoke(new Action(() => { WebMatrixContext.EditorTaskPanelService.ShowBottomPane(); WebMatrixContext.EditorTaskPanelService.ShowTaskTab(OutputPane.OutputPaneTaskPanelId); CurrentTaskSourceOutput = _taskSourceOutputs.Where(n => n.TaskSource == tasksource).FirstOrDefault(); })); }