/// <summary> /// Called when the user presses the replace all button /// </summary> /// <param name="arg"></param> void OnReplaceAllButtonClick(NEventArgs arg) { // init find settings NFindTextSettings settings = new NFindTextSettings(); settings.FindWhat = m_FindTextBox.Text; settings.SearchDirection = ENSearchDirection.Forward; // find all occurances NTextSearcher searcher = new NTextSearcher(m_DrawingView, settings); searcher.ActivateEditor = false; NShapeTextSearchState state; while (searcher.FindNext(out state)) { NSelection selection = state.Shape.GetTextSelection(); // replace NRangeI selectedRange = selection.SelectedRange; selection.InsertText(m_ReplaceTextBox.Text); if (m_ReplaceTextBox.Text.Length > 0) { selection.SelectRange(new NRangeI(selectedRange.Begin, selectedRange.Begin + m_ReplaceTextBox.Text.Length - 1)); selection.SetHighlightFillToSelectedInlines(new NColorFill(ENNamedColor.LimeGreen)); } } }
/// <summary> /// Called when the user presses the replace all button /// </summary> /// <param name="arg"></param> void OnReplaceAllButtonClick(NEventArgs arg) { // init find settings NFindSettings settings = new NFindSettings(); settings.FindWhat = m_FindTextBox.Text; settings.SearchDirection = ENSearchDirection.Forward; // find all occurances NRangeI textRange = NRangeI.Zero; NSelection selection = m_RichText.EditingRoot.Selection; while (m_RichText.EditingRoot.FindNext(settings, ref textRange)) { // replace dog with cat selection.SelectRange(textRange); selection.InsertText(m_ReplaceTextBox.Text); if (m_ReplaceTextBox.Text.Length > 0) { selection.SelectRange(new NRangeI(textRange.Begin, textRange.Begin + m_ReplaceTextBox.Text.Length - 1)); selection.SetHighlightFillToSelectedInlines(new NColorFill(ENNamedColor.LimeGreen)); } } // move caret to beginning of document selection.MoveCaret(ENCaretMoveDirection.DocumentBegin, false); }
/// <summary> /// Called when the user presses the find all button /// </summary> /// <param name="arg"></param> void OnSelectAllButtonClick(NEventArgs arg) { // init find settings NFindSettings settings = new NFindSettings(); settings.FindWhat = m_FindTextBox.Text; settings.SearchDirection = ENSearchDirection.Forward; // loop through all occurances NRangeI textRange = NRangeI.Zero; // move caret to beginning of document m_RichText.Selection.MoveCaret(ENCaretMoveDirection.DocumentBegin, false); while (m_RichText.EditingRoot.FindNext(settings, ref textRange)) { m_RichText.Selection.SelectRange(textRange, true); } }
/// <summary> /// Called when the user presses the find all button /// </summary> /// <param name="arg"></param> void OnFindAllButtonClick(NEventArgs arg) { // init find settings NFindSettings settings = new NFindSettings(); settings.FindWhat = m_FindTextBox.Text; settings.SearchDirection = ENSearchDirection.Forward; // loop through all occurances NRangeI textRange = NRangeI.Zero; while (m_RichText.EditingRoot.FindNext(settings, ref textRange)) { m_RichText.Selection.SelectRange(textRange); m_RichText.Selection.SetHighlightFillToSelectedInlines(new NColorFill(ENNamedColor.Red)); } // move caret to beginning of document m_RichText.Selection.MoveCaret(ENCaretMoveDirection.DocumentBegin, false); }
/// <summary> /// Called when the user presses the find all button /// </summary> /// <param name="arg"></param> void OnFindAllButtonClick(NEventArgs arg) { // init find settings NFindTextSettings settings = new NFindTextSettings(); settings.FindWhat = m_FindTextBox.Text; settings.SearchDirection = ENSearchDirection.Forward; // loop through all occurances NRangeI textRange = NRangeI.Zero; NTextSearcher searcher = new NTextSearcher(m_DrawingView, settings); searcher.ActivateEditor = false; NShapeTextSearchState state; while (searcher.FindNext(out state)) { state.Shape.GetTextSelection().SetHighlightFillToSelectedInlines(new NColorFill(ENNamedColor.Red)); } }
private void OnSuggetsionsButtonClick(NEventArgs args) { NList <NParagraph> paragraphs = m_RichTextView.Selection.GetSelectedParagraphs(); if (paragraphs.Count == 0) { return; } NParagraph paragraph = paragraphs[0]; // Determine the current word NList <NRangeI> words = paragraph.GetWordRanges(); int index = m_RichTextView.EditingRoot.Selection.Position.InsertIndex - paragraph.Range.Begin; bool hasWord = false; NRangeI wordRange = NRangeI.Zero; for (int i = 0; i < words.Count; i++) { if (words[i].Contains(index)) { hasWord = true; wordRange = words[i]; } } if (!hasWord) { NMessageBox.Show(this.OwnerWindow, "You should click in a word first", "Warning", ENMessageBoxButtons.OK, ENMessageBoxIcon.Warning); return; } char[] word = paragraph.Text.Substring(wordRange.Begin, wordRange.GetLength() + 1).ToCharArray(); string title = "Suggestions for '" + new string(word) + "'"; string content; if (m_RichTextView.SpellChecker.IsCorrect(word, 0, word.Length - 1) == false) { INIterator <char[]> suggestions = m_RichTextView.SpellChecker.GetSuggestions(word, 0, word.Length - 1); StringBuilder sb = new StringBuilder(); while (suggestions.MoveNext()) { if (sb.Length > 0) { sb.Append("\n"); } sb.Append(suggestions.Current); } content = sb.ToString(); } else { content = "The word is correct."; } NMessageBox.Show(this.OwnerWindow, content, title, ENMessageBoxButtons.OK); }