/////////////////////////////////////////////////////////////////////////////
-// Name: msgdlgg.h
+// Name: wx/generic/msgdlgg.h
// Purpose: Generic wxMessageDialog
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c)
-// Licence: wxWindows licence
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __MSGDLGH_G__
-#define __MSGDLGH_G__
+#ifndef _WX_GENERIC_MSGDLGG_H_
+#define _WX_GENERIC_MSGDLGG_H_
-#ifdef __GNUG__
-#pragma interface "msgdlgg.h"
-#endif
+class WXDLLIMPEXP_FWD_CORE wxSizer;
-#include "wx/setup.h"
-#include "wx/dialog.h"
-
-// type is an 'or' (|) of wxOK, wxCANCEL, wxYES_NO
-// Returns wxYES/NO/OK/CANCEL
-
-WXDLLEXPORT_DATA(extern const wxChar*) wxMessageBoxCaptionStr;
-
-class WXDLLEXPORT wxGenericMessageDialog: public wxDialog
+class WXDLLIMPEXP_CORE wxGenericMessageDialog : public wxMessageDialogBase
{
-DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
-
public:
- wxGenericMessageDialog(wxWindow *parent, const wxString& message,
- const wxString& caption = wxMessageBoxCaptionStr,
- long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+ wxGenericMessageDialog(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption = wxMessageBoxCaptionStr,
+ long style = wxOK|wxCENTRE,
+ const wxPoint& pos = wxDefaultPosition);
+
+ virtual int ShowModal();
+
+protected:
+ // Creates a message dialog taking any options that have been set after
+ // object creation into account such as custom labels.
+ void DoCreateMsgdialog();
void OnYes(wxCommandEvent& event);
void OnNo(wxCommandEvent& event);
void OnCancel(wxCommandEvent& event);
-private:
- int m_dialogStyle;
-
-DECLARE_EVENT_TABLE()
-};
+ // can be overridden to provide more contents to the dialog
+ virtual void AddMessageDialogCheckBox(wxSizer *WXUNUSED(sizer)) { }
+ virtual void AddMessageDialogDetails(wxSizer *WXUNUSED(sizer)) { }
-#if !defined( __WXMSW__ ) && !defined( __WXMAC__) && !defined(__WXPM__)
-#define wxMessageDialog wxGenericMessageDialog
+private:
+ // Creates and returns a standard button sizer using the style of this
+ // dialog and the custom labels, if any.
+ //
+ // May return NULL on smart phone platforms not using buttons at all.
+ wxSizer *CreateMsgDlgButtonSizer();
-int wxMessageBox( const wxString& message
- ,const wxString& caption = wxMessageBoxCaptionStr
- ,long style = wxOK|wxCENTRE
- ,wxWindow *parent = (wxWindow *) NULL
- ,int x = -1
- ,int y = -1
- );
+ wxPoint m_pos;
+ bool m_created;
-#endif
+ DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
+};
-#endif
- // __MSGDLGH_G__
+#endif // _WX_GENERIC_MSGDLGG_H_