a1bdd4ab9b
This is a generalization of wxMessageDialog based on the native task dialog under recent (Vista and later) Windows versions and implemented generically for the other ports for now. It provides the possibility to use additional controls in the message boxes (checkbox useful for the "Don't ask me again" kind of dialogs and collapsible detailed explanations field) and better look and feel under Windows. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
132 lines
4.6 KiB
Objective-C
132 lines
4.6 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/richmsgdlg.h
|
|
// Purpose: interface of wxRichMessageDialog
|
|
// Author: wxWidgets team
|
|
// RCS-ID: $Id$
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
@class wxRichMessageDialog
|
|
|
|
Extension of wxMessageDialog with additional functionality.
|
|
|
|
This class adds the possibility of using a checkbox (that is especially
|
|
useful for implementing the "Don't ask me again" kind of dialogs) and an
|
|
extra explanatory text which is initially collapsed and not shown to the
|
|
user but can be expanded to show more information.
|
|
|
|
Notice that currently the native dialog is used only under MSW when using
|
|
Vista or later Windows version. Elsewhere, or for older versions of
|
|
Windows, a generic implementation which is less familiar to the users is
|
|
used. Because of this it's recommended to use this class only if you do
|
|
need its extra functionality and use wxMessageDialog which does have native
|
|
implementation under all platforms otherwise. However if you do need to put
|
|
e.g. a checkbox in a dialog, you should definitely consider using this
|
|
class instead of using your own custom dialog because it will have much
|
|
better appearance at least under recent Windows versions.
|
|
|
|
To use this class, you need to create the dialog object and call
|
|
ShowCheckBox() and/or ShowDetailedText() to configure its contents.
|
|
Other than that, it is used in exactly the same way as wxMessageDialog and
|
|
supports all the styles supported by it. In particular, ShowModal() return
|
|
value is the same as for wxMessageDialog. The only difference is that you
|
|
need to use IsCheckBoxChecked() to examine the checkbox value if you had
|
|
called ShowCheckBox().
|
|
|
|
Here is a simple example:
|
|
@code
|
|
void MyFrame::ShowDialog()
|
|
{
|
|
if ( ... shouldn't show this dialog again ... )
|
|
return;
|
|
|
|
wxRichMessageDialog dlg(this, "Welcome to my wonderful program!");
|
|
dlg.ShowCheckBox("Don't show welcome dialog again");
|
|
dlg.ShowModal(); // return value ignored as we have "Ok" only anyhow
|
|
|
|
if ( dlg.IsCheckBoxChecked() )
|
|
... make sure we won't show it again the next time ...
|
|
}
|
|
@endcode
|
|
|
|
@since 2.9.2
|
|
|
|
@library{wxcore}
|
|
@category{cmndlg}
|
|
|
|
@see @ref overview_cmndlg_msg
|
|
*/
|
|
class wxRichMessageDialog : public wxRichMessageDialogBase
|
|
{
|
|
public:
|
|
/**
|
|
Constructor specifying the rich message dialog properties.
|
|
Works just like the constructor for wxMessageDialog.
|
|
*/
|
|
wxRichMessageDialog(wxWindow* parent,
|
|
const wxString& message,
|
|
const wxString& caption = wxMessageBoxCaptionStr,
|
|
long style = wxOK | wxCENTRE,
|
|
const wxPoint& pos = wxDefaultPosition);
|
|
|
|
/**
|
|
Shows a checkbox with a given label or hides it.
|
|
|
|
@param checkBoxText
|
|
If the parameter is non-empty a checkbox will be shown with that
|
|
label, otherwise it will be hidden.
|
|
@param checked
|
|
The initial state of the checkbox.
|
|
*/
|
|
void ShowCheckBox(const wxString& checkBoxText, bool checked = false);
|
|
|
|
|
|
/**
|
|
Retrieves the label for the checkbox.
|
|
|
|
@return
|
|
The label for the checkbox, will be the empty string if no
|
|
checkbox is used.
|
|
*/
|
|
wxString GetCheckBoxText() const;
|
|
|
|
/**
|
|
Shows or hides a detailed text and an expander that is used to
|
|
show or hide the detailed text.
|
|
|
|
@param detailedText
|
|
The detailed text that can be expanded when the dialog is shown,
|
|
if empty no detailed text will be used.
|
|
*/
|
|
void ShowDetailedText(const wxString& detailedText);
|
|
|
|
/**
|
|
Retrieves the detailed text.
|
|
|
|
@return
|
|
The detailed text or empty if detailed text is not used.
|
|
*/
|
|
wxString GetDetailedText() const;
|
|
|
|
/**
|
|
Retrieves the state of the checkbox.
|
|
|
|
If this method is called before showing the dialog, the initial value
|
|
of the checkbox, as set by ShowCheckBox() is used. If it is called
|
|
after calling wxDialog::ShowModal(), the value set by the user is
|
|
returned.
|
|
|
|
@return @true if the checkbox is checked or @false if not.
|
|
*/
|
|
bool IsCheckBoxChecked() const;
|
|
|
|
/**
|
|
Shows the dialog, returning one of wxID_OK, wxID_CANCEL, wxID_YES, wxID_NO.
|
|
|
|
IsCheckBoxChecked() can be called afterwards to retrieve the value of the
|
|
check box if one was used.
|
|
*/
|
|
virtual int ShowModal();
|
|
};
|