///////////////////////////////////////////////////////////////////////////// // Name: wx/richmsgdlg.h // Purpose: wxRichMessageDialogBase // Author: Rickard Westerlund // Created: 2010-07-03 // Copyright: (c) 2010 wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_RICHMSGDLG_H_BASE_ #define _WX_RICHMSGDLG_H_BASE_ #include "wx/defs.h" #if wxUSE_RICHMSGDLG #include "wx/msgdlg.h" // Extends a message dialog with an optional checkbox and user-expandable // detailed text. class WXDLLIMPEXP_CORE wxRichMessageDialogBase : public wxGenericMessageDialog { public: wxRichMessageDialogBase( wxWindow *parent, const wxString& message, const wxString& caption, long style ) : wxGenericMessageDialog( parent, message, caption, style ), m_detailsExpanderCollapsedLabel( wxGetTranslation("&See details") ), m_detailsExpanderExpandedLabel( wxGetTranslation("&Hide details") ), m_checkBoxValue( false ), m_footerIcon( 0 ) { } void ShowCheckBox(const wxString& checkBoxText, bool checked = false) { m_checkBoxText = checkBoxText; m_checkBoxValue = checked; } wxString GetCheckBoxText() const { return m_checkBoxText; } void ShowDetailedText(const wxString& detailedText) { m_detailedText = detailedText; } wxString GetDetailedText() const { return m_detailedText; } virtual bool IsCheckBoxChecked() const { return m_checkBoxValue; } void SetFooterText(const wxString& footerText) { m_footerText = footerText; } wxString GetFooterText() const { return m_footerText; } void SetFooterIcon(int icon) { m_footerIcon = icon; } int GetFooterIcon() const { return m_footerIcon; } protected: const wxString m_detailsExpanderCollapsedLabel; const wxString m_detailsExpanderExpandedLabel; wxString m_checkBoxText; bool m_checkBoxValue; wxString m_detailedText; wxString m_footerText; int m_footerIcon; private: void ShowDetails(bool shown); wxDECLARE_NO_COPY_CLASS(wxRichMessageDialogBase); }; // Always include the generic version as it's currently used as the base class // by the MSW native implementation too. #include "wx/generic/richmsgdlgg.h" #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) #include "wx/msw/richmsgdlg.h" #else class WXDLLIMPEXP_CORE wxRichMessageDialog : public wxGenericRichMessageDialog { public: wxRichMessageDialog( wxWindow *parent, const wxString& message, const wxString& caption = wxMessageBoxCaptionStr, long style = wxOK | wxCENTRE ) : wxGenericRichMessageDialog( parent, message, caption, style ) { } private: wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxRichMessageDialog); }; #endif #endif // wxUSE_RICHMSGDLG #endif // _WX_RICHMSGDLG_H_BASE_