public override void AwakeFromNib()
        {
            base.AwakeFromNib();

            this.Window.WeakDelegate = this;

            mSpeechSynth.WeakDelegate = this;

            // Voices
            voicesTableView.WeakDelegate   = this;
            voicesTableView.WeakDataSource = this;

            // Phrases
            PhrasesTableViewSource  = new PhrasesTableViewSource(new WeakReference(this));
            phrasesTableView.Source = PhrasesTableViewSource;
            phrasesTableView.mainWindowController = new WeakReference(this);

            // Select row for default voice in voicesTableView
            string defaultVoice = NSSpeechSynthesizer.DefaultVoice;
            int    defaultRow   = -1;

            for (int i = 0; i < mVoices.Count <string>(); i++)
            {
                if (mVoices[i] == defaultVoice)
                {
                    defaultRow = i;
                    break;
                }
            }
            NSIndexSet indices = NSIndexSet.FromIndex(defaultRow);

            voicesTableView.SelectRows(indices, false);
            voicesTableView.ScrollRowToVisible(defaultRow);

            // Handles when return is pressed while editing or textField loses focus
            textField.Activated += (object sender, EventArgs e) => {
                // If the add button is enabled, then add this item to the list
                if (btnAddPhrase.Enabled)
                {
                    btnAddPhrase.PerformClick(textField);
                }
            };
            textField.Changed += (object sender, EventArgs e) => {
                if (phrasesTableView.SelectedRow > -1)
                {
                    string text = textField.StringValue;
                    phrasesTableView.DeselectAll(textField);
                    textField.StringValue = text;
                    textField.CurrentEditor.SelectedRange = new NSRange(text.Length, 0);
                    btnAddPhrase.Enabled = true;
                }
            };
        }
Beispiel #2
0
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();

            this.Window.WeakDelegate = this;

            mSpeechSynth.WeakDelegate = this;

            // Voices
            voicesTableView.WeakDelegate = this;
            voicesTableView.WeakDataSource = this;

            // Phrases
            PhrasesTableViewSource = new PhrasesTableViewSource(new WeakReference(this));
            phrasesTableView.Source = PhrasesTableViewSource;
            phrasesTableView.mainWindowController = new WeakReference(this);

            // Select row for default voice in voicesTableView
            string defaultVoice = NSSpeechSynthesizer.DefaultVoice;
            int defaultRow = -1;
            for (int i = 0; i < mVoices.Count<string>(); i++) {
                if (mVoices[i] == defaultVoice) {
                    defaultRow = i;
                    break;
                }
            }
            NSIndexSet indices = NSIndexSet.FromIndex(defaultRow);
            voicesTableView.SelectRows(indices, false);
            voicesTableView.ScrollRowToVisible(defaultRow);

            // Handles when return is pressed while editing or textField loses focus
            textField.Activated += (object sender, EventArgs e) => {
                // If the add button is enabled, then add this item to the list
                if (btnAddPhrase.Enabled) {
                    btnAddPhrase.PerformClick(textField);
                }
            };
            textField.Changed += (object sender, EventArgs e) => {
                if (phrasesTableView.SelectedRow > -1) {
                    string text = textField.StringValue;
                    phrasesTableView.DeselectAll(textField);
                    textField.StringValue = text;
                    textField.CurrentEditor.SelectedRange = new NSRange(text.Length, 0);
                    btnAddPhrase.Enabled = true;
                }
            };
        }