private void highlightSelectionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string LookFor = string.Empty;

            LookFor = editor.ActiveTextAreaControl.TextArea.SelectionManager.SelectedText;

            // if there's text selected, highlight all!
            if (!_highlightGroups.ContainsKey(editor))
                _highlightGroups[editor] = new HighlightGroup(editor);
            HighlightGroup group = _highlightGroups[editor];
            TextEditorSearcher _search = new TextEditorSearcher();
            _search.Document = editor.Document;

            group.ClearMarkers();

            _search.LookFor = LookFor;
            _search.MatchCase = true;
            _search.MatchWholeWordOnly = true;

            bool looped = false;
            int offset = 0, count = 0;
            for (; ; )
            {
                TextRange range = _search.FindNext(offset, false, out looped);
                if (range == null || looped)
                    break;
                offset = range.Offset + range.Length;
                count++;

                var m = new TextMarker(range.Offset, range.Length,
                        TextMarkerType.SolidBlock, Color.Orange, Color.Black);
                group.AddMarker(m);
            }

            editor.Invalidate();
            editor.Refresh();
        }
 public FindAndReplaceForm()
 {
     InitializeComponent();
     _search = new TextEditorSearcher();
 }
        private void hexViewer1_onSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // in that case, move the selection in the ASM file as well
            logger.Debug("Selection in hexviewer: " + e.Offset.ToString("X8"));
            int offset = 0;// _trionicFile.Filelength;
            //if (offset == 0x20000) offset = 0x60000;

            int address = e.Offset + offset;
            string searchString = "0x" + address.ToString("X8");
            //_findForm.FindNext(true, false, string.Format("Search text «{0}» not found.", searchString));
            TextEditorSearcher _search = new TextEditorSearcher();
            _search.ClearScanRegion();
            _search.Document = editor.Document;
            _search.LookFor = searchString;
            _search.MatchCase = true;
            _search.MatchWholeWordOnly = true;

            var caret = editor.ActiveTextAreaControl.Caret;
            bool _lastSearchLoopedAround = false;
            int startFrom = 0;
            TextRange range = _search.FindNext(startFrom, false, out _lastSearchLoopedAround);
            if (range != null)
                SelectResult(range);
            editor.Invalidate();
            editor.Refresh();
        }
Exemple #4
0
 public frmFindAndReplace()
 {
     InitializeComponent();
     _search = new TextEditorSearcher();
 }