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