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