]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/fdrepdlg.h
Only link with libwxscintilla if using Scintilla is enabled.
[wxWidgets.git] / interface / wx / fdrepdlg.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: fdrepdlg.h
0ce6d6c8 3// Purpose: interface of wxFindDialogEvent, wxFindReplaceDialog
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
526954c5 6// Licence: wxWindows licence
23324ae1
FM
7/////////////////////////////////////////////////////////////////////////////
8
0ce6d6c8
FM
9
10/**
11 See wxFindDialogEvent::GetFlags().
12*/
13enum wxFindReplaceFlags
14{
15 /** downward search/replace selected (otherwise - upwards) */
16 wxFR_DOWN = 1,
17
18 /** whole word search/replace selected */
19 wxFR_WHOLEWORD = 2,
20
21 /** case sensitive search/replace selected (otherwise - case insensitive) */
22 wxFR_MATCHCASE = 4
475d0f24 23};
0ce6d6c8
FM
24
25
26/**
27 These flags can be specified in wxFindReplaceDialog ctor or Create():
28*/
29enum wxFindReplaceDialogStyles
30{
31 /** replace dialog (otherwise find dialog) */
32 wxFR_REPLACEDIALOG = 1,
33
34 /** don't allow changing the search direction */
35 wxFR_NOUPDOWN = 2,
36
37 /** don't allow case sensitive searching */
38 wxFR_NOMATCHCASE = 4,
39
40 /** don't allow whole word searching */
41 wxFR_NOWHOLEWORD = 8
475d0f24 42};
0ce6d6c8
FM
43
44
23324ae1
FM
45/**
46 @class wxFindDialogEvent
7c913512 47
3051a44a 48 wxFindReplaceDialog events.
7c913512 49
0ce6d6c8 50 @beginEventTable{wxFindDialogEvent}
8c6791e4 51 @event{EVT_FIND(id, func)}
0ce6d6c8 52 Find button was pressed in the dialog.
8c6791e4 53 @event{EVT_FIND_NEXT(id, func)}
0ce6d6c8 54 Find next button was pressed in the dialog.
8c6791e4 55 @event{EVT_FIND_REPLACE(id, func)}
0ce6d6c8 56 Replace button was pressed in the dialog.
8c6791e4 57 @event{EVT_FIND_REPLACE_ALL(id, func)}
0ce6d6c8 58 Replace all button was pressed in the dialog.
8c6791e4 59 @event{EVT_FIND_CLOSE(id, func)}
0ce6d6c8
FM
60 The dialog is being destroyed, any pointers to it cannot be used any longer.
61 @endEventTable
62
23324ae1
FM
63 @library{wxcore}
64 @category{events}
65*/
66class wxFindDialogEvent : public wxCommandEvent
67{
68public:
69 /**
d13b34d3 70 Constructor used by wxWidgets only.
23324ae1 71 */
4cc4bfaf 72 wxFindDialogEvent(wxEventType commandType = wxEVT_NULL,
23324ae1
FM
73 int id = 0);
74
75 /**
76 Return the pointer to the dialog which generated this event.
77 */
328f5751 78 wxFindReplaceDialog* GetDialog() const;
23324ae1
FM
79
80 /**
81 Return the string to find (never empty).
82 */
328f5751 83 wxString GetFindString() const;
23324ae1
FM
84
85 /**
0ce6d6c8
FM
86 Get the currently selected flags: this is the combination of
87 the ::wxFindReplaceFlags enumeration values.
23324ae1 88 */
328f5751 89 int GetFlags() const;
23324ae1
FM
90
91 /**
92 Return the string to replace the search string with (only for replace and
93 replace all events).
94 */
0ce6d6c8 95 const wxString& GetReplaceString() const;
23324ae1
FM
96};
97
ce7fe42e
VZ
98wxEventType wxEVT_FIND;
99wxEventType wxEVT_FIND_NEXT;
100wxEventType wxEVT_FIND_REPLACE;
101wxEventType wxEVT_FIND_REPLACE_ALL;
102wxEventType wxEVT_FIND_CLOSE;
475d0f24 103
23324ae1 104
e54c96f1 105
23324ae1
FM
106/**
107 @class wxFindReplaceData
7c913512 108
0ce6d6c8
FM
109 wxFindReplaceData holds the data for wxFindReplaceDialog.
110
111 It is used to initialize the dialog with the default values and will keep the
112 last values from the dialog when it is closed. It is also updated each time a
113 wxFindDialogEvent is generated so instead of using the wxFindDialogEvent
114 methods you can also directly query this object.
7c913512 115
23324ae1
FM
116 Note that all @c SetXXX() methods may only be called before showing the
117 dialog and calling them has no effect later.
7c913512 118
23324ae1 119 @library{wxcore}
3c99e2fd 120 @category{cmndlg,data}
23324ae1
FM
121*/
122class wxFindReplaceData : public wxObject
123{
124public:
125 /**
d13b34d3 126 Constructor initializes the flags to default value (0).
23324ae1
FM
127 */
128 wxFindReplaceData(wxUint32 flags = 0);
129
130 /**
131 Get the string to find.
132 */
5475b39f 133 const wxString& GetFindString() const;
23324ae1
FM
134
135 /**
136 Get the combination of @c wxFindReplaceFlags values.
137 */
328f5751 138 int GetFlags() const;
23324ae1
FM
139
140 /**
141 Get the replacement string.
142 */
5475b39f 143 const wxString& GetReplaceString() const;
23324ae1
FM
144
145 /**
146 Set the string to find (used as initial value by the dialog).
147 */
148 void SetFindString(const wxString& str);
149
150 /**
151 Set the flags to use to initialize the controls of the dialog.
152 */
153 void SetFlags(wxUint32 flags);
154
155 /**
156 Set the replacement string (used as initial value by the dialog).
157 */
158 void SetReplaceString(const wxString& str);
159};
160
161
e54c96f1 162
23324ae1
FM
163/**
164 @class wxFindReplaceDialog
7c913512 165
23324ae1
FM
166 wxFindReplaceDialog is a standard modeless dialog which is used to allow the
167 user to search for some text (and possibly replace it with something else).
0ce6d6c8 168
23324ae1
FM
169 The actual searching is supposed to be done in the owner window which is the
170 parent of this dialog. Note that it means that unlike for the other standard
171 dialogs this one @b must have a parent window. Also note that there is no
172 way to use this dialog in a modal way; it is always, by design and
173 implementation, modeless.
7c913512 174
0ce6d6c8 175 Please see the @ref page_samples_dialogs sample for an example of using it.
7c913512 176
23324ae1
FM
177 @library{wxcore}
178 @category{cmndlg}
179*/
180class wxFindReplaceDialog : public wxDialog
181{
182public:
0ce6d6c8
FM
183 wxFindReplaceDialog();
184
23324ae1 185 /**
0ce6d6c8
FM
186 After using default constructor Create() must be called.
187
4cc4bfaf 188 The @a parent and @a data parameters must be non-@NULL.
23324ae1 189 */
4cc4bfaf 190 wxFindReplaceDialog(wxWindow* parent,
7c913512
FM
191 wxFindReplaceData* data,
192 const wxString& title,
193 int style = 0);
23324ae1
FM
194
195 /**
196 Destructor.
197 */
adaaa686 198 virtual ~wxFindReplaceDialog();
23324ae1
FM
199
200 /**
201 Creates the dialog; use wxWindow::Show to show it on screen.
0ce6d6c8 202
4cc4bfaf 203 The @a parent and @a data parameters must be non-@NULL.
23324ae1 204 */
4cc4bfaf 205 bool Create(wxWindow* parent, wxFindReplaceData* data,
23324ae1
FM
206 const wxString& title, int style = 0);
207
208 /**
0ce6d6c8 209 Get the wxFindReplaceData object used by this dialog.
23324ae1 210 */
328f5751 211 const wxFindReplaceData* GetData() const;
23324ae1 212};
e54c96f1 213