public void SetLanguageForSpellChecking(Control control, string language) { if (control == null) { throw new ArgumentNullException(); } if (!CanExtend(control)) { throw new ArgumentException("Control must be derived from TextBoxBase"); } if (String.IsNullOrEmpty(language)) { if (_hotSpotProvider != null) { _hotSpotProvider.SetEnableHotSpots(control, false); } _extendees.Remove(control); } else { if (_broker != null) { try { if (_broker.DictionaryExists(language)) { if (!_dictionaries.ContainsKey(language)) { _dictionaries.Add(language, _broker.RequestDictionary(language)); } _hotSpotProvider.SetEnableHotSpots(control, true); } } catch (Exception error) { //the actual error messages are always worthless, talking about corrupted memory //ErrorReport.NotifyUserOfProblem(new ShowOncePerSessionBasedOnExactMessagePolicy(), "There was a problem with the Enchant Spell-Checking system related to {0}", language); //The number of false errors here is so high that for now, let's not bother to scare the user } } _extendees[control] = language; } }
public void SetEnableHotSpots_CalledAfterDisposed_Throws() { HotSpotProvider hotSpotProvider = new HotSpotProvider(); hotSpotProvider.Dispose(); using (TextBox textBox = new TextBox()) { Assert.Throws <ObjectDisposedException>(() => hotSpotProvider.SetEnableHotSpots(textBox, false)); } }
public void DisableHotSpotProvider_MouseEventsNoLongerFired() { bool mouseEnterFired = false; _spot1.MouseEnter += delegate { mouseEnterFired = true; }; _hotSpotProvider.SetEnableHotSpots(_textBox, false); Application.DoEvents(); Assert.IsFalse(mouseEnterFired); MoveMouseSoOverHotSpot(_spot1); Assert.IsFalse(mouseEnterFired); }
public void Setup() { _hotSpotProvider = new HotSpotProvider(); _textBox = new ClickableTextBox(); _textBox.Width = 350; _textBox.Text = "Now is the time for ..."; _spot1 = new HotSpot.HotSpot(_textBox, 7, 3); _spot2 = new HotSpot.HotSpot(_textBox, 16, 3); _hotSpotProvider.SetEnableHotSpots(_textBox, true); _hotSpotProvider.RetrieveHotSpots += delegate(object sender, RetrieveHotSpotsEventArgs e) { e.AddHotSpot(_spot1); e.AddHotSpot(_spot2); e.Color = Color.Yellow; }; _originalCursorPosition = Cursor.Position; _form = new Form(); _form.Controls.Add(_textBox); _form.Show(); }
public void GetEnableHotSpots_SetTrue_True() { using (TextBox textBox = new TextBox()) { _hotSpotProvider.SetEnableHotSpots(textBox, true); Assert.IsTrue(_hotSpotProvider.GetEnableHotSpots(textBox)); } }