/// <summary>
        /// Displays the output from NAnt after it has exited.
        /// </summary>
        /// <param name="sender">The event source.</param>
        /// <param name="e">The NAnt exit event arguments.</param>
        void NAntExited(object sender, NAntExitEventArgs e)
        {
            // Update output window.
            string outputText = String.Empty;

            System.Diagnostics.Debug.Assert(e.Error.Length == 0);

            outputText = String.Concat(outputText, e.Output);

            // Update task list.
            TaskCollection tasks = NAntOutputParser.Parse(outputText);

            foreach (Task task in tasks)
            {
                WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
            }

            // Bring task list to front.
            if (tasks.Count > 0 && ErrorListPad.ShowAfterBuild)
            {
                IWorkbench    workbench     = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench;
                PadDescriptor padDescriptor = workbench.GetPad(typeof(ErrorListPad));
                if (padDescriptor != null)
                {
                    WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor.BringPadToFront);
                }
            }
        }
        /// <summary>
        /// Displays the output from NAnt after it has exited.
        /// </summary>
        /// <param name="sender">The event source.</param>
        /// <param name="e">The NAnt exit event arguments.</param>
        void NAntExited(object sender, NAntExitEventArgs e)
        {
            // Update output window.
            string outputText = String.Empty;

            System.Diagnostics.Debug.Assert(e.Error.Length == 0);

            outputText = String.Concat(outputText, e.Output);

            // Update task list.
            TaskCollection tasks = NAntOutputParser.Parse(outputText);

            foreach (SDTask task in tasks)
            {
                SD.MainThread.InvokeAsyncAndForget(() => TaskService.Add(task));
            }

            // Bring task list to front.
            if (tasks.Count > 0 && ErrorListPad.ShowAfterBuild)
            {
                PadDescriptor padDescriptor = SD.Workbench.GetPad(typeof(ErrorListPad));
                if (padDescriptor != null)
                {
                    SD.MainThread.InvokeAsync(padDescriptor.BringPadToFront);
                }
            }
        }
		void NAntExited(object sender, NAntExitEventArgs e)
		{
			WorkbenchSingleton.SafeThreadAsyncCall(UpdateToolbar);
		}
 void NAntExited(object sender, NAntExitEventArgs e)
 {
     SD.MainThread.InvokeAsyncAndForget(UpdateToolbar);
 }
		/// <summary>
        /// Displays the output from NAnt after it has exited.
        /// </summary>
        /// <param name="sender">The event source.</param>
        /// <param name="e">The NAnt exit event arguments.</param>
        void NAntExited(object sender, NAntExitEventArgs e)
		{  
        	// Update output window.
        	string outputText = String.Empty;
        	
        	System.Diagnostics.Debug.Assert(e.Error.Length == 0);

        	outputText = String.Concat(outputText, e.Output);
			
			// Update task list.
			TaskCollection tasks = NAntOutputParser.Parse(outputText);
			foreach (SDTask task in tasks) {
				SD.MainThread.InvokeAsyncAndForget(() => TaskService.Add(task));
			}
			
			// Bring task list to front.
			if (tasks.Count > 0 && ErrorListPad.ShowAfterBuild) {
				PadDescriptor padDescriptor = SD.Workbench.GetPad(typeof(ErrorListPad));
				if (padDescriptor != null) {
					SD.MainThread.InvokeAsync(padDescriptor.BringPadToFront);
				}
			}
        }
		/// <summary>
        /// Displays the output from NAnt after it has exited.
        /// </summary>
        /// <param name="sender">The event source.</param>
        /// <param name="e">The NAnt exit event arguments.</param>
        void NAntExited(object sender, NAntExitEventArgs e)
		{  
        	// Update output window.
        	string outputText = String.Empty;
        	
        	System.Diagnostics.Debug.Assert(e.Error.Length == 0);

        	outputText = String.Concat(outputText, e.Output);
			
			// Update task list.
			TaskCollection tasks = NAntOutputParser.Parse(outputText);
			foreach (Task task in tasks) {
				WorkbenchSingleton.SafeThreadAsyncCall(TaskService.Add, task);
			}
			
			// Bring task list to front.
			if (tasks.Count > 0 && ErrorListPad.ShowAfterBuild) {				
				IWorkbench workbench = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench;
				PadDescriptor padDescriptor = workbench.GetPad(typeof(ErrorListPad));		
				if (padDescriptor != null) {
					WorkbenchSingleton.SafeThreadAsyncCall(padDescriptor.BringPadToFront);
				}
			}			
        }
 void NAntExited(object sender, NAntExitEventArgs e)
 {
     WorkbenchSingleton.SafeThreadAsyncCall(UpdateToolbar);
 }
		void NAntExited(object sender, NAntExitEventArgs e)
		{
			SD.MainThread.InvokeAsyncAndForget(UpdateToolbar);
		}