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