3 Copyright (c) 2012 Jakob Leben & Tim Blechmann
4 http://www.audiosynth.com
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef SCIDE_WIDGETS_FIND_REPLACE_TOOL_HPP_INCLUDED
22 #define SCIDE_WIDGETS_FIND_REPLACE_TOOL_HPP_INCLUDED
25 #include <QPushButton>
28 #include <QGridLayout>
29 #include <QTextDocument>
37 class TextFindReplacePanel
: public QWidget
49 TextFindReplacePanel( QWidget
* parent
= 0 );
51 void setEditor( CodeEditor
*editor
) { mEditor
= editor
; }
53 Mode
mode () const { return mMode
; }
57 QString
findString() const { return mFindField
->text(); }
58 QString
replaceString() const { return mReplaceField
->text(); }
59 bool matchCase() const { return mMatchCaseAction
->isChecked(); }
60 bool asRegExp() const { return mRegExpAction
->isChecked(); }
61 bool wholeWords() const { return mWholeWordAction
->isChecked(); }
63 QTextDocument::FindFlags
flags();
73 void onFindFieldReturn();
74 void onFindFieldTextChanged();
77 void find (bool backwards
);
78 bool eventFilter (QObject
*, QEvent
*);
80 QLineEdit
*mFindField
;
82 QLineEdit
*mReplaceField
;
83 QLabel
*mReplaceLabel
;
84 QPushButton
*mNextBtn
;
85 QPushButton
*mPrevBtn
;
86 QPushButton
*mFindAllBtn
;
87 QPushButton
*mReplaceBtn
;
88 QPushButton
*mReplaceAllBtn
;
89 QPushButton
*mOptionsBtn
;
90 QAction
*mMatchCaseAction
;
91 QAction
*mRegExpAction
;
92 QAction
*mWholeWordAction
;