]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/_cmndlgs.i
cleanup - heavy reformatting
[wxWidgets.git] / wxPython / src / _cmndlgs.i
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: _cmndlgs.i
3 // Purpose: SWIG interface for the "Common Dialog" classes
4 //
5 // Author: Robin Dunn
6 //
7 // Created: 25-July-1998
8 // RCS-ID: $Id$
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
12
13 // Not a %module
14
15
16 //---------------------------------------------------------------------------
17 %newgroup
18
19 MAKE_CONST_WXSTRING(FileSelectorPromptStr);
20 MAKE_CONST_WXSTRING(DirSelectorPromptStr);
21 MAKE_CONST_WXSTRING(DirDialogNameStr);
22 MAKE_CONST_WXSTRING(FileSelectorDefaultWildcardStr);
23 MAKE_CONST_WXSTRING(GetTextFromUserPromptStr);
24 MAKE_CONST_WXSTRING(MessageBoxCaptionStr);
25
26 //---------------------------------------------------------------------------
27
28
29 DocStr(wxColourData,
30 "This class holds a variety of information related to the colour
31 chooser dialog, used to transfer settings and results to and from the
32 `wx.ColourDialog`.", "");
33
34 class wxColourData : public wxObject {
35 public:
36 DocCtorStr(
37 wxColourData(),
38 "Constructor, sets default values.", "");
39
40 ~wxColourData();
41
42
43 DocDeclStr(
44 bool , GetChooseFull(),
45 "Under Windows, determines whether the Windows colour dialog will
46 display the full dialog with custom colour selection controls. Has no
47 meaning under other platforms. The default value is true.", "");
48
49 DocDeclStr(
50 wxColour , GetColour(),
51 "Gets the colour (pre)selected by the dialog.", "");
52
53 DocDeclStr(
54 wxColour , GetCustomColour(int i),
55 "Gets the i'th custom colour associated with the colour dialog. i
56 should be an integer between 0 and 15. The default custom colours are
57 all invalid colours.", "");
58
59 DocDeclStr(
60 void , SetChooseFull(int flag),
61 "Under Windows, tells the Windows colour dialog to display the full
62 dialog with custom colour selection controls. Under other platforms,
63 has no effect. The default value is true.", "");
64
65 DocDeclStr(
66 void , SetColour(const wxColour& colour),
67 "Sets the default colour for the colour dialog. The default colour is
68 black.", "");
69
70 DocDeclStr(
71 void , SetCustomColour(int i, const wxColour& colour),
72 "Sets the i'th custom colour for the colour dialog. i should be an
73 integer between 0 and 15. The default custom colours are all invalid colours.", "");
74
75 };
76
77
78
79
80 DocStr(wxColourDialog,
81 "This class represents the colour chooser dialog.", "");
82
83 MustHaveApp(wxColourDialog);
84
85 class wxColourDialog : public wxDialog {
86 public:
87 %pythonAppend wxColourDialog "self._setOORInfo(self)"
88
89 DocCtorStr(
90 wxColourDialog(wxWindow* parent, wxColourData* data = NULL),
91 "Constructor. Pass a parent window, and optionally a `wx.ColourData`,
92 which will be copied to the colour dialog's internal ColourData
93 instance.", "");
94
95 DocDeclStr(
96 wxColourData& , GetColourData(),
97 "Returns a reference to the `wx.ColourData` used by the dialog.", "");
98 };
99
100
101 wxColour wxGetColourFromUser(wxWindow *parent = (wxWindow *)NULL,
102 const wxColour& colInit = wxNullColour,
103 const wxString& caption = wxPyEmptyString);
104
105
106 //--------------------------------------------------------------------------------
107
108
109 DocStr(wxDirDialog,
110 "wx.DirDialog allows the user to select a directory by browising the
111 file system.", "
112
113 Window Styles
114 --------------
115 ==================== ==========================================
116 wx.DD_NEW_DIR_BUTTON Add 'Create new directory' button and allow
117 directory names to be editable. On Windows
118 the new directory button is only available
119 with recent versions of the common dialogs.
120 ==================== ==========================================
121 ");
122
123 MustHaveApp(wxDirDialog);
124
125 class wxDirDialog : public wxDialog {
126 public:
127 %pythonAppend wxDirDialog "self._setOORInfo(self)"
128
129 DocCtorStr(
130 wxDirDialog(wxWindow* parent,
131 const wxString& message = wxPyDirSelectorPromptStr,
132 const wxString& defaultPath = wxPyEmptyString,
133 long style = 0,
134 const wxPoint& pos = wxDefaultPosition,
135 const wxSize& size = wxDefaultSize,
136 const wxString& name = wxPyDirDialogNameStr),
137 "Constructor. Use ShowModal method to show the dialog.", "");
138
139
140 DocDeclStr(
141 wxString , GetPath(),
142 "Returns the default or user-selected path.", "");
143
144 DocDeclStr(
145 wxString , GetMessage(),
146 "Returns the message that will be displayed on the dialog.", "");
147
148 DocDeclStr(
149 long , GetStyle(),
150 "Returns the dialog style.", "");
151
152 DocDeclStr(
153 void , SetMessage(const wxString& message),
154 "Sets the message that will be displayed on the dialog.", "");
155
156 DocDeclStr(
157 void , SetPath(const wxString& path),
158 "Sets the default path.", "");
159
160 };
161
162
163 //---------------------------------------------------------------------------
164
165 DocStr(wxFileDialog,
166 "wx.FileDialog allows the user to select one or more files from the
167 filesystem.", "
168
169 In Windows, this is the common file selector dialog. On X based
170 platforms a generic alternative is used. The path and filename are
171 distinct elements of a full file pathname. If path is \"\", the
172 current directory will be used. If filename is \"\", no default
173 filename will be supplied. The wildcard determines what files are
174 displayed in the file selector, and file extension supplies a type
175 extension for the required filename.
176
177 Both the X and Windows versions implement a wildcard filter. Typing a
178 filename containing wildcards (\*, ?) in the filename text item, and
179 clicking on Ok, will result in only those files matching the pattern
180 being displayed. The wildcard may be a specification for multiple
181 types of file with a description for each, such as::
182
183 \"BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif\"
184
185
186 Window Styles
187 --------------
188 =================== ==========================================
189 wx.OPEN This is an open dialog.
190
191 wx.SAVE This is a save dialog.
192
193 wx.HIDE_READONLY For open dialog only: hide the checkbox
194 allowing to open the file in read-only mode.
195
196 wx.OVERWRITE_PROMPT For save dialog only: prompt for a confirmation
197 if a file will be overwritten.
198
199 wx.MULTIPLE For open dialog only: allows selecting multiple
200 files.
201
202 wx.CHANGE_DIR Change the current working directory to the
203 directory where the file(s) chosen by the user
204 are.
205 =================== ==========================================
206 ");
207
208
209
210 MustHaveApp(wxFileDialog);
211
212 class wxFileDialog : public wxDialog {
213 public:
214 %pythonAppend wxFileDialog "self._setOORInfo(self)"
215
216 DocCtorStr(
217 wxFileDialog(wxWindow* parent,
218 const wxString& message = wxPyFileSelectorPromptStr,
219 const wxString& defaultDir = wxPyEmptyString,
220 const wxString& defaultFile = wxPyEmptyString,
221 const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr,
222 long style = 0,
223 const wxPoint& pos = wxDefaultPosition),
224 "Constructor. Use ShowModal method to show the dialog.", "");
225
226
227 DocDeclStr(
228 void , SetMessage(const wxString& message),
229 "Sets the message that will be displayed on the dialog.", "");
230
231 DocDeclStr(
232 void , SetPath(const wxString& path),
233 "Sets the path (the combined directory and filename that will be
234 returned when the dialog is dismissed).", "");
235
236 DocDeclStr(
237 void , SetDirectory(const wxString& dir),
238 "Sets the default directory.", "");
239
240 DocDeclStr(
241 void , SetFilename(const wxString& name),
242 "Sets the default filename.", "");
243
244 DocDeclStr(
245 void , SetWildcard(const wxString& wildCard),
246 "Sets the wildcard, which can contain multiple file types, for
247 example::
248
249 \"BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif\"
250 ", "");
251
252 DocDeclStr(
253 void , SetStyle(long style),
254 "Sets the dialog style.", "");
255
256 DocDeclStr(
257 void , SetFilterIndex(int filterIndex),
258 "Sets the default filter index, starting from zero.", "");
259
260 DocDeclStr(
261 wxString , GetMessage() const,
262 "Returns the message that will be displayed on the dialog.", "");
263
264 DocDeclStr(
265 wxString , GetPath() const,
266 "Returns the full path (directory and filename) of the selected file.", "");
267
268 DocDeclStr(
269 wxString , GetDirectory() const,
270 "Returns the default directory.", "");
271
272 DocDeclStr(
273 wxString , GetFilename() const,
274 "Returns the default filename.", "");
275
276 DocDeclStr(
277 wxString , GetWildcard() const,
278 "Returns the file dialog wildcard.", "");
279
280 DocDeclStr(
281 long , GetStyle() const,
282 "Returns the dialog style.", "");
283
284 DocDeclStr(
285 int , GetFilterIndex() const,
286 "Returns the index into the list of filters supplied, optionally, in
287 the wildcard parameter. Before the dialog is shown, this is the index
288 which will be used when the dialog is first displayed. After the
289 dialog is shown, this is the index selected by the user.", "");
290
291
292 DocStr(GetFilenames,
293 "Returns a list of filenames chosen in the dialog. This function
294 should only be used with the dialogs which have wx.MULTIPLE style, use
295 GetFilename for the others.", "");
296
297 DocStr(GetPaths,
298 "Fills the array paths with the full paths of the files chosen. This
299 function should only be used with the dialogs which have wx.MULTIPLE
300 style, use GetPath for the others.", "");
301
302 %extend {
303 PyObject* GetFilenames() {
304 wxArrayString arr;
305 self->GetFilenames(arr);
306 return wxArrayString2PyList_helper(arr);
307 }
308
309 PyObject* GetPaths() {
310 wxArrayString arr;
311 self->GetPaths(arr);
312 return wxArrayString2PyList_helper(arr);
313 }
314 }
315
316 // TODO
317 // // Utility functions
318
319 // // Parses the wildCard, returning the number of filters.
320 // // Returns 0 if none or if there's a problem,
321 // // The arrays will contain an equal number of items found before the error.
322 // // wildCard is in the form:
323 // // "All files (*)|*|Image Files (*.jpeg *.png)|*.jpg;*.png"
324 // static int ParseWildcard(const wxString& wildCard,
325 // wxArrayString& descriptions,
326 // wxArrayString& filters);
327
328 // // Append first extension to filePath from a ';' separated extensionList
329 // // if filePath = "path/foo.bar" just return it as is
330 // // if filePath = "foo[.]" and extensionList = "*.jpg;*.png" return "foo.jpg"
331 // // if the extension is "*.j?g" (has wildcards) or "jpg" then return filePath
332 // static wxString AppendExtension(const wxString &filePath,
333 // const wxString &extensionList);
334
335
336 };
337
338
339 //---------------------------------------------------------------------------
340
341 enum { wxCHOICEDLG_STYLE };
342
343
344 DocStr(wxMultiChoiceDialog,
345 "A simple dialog with a multi selection listbox.", "");
346
347 MustHaveApp(wxMultiChoiceDialog);
348
349 class wxMultiChoiceDialog : public wxDialog
350 {
351 public:
352 %pythonAppend wxMultiChoiceDialog "self._setOORInfo(self)"
353
354 DocCtorAStr(
355 wxMultiChoiceDialog(wxWindow *parent,
356 const wxString& message,
357 const wxString& caption,
358 int choices=0, wxString* choices_array=NULL,
359 long style = wxCHOICEDLG_STYLE,
360 const wxPoint& pos = wxDefaultPosition),
361 "__init__(self, Window parent, String message, String caption,
362 List choices=EmptyList, long style=CHOICEDLG_STYLE,
363 Point pos=DefaultPosition) -> MultiChoiceDialog",
364 "Constructor. Use the `ShowModal` method to show the dialog.
365
366 :param parent: The parent window.
367 :param message: Text to display above the list of selections.
368 :param caption: Text to use in the title bar of the dialog.
369 :param choices: A list of strings or unicode objects that the
370 user is allowed to choose from.
371 :param style: Styles to apply to the dialog. The default value is
372 equivallent to wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.OK|wx.CANCEL|wx.CENTER.
373 :param pos: Where to position the dialog (not used on Windows)
374
375 ", "");
376
377
378 DocDeclAStr(
379 void, SetSelections(const wxArrayInt& selections),
380 "SetSelections(List selections)",
381 "Specify the items in the list that should be selected, using a list of
382 integers. The list should specify the indexes of the items that
383 should be selected.", "");
384
385 DocAStr(GetSelections,
386 "GetSelections() -> [selections]",
387 "Returns a list of integers representing the items that are selected.
388 If an item is selected then its index will appear in the list.", "");
389 %extend {
390 PyObject* GetSelections() {
391 return wxArrayInt2PyList_helper(self->GetSelections());
392 }
393 }
394 };
395
396
397 //---------------------------------------------------------------------------
398
399 DocStr(wxSingleChoiceDialog,
400 "A simple dialog with a single selection listbox.", "");
401
402 MustHaveApp(wxSingleChoiceDialog);
403
404 class wxSingleChoiceDialog : public wxDialog {
405 public:
406 %pythonAppend wxSingleChoiceDialog "self._setOORInfo(self)"
407
408 DocAStr(wxSingleChoiceDialog,
409 "__init__(Window parent, String message, String caption,
410 List choices=EmptyList, long style=CHOICEDLG_STYLE,
411 Point pos=DefaultPosition) -> SingleChoiceDialog",
412 "Constructor. Use ShowModal method to show the dialog.", "");
413
414 %extend {
415 // TODO: ignoring clientData for now... FIX THIS
416 // SWIG is messing up the &/*'s for some reason.
417 wxSingleChoiceDialog(wxWindow* parent,
418 const wxString& message,
419 const wxString& caption,
420 int choices, wxString* choices_array,
421 //char** clientData = NULL,
422 long style = wxCHOICEDLG_STYLE,
423 const wxPoint& pos = wxDefaultPosition) {
424 return new wxSingleChoiceDialog(parent, message, caption,
425 choices, choices_array, NULL, style, pos);
426 }
427 }
428
429 DocDeclStr(
430 int , GetSelection(),
431 "Get the index of teh currently selected item.", "");
432
433 DocDeclStr(
434 wxString , GetStringSelection(),
435 "Returns the string value of the currently selected item", "");
436
437 DocDeclStr(
438 void , SetSelection(int sel),
439 "Set the current selected item to sel", "");
440 };
441
442
443 //---------------------------------------------------------------------------
444
445 DocStr(wxTextEntryDialog,
446 "A dialog with text control, [ok] and [cancel] buttons", "");
447
448 MustHaveApp(wxTextEntryDialog);
449
450 enum { wxTextEntryDialogStyle };
451
452 class wxTextEntryDialog : public wxDialog {
453 public:
454 %pythonAppend wxTextEntryDialog "self._setOORInfo(self)"
455
456 DocCtorStr(
457 wxTextEntryDialog(wxWindow* parent,
458 const wxString& message,
459 const wxString& caption = wxPyGetTextFromUserPromptStr,
460 const wxString& defaultValue = wxPyEmptyString,
461 long style = wxTextEntryDialogStyle,
462 const wxPoint& pos = wxDefaultPosition),
463 "Constructor. Use ShowModal method to show the dialog.", "");
464
465 DocDeclStr(
466 wxString , GetValue(),
467 "Returns the text that the user has entered if the user has pressed OK,
468 or the original value if the user has pressed Cancel.", "");
469
470 DocDeclStr(
471 void , SetValue(const wxString& value),
472 "Sets the default text value.", "");
473 };
474
475 //---------------------------------------------------------------------------
476
477 MAKE_CONST_WXSTRING(GetPasswordFromUserPromptStr);
478
479 class wxPasswordEntryDialog : public wxTextEntryDialog
480 {
481 public:
482 wxPasswordEntryDialog(wxWindow *parent,
483 const wxString& message,
484 const wxString& caption = wxPyGetPasswordFromUserPromptStr,
485 const wxString& value = wxPyEmptyString,
486 long style = wxTextEntryDialogStyle,
487 const wxPoint& pos = wxDefaultPosition);
488 };
489
490 //---------------------------------------------------------------------------
491
492
493 DocStr(wxFontData,
494 "This class holds a variety of information related to font dialogs and
495 is used to transfer settings to and results from a `wx.FontDialog`.", "");
496
497
498 class wxFontData : public wxObject {
499 public:
500 wxFontData();
501 ~wxFontData();
502
503 DocDeclStr(
504 void , EnableEffects(bool enable),
505 "Enables or disables 'effects' under MS Windows only. This refers to
506 the controls for manipulating colour, strikeout and underline
507 properties. The default value is true.", "");
508
509 DocDeclStr(
510 bool , GetAllowSymbols(),
511 "Under MS Windows, returns a flag determining whether symbol fonts can
512 be selected. Has no effect on other platforms. The default value is
513 true.", "");
514
515 DocDeclStr(
516 wxColour , GetColour(),
517 "Gets the colour associated with the font dialog. The default value is
518 black.", "");
519
520 DocDeclStr(
521 wxFont , GetChosenFont(),
522 "Gets the font chosen by the user.", "");
523
524 DocDeclStr(
525 bool , GetEnableEffects(),
526 "Determines whether 'effects' are enabled under Windows.", "");
527
528 DocDeclStr(
529 wxFont , GetInitialFont(),
530 "Gets the font that will be initially used by the font dialog. This
531 should have previously been set by the application.", "");
532
533 DocDeclStr(
534 bool , GetShowHelp(),
535 "Returns true if the Help button will be shown (Windows only). The
536 default value is false.", "");
537
538 DocDeclStr(
539 void , SetAllowSymbols(bool allowSymbols),
540 "Under MS Windows, determines whether symbol fonts can be selected. Has
541 no effect on other platforms. The default value is true.", "");
542
543 DocDeclStr(
544 void , SetChosenFont(const wxFont& font),
545 "Sets the font that will be returned to the user (normally for internal
546 use only).", "");
547
548 DocDeclStr(
549 void , SetColour(const wxColour& colour),
550 "Sets the colour that will be used for the font foreground colour. The
551 default colour is black.", "");
552
553 DocDeclStr(
554 void , SetInitialFont(const wxFont& font),
555 "Sets the font that will be initially used by the font dialog.", "");
556
557 DocDeclStr(
558 void , SetRange(int min, int max),
559 "Sets the valid range for the font point size (Windows only). The
560 default is 0, 0 (unrestricted range).", "");
561
562 DocDeclStr(
563 void , SetShowHelp(bool showHelp),
564 "Determines whether the Help button will be displayed in the font
565 dialog (Windows only). The default value is false.", "");
566 };
567
568
569
570
571 DocStr(wxFontDialog,
572 "wx.FontDialog allows the user to select a system font and its attributes.
573
574 :see: `wx.FontData`
575 ", "");
576
577 MustHaveApp(wxFontDialog);
578
579 class wxFontDialog : public wxDialog {
580 public:
581 %pythonAppend wxFontDialog "self._setOORInfo(self)"
582
583 DocStr(wxFontDialog,
584 "Constructor. Pass a parent window and the `wx.FontData` object to be
585 used to initialize the dialog controls. Call `ShowModal` to display
586 the dialog. If ShowModal returns ``wx.ID_OK`` then you can fetch the
587 results with via the `wx.FontData` returned by `GetFontData`.", "");
588 wxFontDialog(wxWindow* parent, const wxFontData& data);
589
590
591 DocDeclStr(
592 wxFontData& , GetFontData(),
593 "Returns a reference to the internal `wx.FontData` used by the
594 wx.FontDialog.", "");
595 };
596
597
598 wxFont wxGetFontFromUser(wxWindow *parent = NULL,
599 const wxFont& fontInit = wxNullFont,
600 const wxString& caption = wxPyEmptyString);
601
602
603 //---------------------------------------------------------------------------
604
605
606 DocStr(wxMessageDialog,
607 "This class provides a simple dialog that shows a single or multi-line
608 message, with a choice of OK, Yes, No and/or Cancel buttons.", "
609
610 Window Styles
611 --------------
612 =================== =============================================
613 wx.OK Show an OK button.
614 wx.CANCEL Show a Cancel button.
615 wx.YES_NO Show Yes and No buttons.
616 wx.YES_DEFAULT Used with wxYES_NO, makes Yes button the
617 default - which is the default behaviour.
618 wx.NO_DEFAULT Used with wxYES_NO, makes No button the default.
619 wx.ICON_EXCLAMATION Shows an exclamation mark icon.
620 wx.ICON_HAND Shows an error icon.
621 wx.ICON_ERROR Shows an error icon - the same as wxICON_HAND.
622 wx.ICON_QUESTION Shows a question mark icon.
623 wx.ICON_INFORMATION Shows an information (i) icon.
624 wx.STAY_ON_TOP The message box stays on top of all other
625 window, even those of the other applications
626 (Windows only).
627 =================== =============================================
628 ");
629
630
631 MustHaveApp(wxMessageDialog);
632
633 class wxMessageDialog : public wxDialog {
634 public:
635 %pythonAppend wxMessageDialog "self._setOORInfo(self)"
636
637 DocCtorStr(
638 wxMessageDialog(wxWindow* parent,
639 const wxString& message,
640 const wxString& caption = wxPyMessageBoxCaptionStr,
641 long style = wxOK | wxCANCEL | wxCENTRE,
642 const wxPoint& pos = wxDefaultPosition),
643 "Constructor, use `ShowModal` to display the dialog.", "");
644
645 };
646
647 //---------------------------------------------------------------------------
648
649
650 DocStr(wxProgressDialog,
651 "A dialog that shows a short message and a progress bar. Optionally, it
652 can display an ABORT button.", "
653
654 Window Styles
655 --------------
656 ==================== =============================================
657 wx.PD_APP_MODAL Make the progress dialog modal. If this flag is
658 not given, it is only \"locally\" modal -
659 that is the input to the parent window is
660 disabled, but not to the other ones.
661
662 wx.PD_AUTO_HIDE Causes the progress dialog to disappear from
663 screen as soon as the maximum value of the
664 progress meter has been reached.
665
666 wx.PD_CAN_ABORT This flag tells the dialog that it should have
667 a \"Cancel\" button which the user may press. If
668 this happens, the next call to Update() will
669 return false.
670
671 wx.PD_ELAPSED_TIME This flag tells the dialog that it should show
672 elapsed time (since creating the dialog).
673
674 wx.PD_ESTIMATED_TIME This flag tells the dialog that it should show
675 estimated time.
676
677 wx.PD_REMAINING_TIME This flag tells the dialog that it should show
678 remaining time.
679
680 wx.PD_SMOOTH Uses the wx.GA_SMOOTH style on the embedded
681 wx.Gauge widget.
682 ==================== =============================================
683 ");
684
685
686 // TODO: wxPD_CAN_SKIP
687
688 MustHaveApp(wxProgressDialog);
689
690 class wxProgressDialog : public wxFrame {
691 public:
692 %pythonAppend wxProgressDialog "self._setOORInfo(self)"
693
694 DocCtorStr(
695 wxProgressDialog(const wxString& title,
696 const wxString& message,
697 int maximum = 100,
698 wxWindow* parent = NULL,
699 int style = wxPD_AUTO_HIDE | wxPD_APP_MODAL ),
700 "Constructor. Creates the dialog, displays it and disables user input
701 for other windows, or, if wx.PD_APP_MODAL flag is not given, for its
702 parent window only.", "");
703
704 // TODO: support getting the skipped value back in the return value, but
705 // only if style is set. This is so the API doesn't change for existing
706 // users...
707 DocDeclStr(
708 virtual bool , Update(int value, const wxString& newmsg = wxPyEmptyString),
709 "Updates the dialog, setting the progress bar to the new value and, if
710 given changes the message above it. The value given should be less
711 than or equal to the maximum value given to the constructor and the
712 dialog is closed if it is equal to the maximum. Returns True unless
713 the Cancel button has been pressed.
714
715 If false is returned, the application can either immediately destroy
716 the dialog or ask the user for the confirmation and if the abort is
717 not confirmed the dialog may be resumed with Resume function.", "");
718
719 DocDeclStr(
720 void , Resume(),
721 "Can be used to continue with the dialog, after the user had chosen to
722 abort.", "");
723
724 };
725
726 //---------------------------------------------------------------------------
727
728 enum wxFindReplaceFlags
729 {
730 // downward search/replace selected (otherwise - upwards)
731 wxFR_DOWN = 1,
732
733 // whole word search/replace selected
734 wxFR_WHOLEWORD = 2,
735
736 // case sensitive search/replace selected (otherwise - case insensitive)
737 wxFR_MATCHCASE = 4
738 };
739
740
741 enum wxFindReplaceDialogStyles
742 {
743 // replace dialog (otherwise find dialog)
744 wxFR_REPLACEDIALOG = 1,
745
746 // don't allow changing the search direction
747 wxFR_NOUPDOWN = 2,
748
749 // don't allow case sensitive searching
750 wxFR_NOMATCHCASE = 4,
751
752 // don't allow whole word searching
753 wxFR_NOWHOLEWORD = 8
754 };
755
756
757
758 %constant wxEventType wxEVT_COMMAND_FIND;
759 %constant wxEventType wxEVT_COMMAND_FIND_NEXT;
760 %constant wxEventType wxEVT_COMMAND_FIND_REPLACE;
761 %constant wxEventType wxEVT_COMMAND_FIND_REPLACE_ALL;
762 %constant wxEventType wxEVT_COMMAND_FIND_CLOSE;
763
764
765 %pythoncode {
766 EVT_FIND = wx.PyEventBinder( wxEVT_COMMAND_FIND, 1 )
767 EVT_FIND_NEXT = wx.PyEventBinder( wxEVT_COMMAND_FIND_NEXT, 1 )
768 EVT_FIND_REPLACE = wx.PyEventBinder( wxEVT_COMMAND_FIND_REPLACE, 1 )
769 EVT_FIND_REPLACE_ALL = wx.PyEventBinder( wxEVT_COMMAND_FIND_REPLACE_ALL, 1 )
770 EVT_FIND_CLOSE = wx.PyEventBinder( wxEVT_COMMAND_FIND_CLOSE, 1 )
771
772 %# For backwards compatibility. Should they be removed?
773 EVT_COMMAND_FIND = EVT_FIND
774 EVT_COMMAND_FIND_NEXT = EVT_FIND_NEXT
775 EVT_COMMAND_FIND_REPLACE = EVT_FIND_REPLACE
776 EVT_COMMAND_FIND_REPLACE_ALL = EVT_FIND_REPLACE_ALL
777 EVT_COMMAND_FIND_CLOSE = EVT_FIND_CLOSE
778 }
779
780
781 DocStr(wxFindDialogEvent,
782 "Events for the FindReplaceDialog", "");
783
784 class wxFindDialogEvent : public wxCommandEvent
785 {
786 public:
787 wxFindDialogEvent(wxEventType commandType = wxEVT_NULL, int id = 0);
788
789 DocDeclStr(
790 int , GetFlags(),
791 "Get the currently selected flags: this is the combination of
792 wx.FR_DOWN, wx.FR_WHOLEWORD and wx.FR_MATCHCASE flags.", "");
793
794 DocDeclStr(
795 const wxString& , GetFindString(),
796 "Return the string to find (never empty).", "");
797
798 DocDeclStr(
799 const wxString& , GetReplaceString(),
800 "Return the string to replace the search string with (only for replace
801 and replace all events).", "");
802
803 DocDeclStr(
804 wxFindReplaceDialog *, GetDialog(),
805 "Return the pointer to the dialog which generated this event.", "");
806
807 DocDeclStr(
808 void , SetFlags(int flags),
809 "", "");
810
811 DocDeclStr(
812 void , SetFindString(const wxString& str),
813 "", "");
814
815 DocDeclStr(
816 void , SetReplaceString(const wxString& str),
817 "", "");
818 };
819
820
821
822 DocStr(wxFindReplaceData,
823 "wx.FindReplaceData holds the data for wx.FindReplaceDialog. It is used
824 to initialize the dialog with the default values and will keep the
825 last values from the dialog when it is closed. It is also updated each
826 time a `wx.FindDialogEvent` is generated so instead of using the
827 `wx.FindDialogEvent` methods you can also directly query this object.
828
829 Note that all SetXXX() methods may only be called before showing the
830 dialog and calling them has no effect later.", "
831
832 Flags
833 -----
834 ================ ===============================================
835 wx.FR_DOWN Downward search/replace selected (otherwise,
836 upwards)
837
838 wx.FR_WHOLEWORD Whole word search/replace selected
839
840 wx.FR_MATCHCASE Case sensitive search/replace selected
841 (otherwise, case insensitive)
842 ================ ===============================================
843 ");
844
845
846
847
848 class wxFindReplaceData : public wxObject
849 {
850 public:
851 DocCtorStr(
852 wxFindReplaceData(int flags=0),
853 "Constuctor initializes the flags to default value (0).", "");
854
855 ~wxFindReplaceData();
856
857
858 DocDeclStr(
859 const wxString& , GetFindString(),
860 "Get the string to find.", "");
861
862 DocDeclStr(
863 const wxString& , GetReplaceString(),
864 "Get the replacement string.", "");
865
866 DocDeclStr(
867 int , GetFlags(),
868 "Get the combination of flag values.", "");
869
870 DocDeclStr(
871 void , SetFlags(int flags),
872 "Set the flags to use to initialize the controls of the dialog.", "");
873
874 DocDeclStr(
875 void , SetFindString(const wxString& str),
876 "Set the string to find (used as initial value by the dialog).", "");
877
878 DocDeclStr(
879 void , SetReplaceString(const wxString& str),
880 "Set the replacement string (used as initial value by the dialog).", "");
881
882 };
883
884
885
886
887 DocStr(wxFindReplaceDialog,
888 "wx.FindReplaceDialog is a standard modeless dialog which is used to
889 allow the user to search for some text (and possibly replace it with
890 something else). The actual searching is supposed to be done in the
891 owner window which is the parent of this dialog. Note that it means
892 that unlike for the other standard dialogs this one must have a parent
893 window. Also note that there is no way to use this dialog in a modal
894 way; it is always, by design and implementation, modeless.", "
895
896
897 Window Styles
898 -------------
899
900 ===================== =========================================
901 wx.FR_REPLACEDIALOG replace dialog (otherwise find dialog)
902
903 wx.FR_NOUPDOWN don't allow changing the search direction
904
905 wx.FR_NOMATCHCASE don't allow case sensitive searching
906
907 wx.FR_NOWHOLEWORD don't allow whole word searching
908 ===================== =========================================
909 ");
910
911 MustHaveApp(wxFindReplaceDialog);
912
913 class wxFindReplaceDialog : public wxDialog {
914 public:
915 %pythonAppend wxFindReplaceDialog "self._setOORInfo(self)"
916 %pythonAppend wxFindReplaceDialog() ""
917
918 DocCtorStr(
919 wxFindReplaceDialog(wxWindow *parent,
920 wxFindReplaceData *data,
921 const wxString &title,
922 int style = 0),
923 "Create a FindReplaceDialog. The parent and data parameters must be
924 non-None. Use Show to display the dialog.", "");
925
926 DocCtorStrName(
927 wxFindReplaceDialog(),
928 "Precreate a FindReplaceDialog for 2-phase creation", "",
929 PreFindReplaceDialog);
930
931
932 DocDeclStr(
933 bool , Create(wxWindow *parent, wxFindReplaceData *data,
934 const wxString &title, int style = 0),
935 "Create the dialog, for 2-phase create.", "");
936
937
938 DocDeclStr(
939 const wxFindReplaceData *, GetData(),
940 "Get the FindReplaceData object used by this dialog.", "");
941
942 DocDeclStr(
943 void , SetData(wxFindReplaceData *data),
944 "Set the FindReplaceData object used by this dialog.", "");
945
946 };
947
948 //---------------------------------------------------------------------------
949 //---------------------------------------------------------------------------