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