Пример #1
0
        void PreviewFile(string path, int linenum)
        {
            var text = File.ReadAllText(path);
            var fp   = Previewer();

            SciUtil.SetAllText(fp.scintilla, text);
            fp.Text = path;

            var pos = fp.scintilla.Lines[linenum - 1].Position;

            fp.scintilla.GotoPosition(pos);
            SciUtil.RevealLine(fp.scintilla, linenum - 1);

            int found = SciUtil.SearchAndMove(fp.scintilla, Ui.searchTextBox.Text);

            // simple find didn't find it - so let's highlight the whole line
            if (found == -1)
            {
                fp.scintilla.SelectionStart = pos;
                fp.scintilla.SelectionEnd   = fp.scintilla.Lines[linenum].Position;
            }

            fp.Show();
            FormsUtil.BringFormToFront(fp, Ui.form);
        }
Пример #2
0
        private void LiveSearchEvents(MainFormUi ui)
        {
            var ctrl = ui.searchControl;
            var rb   = ui.resultBox;

            ctrl.searchTextBox.TextChanged += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text);
            ctrl.btnNext.Click             += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text);
            ctrl.btnPrev.Click             += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text, reverse: true);
            ctrl.searchTextBox.KeyDown     += (o, e) =>
            {
                if (e.KeyCode == Keys.Enter)
                {
                    if (e.Shift)
                    {
                        SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text, reverse: true);
                    }
                    else
                    {
                        SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text);
                    }
                    e.SuppressKeyPress = true;
                    e.Handled          = true;
                }
            };
        }