public void PersistSpeechTabSettings(SpeechConfiguration configuration)
		{
            configuration.Enabled = this.checkBoxSpeechEnabled.Checked;
            configuration.SpeakBuildStarted = this.checkBoxSpeakBuildStartedEvents.Checked;
            configuration.SpeakBuildSucceded = this.checkBoxSpeakBuildSuccededEvents.Checked;
            configuration.SpeakBuildFailed = this.checkBoxSpeakBuildFailedEvents.Checked;
		}
        public void CanBindToDefaultConfiguration()
        {
        	SpeechSettingsControl control = new SpeechSettingsControl();

        	SpeechConfiguration configuration = new SpeechConfiguration();
            control.BindSpeechControls(configuration);
        }
		public void BindSpeechControls(SpeechConfiguration configuration)
		{
            this.checkBoxSpeechEnabled.Checked = configuration.Enabled;
            this.checkBoxSpeakBuildStartedEvents.Checked = configuration.SpeakBuildStarted;
            this.checkBoxSpeakBuildSuccededEvents.Checked = configuration.SpeakBuildSucceded;
            this.checkBoxSpeakBuildFailedEvents.Checked = configuration.SpeakBuildFailed;
		}
        public SpeakingProjectMonitor (IProjectMonitor monitor, IBalloonMessageProvider balloonMessageProvider, SpeechConfiguration configuration) {
        	this.monitor = monitor;
        	this.balloonMessageProvider = balloonMessageProvider;

			if (configuration != null && configuration.Enabled)
			{
				speakBuildSucceded = configuration.SpeakBuildSucceded;
				speakBuildFailed = configuration.SpeakBuildFailed;
				
				if (speakBuildSucceded || speakBuildFailed) {
					monitor.BuildOccurred += new MonitorBuildOccurredEventHandler(Monitor_BuildOccurred);
				}
				if (configuration.SpeakBuildStarted) {
					monitor.Polled += new MonitorPolledEventHandler(Monitor_Polled);
				}
			}
        }