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