File: wx.MessageDialog.txt

package info (click to toggle)
wxpython4.0 4.0.4%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 211,112 kB
  • sloc: cpp: 888,355; python: 223,130; makefile: 52,087; ansic: 45,780; sh: 3,012; xml: 1,534; perl: 264
file content (660 lines) | stat: -rw-r--r-- 18,623 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.MessageDialog:

==========================================================================================================================================
|phoenix_title|  **wx.MessageDialog**
==========================================================================================================================================

This class represents a dialog that shows a single or multi-line message, with a choice of ``wx.OK``, Yes, No and Cancel buttons.          





.. _MessageDialog-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  

- ``wx.OK``: Puts an Ok button in the message box. May be combined with  ``CANCEL`` .   
- ``wx.CANCEL``: Puts a Cancel button in the message box. Must be combined with either  ``OK``   or   ``YES_NO`` .   
- ``wx.YES_NO``: Puts Yes and No buttons in the message box. It is recommended to always use  ``CANCEL``   with this style as otherwise the message box won't have a close button under wxMSW and the user will be forced to answer it.   
- ``wx.HELP``: Puts a Help button to the message box. This button can have special appearance or be specially positioned if its label is not changed from the default one. Notice that using this button is not supported when showing a message box from non-main thread in OSX/Cocoa and it is not supported in OSX/Carbon at all. Available since wxWidgets 2.9.3.  
- ``wx.NO_DEFAULT``: Makes the "No" button default, can only be used with  ``YES_NO`` .   
- ``wx.CANCEL_DEFAULT``: Makes the "Cancel" button default, can only be used with  ``CANCEL`` . This style is currently not supported (and ignored) in wxOSX.   
- ``wx.YES_DEFAULT``: Makes the "Yes" button default, this is the default behaviour and this flag exists solely for symmetry with  ``NO_DEFAULT`` .   
- ``wx.OK_DEFAULT``: Makes the "``wx.OK``" button default, this is the default behaviour and this flag exists solely for symmetry with  ``CANCEL_DEFAULT`` .   
- ``wx.ICON_NONE``: Displays no icon in the dialog if possible (an icon might still be displayed if the current platform mandates its use). This style may be used to prevent the dialog from using the default icon based on  ``YES_NO``   presence as explained in   ``ICON_QUESTION``   and   ``ICON_INFORMATION``   documentation below.   
- ``wx.ICON_EXCLAMATION``: Displays an exclamation, or warning, icon in the dialog.  
- ``wx.ICON_ERROR``: Displays an error icon in the dialog.  
- ``wx.ICON_HAND``: Displays an error symbol, this is a MSW-inspired synonym for  ``ICON_ERROR`` .   
- ``wx.ICON_QUESTION``: Displays a question mark symbol. This icon is automatically used with  ``YES_NO``   so it's usually unnecessary to specify it explicitly. This style is not supported for message dialogs under wxMSW when a task dialog is used to implement them (i.e. when running under Windows Vista or later) because  `Microsoft guidelines <http://msdn.microsoft.com/en-us/library/aa511273.aspx>`_  indicate that no icon should be used for routine confirmations. If it is specified, no icon will be displayed.  
- ``wx.ICON_INFORMATION``: Displays an information symbol. This icon is used by default if  ``YES_NO``   is not given so it is usually unnecessary to specify it explicitly.   
- ``wx.ICON_AUTH_NEEDED``: Displays an authentication needed symbol. This style is only supported for message dialogs under wxMSW when a task dialog is used to implement them (i.e. when running under Windows Vista or later). In other cases the default icon selection logic will be used. Note this can be combined with other styles to provide a fallback. For instance, using ``wx.ICON_AUTH_NEEDED`` | ``wx.ICON_QUESTION`` will show a shield symbol on Windows Vista or above and a question symbol on other platforms. Available since wxWidgets 2.9.5  
- ``wx.STAY_ON_TOP``: Makes the message box stay on top of all other windows and not only just its parent (currently implemented only under MSW and GTK).  
- ``wx.CENTRE``: Centre the message box on its parent or on the screen if parent is not specified. Setting this style under MSW makes no differences as the dialog is always centered on the parent.  








         



