]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/msgdlgg.h
Fix menu event handlers calling order.
[wxWidgets.git] / include / wx / generic / msgdlgg.h
index 724d4c6e9d8c6d1926de5ba08ae2306b4ce79bdd..21db4aa32b672c0c78dcbb13da12e1d67d95ae88 100644 (file)
@@ -1,52 +1,56 @@
 /////////////////////////////////////////////////////////////////////////////
-// 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
+class WXDLLIMPEXP_CORE wxGenericMessageDialog : public wxMessageDialogBase
+{
+public:
+    wxGenericMessageDialog(wxWindow *parent,
+                           const wxString& message,
+                           const wxString& caption = wxMessageBoxCaptionStr,
+                           long style = wxOK|wxCENTRE,
+                           const wxPoint& pos = wxDefaultPosition);
 
-WXDLLEXPORT_DATA(extern const char*) wxMessageBoxCaptionStr;
+    virtual int ShowModal();
 
-class WXDLLEXPORT wxGenericMessageDialog: public wxDialog
-{
-DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
 protected:
-    long m_dialogStyle;
-public:
-    wxGenericMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption = wxMessageBoxCaptionStr,
-        long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+    // 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 OnHelp(wxCommandEvent& event);
     void OnCancel(wxCommandEvent& event);
 
-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)) { }
 
-#ifndef __WXMSW__
-#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 = 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_