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