.. seealso:: :ref:`MessageDialog Overview <messagedialog overview>`    







.. seealso:: :ref:`wx.RichMessageDialog`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>MessageDialog</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.MessageDialog_inheritance.png" alt="Inheritance diagram of MessageDialog" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="5,5,107,35"/> <area shape="rect" id="node4" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="57,83,168,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="131,5,212,35"/> <area shape="rect" id="node3" href="wx.Window.html" title="wx.Window" alt="" coords="69,160,157,189"/> <area shape="rect" id="node6" href="wx.NonOwnedWindow.html" title="wx.NonOwnedWindow" alt="" coords="34,237,192,267"/> <area shape="rect" id="node5" href="wx.TopLevelWindow.html" title="wx.TopLevelWindow" alt="" coords="42,315,184,344"/> <area shape="rect" id="node8" href="wx.Dialog.html" title="wx.Dialog" alt="" coords="72,392,153,421"/> <area shape="rect" id="node7" href="wx.MessageDialog.html" title="wx.MessageDialog" alt="" coords="44,469,183,499"/> </map> 
   </p>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.MessageDialog.__init__`                                               Constructor specifying the message box properties.
:meth:`~wx.MessageDialog.GetCancelLabel`                                         
:meth:`~wx.MessageDialog.GetCaption`                                             
:meth:`~wx.MessageDialog.GetEffectiveIcon`                                       
:meth:`~wx.MessageDialog.GetExtendedMessage`                                     
:meth:`~wx.MessageDialog.GetHelpLabel`                                           
:meth:`~wx.MessageDialog.GetMessage`                                             
:meth:`~wx.MessageDialog.GetMessageDialogStyle`                                  
:meth:`~wx.MessageDialog.GetNoLabel`                                             
:meth:`~wx.MessageDialog.GetOKLabel`                                             
:meth:`~wx.MessageDialog.GetYesLabel`                                            
:meth:`~wx.MessageDialog.HasCustomLabels`                                        
:meth:`~wx.MessageDialog.SetExtendedMessage`                                     Sets the extended message for the dialog: this message is usually an extension of the short message specified in the constructor or set with :meth:`~MessageDialog.SetMessage` .
:meth:`~wx.MessageDialog.SetHelpLabel`                                           Sets the label for the Help button.
:meth:`~wx.MessageDialog.SetMessage`                                             Sets the message shown by the dialog.
:meth:`~wx.MessageDialog.SetOKCancelLabels`                                      Overrides the default labels of the ``wx.OK`` and Cancel buttons.
:meth:`~wx.MessageDialog.SetOKLabel`                                             Overrides the default label of the ``wx.OK`` button.
:meth:`~wx.MessageDialog.SetYesNoCancelLabels`                                   Overrides the default labels of the Yes, No and Cancel buttons.
:meth:`~wx.MessageDialog.SetYesNoLabels`                                         Overrides the default labels of the Yes and No buttons.
:meth:`~wx.MessageDialog.ShowModal`                                              Shows the dialog, returning one of ``wx.ID_OK``, ``wx.ID_CANCEL``, ``wx.ID_YES``, ``wx.ID_NO`` or ``wx.ID_HELP``.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.MessageDialog.CancelLabel`                                            See :meth:`~wx.MessageDialog.GetCancelLabel`
:attr:`~wx.MessageDialog.Caption`                                                See :meth:`~wx.MessageDialog.GetCaption`
:attr:`~wx.MessageDialog.EffectiveIcon`                                          See :meth:`~wx.MessageDialog.GetEffectiveIcon`
:attr:`~wx.MessageDialog.ExtendedMessage`                                        See :meth:`~wx.MessageDialog.GetExtendedMessage` and :meth:`~wx.MessageDialog.SetExtendedMessage`
:attr:`~wx.MessageDialog.HelpLabel`                                              See :meth:`~wx.MessageDialog.GetHelpLabel` and :meth:`~wx.MessageDialog.SetHelpLabel`
:attr:`~wx.MessageDialog.Message`                                                See :meth:`~wx.MessageDialog.GetMessage` and :meth:`~wx.MessageDialog.SetMessage`
:attr:`~wx.MessageDialog.MessageDialogStyle`                                     See :meth:`~wx.MessageDialog.GetMessageDialogStyle`
:attr:`~wx.MessageDialog.NoLabel`                                                See :meth:`~wx.MessageDialog.GetNoLabel`
:attr:`~wx.MessageDialog.OKLabel`                                                See :meth:`~wx.MessageDialog.GetOKLabel` and :meth:`~wx.MessageDialog.SetOKLabel`
:attr:`~wx.MessageDialog.YesLabel`                                               See :meth:`~wx.MessageDialog.GetYesLabel`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.MessageDialog(Dialog)

   **Possible constructors**::

       MessageDialog(parent, message, caption=MessageBoxCaptionStr,
                     style=OK|CENTRE, pos=DefaultPosition)
       
   
   This class represents a dialog that shows a single or multi-line
   message, with a choice of ``wx.OK``, Yes, No and Cancel buttons.



   .. method:: __init__(self, parent, message, caption=MessageBoxCaptionStr, style=OK|CENTRE, pos=DefaultPosition)

      Constructor specifying the message box properties.                  

      Use :meth:`ShowModal`   to show the dialog. 

      `style`  may be a bit list of the identifiers described above. 

      Notice that not all styles are compatible: only one of  ``OK``   and   ``YES_NO``   may be specified (and one of them must be specified) and at most one default button style can be used and it is only valid if the corresponding button is shown in the message box. 




      :param `parent`: Parent window.   
      :type `parent`: wx.Window
      :param `message`: Message to show in the dialog.   
      :type `message`: string
      :param `caption`: The dialog title.   
      :type `caption`: string
      :param `style`: Combination of style flags described above.   
      :type `style`: long
      :param `pos`: Dialog position (ignored under MSW).   
      :type `pos`: wx.Point












                  





   .. method:: GetCancelLabel(self)



      :rtype: `string`








   .. method:: GetCaption(self)



      :rtype: `string`








   .. method:: GetEffectiveIcon(self)



      :rtype: `long`








   .. method:: GetExtendedMessage(self)



      :rtype: `string`








   .. method:: GetHelpLabel(self)



      :rtype: `string`








   .. method:: GetMessage(self)



      :rtype: `string`








   .. method:: GetMessageDialogStyle(self)



      :rtype: `long`








   .. method:: GetNoLabel(self)



      :rtype: `string`








   .. method:: GetOKLabel(self)



      :rtype: `string`








   .. method:: GetYesLabel(self)



      :rtype: `string`








   .. method:: HasCustomLabels(self)



      :rtype: `bool`








   .. method:: SetExtendedMessage(self, extendedMessage)

      Sets the extended message for the dialog: this message is usually an extension of the short message specified in the constructor or set with :meth:`SetMessage` .                  

      If it is set, the main message appears highlighted  

                


      :param `extendedMessage`: 
      :type `extendedMessage`: string






      .. versionadded:: 2.9.0 
     








   .. method:: SetHelpLabel(self, help)

      Sets the label for the Help button.                  

      Please see the remarks in :meth:`SetYesNoLabels`   documentation. 

      Notice that changing the label of the help button resets its special status (if any, this depends on the platform) and it will be treated just like another button in this case. 

                


      :param `help`: 
      :type `help`: MessageDialogButtonLabel




      :rtype: `bool`







      .. versionadded:: 2.9.3 
     








   .. method:: SetMessage(self, message)

      Sets the message shown by the dialog.                  

                


      :param `message`: 
      :type `message`: string






      .. versionadded:: 2.9.0 
     








   .. method:: SetOKCancelLabels(self, ok, cancel)

      Overrides the default labels of the ``wx.OK`` and Cancel buttons.                  

      Please see the remarks in :meth:`SetYesNoLabels`   documentation. 

                


      :param `ok`: 
      :type `ok`: MessageDialogButtonLabel
      :param `cancel`: 
      :type `cancel`: MessageDialogButtonLabel




      :rtype: `bool`







      .. versionadded:: 2.9.0 
     








   .. method:: SetOKLabel(self, ok)

      Overrides the default label of the ``wx.OK`` button.                  

      Please see the remarks in :meth:`SetYesNoLabels`   documentation. 

                


      :param `ok`: 
      :type `ok`: MessageDialogButtonLabel




      :rtype: `bool`







      .. versionadded:: 2.9.0 
     








   .. method:: SetYesNoCancelLabels(self, yes, no, cancel)

      Overrides the default labels of the Yes, No and Cancel buttons.                  

      Please see the remarks in :meth:`SetYesNoLabels`   documentation. 

                


      :param `yes`: 
      :type `yes`: MessageDialogButtonLabel
      :param `no`: 
      :type `no`: MessageDialogButtonLabel
      :param `cancel`: 
      :type `cancel`: MessageDialogButtonLabel




      :rtype: `bool`







      .. versionadded:: 2.9.0 
     








   .. method:: SetYesNoLabels(self, yes, no)

      Overrides the default labels of the Yes and No buttons.                  

      The arguments of this function can be either strings or one of the standard identifiers, such as  ``ID_APPLY``   or   ``ID_OPEN`` . Notice that even if the label is specified as an identifier, the return value of the dialog  :meth:`ShowModal`   method still remains one of  ``ID_OK`` ,   ``ID_CANCEL`` ,   ``ID_YES``   or   ``ID_NO``   values, i.e. this identifier changes only the label appearance but not the return code generated by the button. It is possible to mix stock identifiers and string labels in the same function call, for example:  ::

                  dlg = wx.MessageDialog(parent, message, caption)
                  dlg.SetYesNoLabels(wx.ID_SAVE, "&Don't save")



      Also notice that this function is not currently available on all platforms (although as of wxWidgets 2.9.0 it is implemented in all major ports), so it may return ``False`` to indicate that the labels couldn't be changed. If it returns ``True``, the labels were set successfully. 

      Typically, if the function was used successfully, the main dialog message may need to be changed, e.g.: ::

                  dlg = wx.MessageDialog(parent, message, caption)
                  if dlg.SetYesNoLabels("&Quit", "&Don't quit"):
                      dlg.SetMessage("What do you want to do?")
                  else: # buttons have standard "Yes"/"No" values, so rephrase the question
                      dlg.SetMessage("Do you really want to quit?")



                


      :param `yes`: 
      :type `yes`: MessageDialogButtonLabel
      :param `no`: 
      :type `no`: MessageDialogButtonLabel




      :rtype: `bool`







      .. versionadded:: 2.9.0 
     








   .. method:: ShowModal(self)

      Shows the dialog, returning one of ``wx.ID_OK``, ``wx.ID_CANCEL``, ``wx.ID_YES``, ``wx.ID_NO`` or ``wx.ID_HELP``.                  

      Notice that this method returns the identifier of the button which was clicked unlike :ref:`wx.MessageBox`  function.                  

      :rtype: `int`








   .. attribute:: CancelLabel

      See :meth:`~wx.MessageDialog.GetCancelLabel`


   .. attribute:: Caption

      See :meth:`~wx.MessageDialog.GetCaption`


   .. attribute:: EffectiveIcon

      See :meth:`~wx.MessageDialog.GetEffectiveIcon`


   .. attribute:: ExtendedMessage

      See :meth:`~wx.MessageDialog.GetExtendedMessage` and :meth:`~wx.MessageDialog.SetExtendedMessage`


   .. attribute:: HelpLabel

      See :meth:`~wx.MessageDialog.GetHelpLabel` and :meth:`~wx.MessageDialog.SetHelpLabel`


   .. attribute:: Message

      See :meth:`~wx.MessageDialog.GetMessage` and :meth:`~wx.MessageDialog.SetMessage`


   .. attribute:: MessageDialogStyle

      See :meth:`~wx.MessageDialog.GetMessageDialogStyle`


   .. attribute:: NoLabel

      See :meth:`~wx.MessageDialog.GetNoLabel`


   .. attribute:: OKLabel

      See :meth:`~wx.MessageDialog.GetOKLabel` and :meth:`~wx.MessageDialog.SetOKLabel`


   .. attribute:: YesLabel

      See :meth:`~wx.MessageDialog.GetYesLabel`