コード例 #1
0
        /// <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));
                }
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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));
            }
        }
コード例 #6
0
        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);
        }