/**
@class wxMessageDialog
- @wxheader{msgdlg.h}
This class represents a dialog that shows a single or multi-line message,
with a choice of OK, Yes, No and Cancel buttons.
@c wxCANCEL.
@style{wxNO_DEFAULT}
Makes the "No" button default, can only be used with @c wxYES_NO.
+ @style{wxCANCEL_DEFAULT}
+ Makes the "Cancel" button default, can only be used with @c wxCANCEL
@style{wxYES_DEFAULT}
Makes the "Yes" button default, this is the default behaviour and
this flag exists solely for symmetry with @c wxNO_DEFAULT.
+ @style{wxOK_DEFAULT}
+ Makes the "OK" button default, this is the default behaviour and
+ this flag exists solely for symmetry with @c wxCANCEL_DEFAULT.
@style{wxICON_EXCLAMATION}
Displays an exclamation mark symbol.
@style{wxICON_ERROR}
implemented only under MSW).
@endStyleTable
+ Notice that not all styles are compatible: only one of @c wxOK and @c
+ wxYES_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.
@param message
*/
wxMessageDialog(wxWindow* parent, const wxString& message,
const wxString& caption = "Message box",
- long style = wxOK | wxCANCEL,
+ long style = wxOK | wxCENTRE,
const wxPoint& pos = wxDefaultPosition);
/**
Please see the remarks in SetYesNoLabels() documentation.
*/
- bool SetOKCancelLabels(const wxString ok, const wxString cancel);
+ virtual bool SetOKCancelLabels(const ButtonLabel& ok,
+ const ButtonLabel& cancel);
/**
Overrides the default label of the OK button.
Please see the remarks in SetYesNoLabels() documentation.
*/
- bool SetOKLabel(const wxString ok);
+ virtual bool SetOKLabel(const ButtonLabel& ok);
/**
Overrides the default labels of the Yes, No and Cancel buttons.
Please see the remarks in SetYesNoLabels() documentation.
*/
- bool SetYesNoCancelLabels(const wxString yes, const wxString no,
- const wxString cancel);
+ bool SetYesNoCancelLabels(const ButtonLabel& yes, const ButtonLabel& no,
+ const ButtonLabel& cancel);
/**
Overrides the default labels of the Yes and No buttons.
- Notice that this function is not currently available on all platforms,
- so it may return @false to indicate that the labels couldn't be
- changed. If it returns @true (currently only under wxMac), the labels
- were set successfully. Typically, if the function was used
+ The arguments of this function can be either strings or one of the
+ standard identifiers, such as @c wxID_APPLY or @c wxID_OPEN. Notice
+ that even if the label is specified as an identifier, the return value
+ of the dialog ShowModal() method still remains one of @c wxID_OK, @c
+ wxID_CANCEL, @c wxID_YES or @c wxID_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:
+ @code
+ wxMessageDialog dlg(...);
+ dlg.SetYesNoLabels(wxID_SAVE, _("&Don't save"));
+ @endcode
+
+ 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 (currently only under wxMac),
+ the labels were set successfully. Typically, if the function was used
successfully, the main dialog message may need to be changed, e.g.:
@code
wxMessageDialog dlg(...);
dlg.SetMessage(_("Do you really want to quit?"));
@endcode
*/
- bool SetYesNoLabels(const wxString yes, const wxString no);
+ virtual bool SetYesNoLabels(const ButtonLabel& yes, const ButtonLabel& no);
/**
Shows the dialog, returning one of wxID_OK, wxID_CANCEL, wxID_YES,
Notice that this method returns the identifier of the button which was
clicked unlike wxMessageBox() function.
*/
- int ShowModal();
+ virtual int ShowModal();
};