]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/msgdlg.h
don't define wxHAS_BUTTON_BITMAP for wxUniv (closes #10907)
[wxWidgets.git] / include / wx / gtk / msgdlg.h
index a545631340a290070112883f1de158054435bcbb..785a0b18e2ac57da4937839bd32a7675660d21e1 100644 (file)
@@ -1,56 +1,51 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        msgdlgg.h
-// Purpose:     Generic wxMessageDialog
-// Author:      Julian Smart
+// Name:        wx/gtk/msgdlg.h
+// Purpose:     wxMessageDialog for GTK+2
+// Author:      Vaclav Slavik
 // Modified by:
-// Created:     01/02/97
+// Created:     2003/02/28
 // RCS-ID:      $Id$
-// Copyright:   (c)
-// Licence:    wxWindows licence
+// Copyright:   (c) Vaclav Slavik, 2003
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __MSGDLGH_G__
-#define __MSGDLGH_G__
+#ifndef _WX_GTK_MSGDLG_H_
+#define _WX_GTK_MSGDLG_H_
 
-#ifdef __GNUG__
-#pragma interface "msgdlgg.h"
-#endif
-
-#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 wxMessageDialog : public wxMessageDialogWithCustomLabels
 {
-DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
-
 public:
-    wxGenericMessageDialog(wxWindow *parent, const wxString& message, 
-        const wxString& caption = wxMessageBoxCaptionStr,
-        long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
-
-    void OnYes(wxCommandEvent& event);
-    void OnNo(wxCommandEvent& event);
-    void OnCancel(wxCommandEvent& event);
-    
-private:
-    wxList  m_buttons;
-    int     m_dialogStyle;
-
-DECLARE_EVENT_TABLE()
-};
+    wxMessageDialog(wxWindow *parent, const wxString& message,
+                    const wxString& caption = wxMessageBoxCaptionStr,
+                    long style = wxOK|wxCENTRE,
+                    const wxPoint& pos = wxDefaultPosition);
+
+    virtual int ShowModal();
+    virtual bool Show(bool WXUNUSED(show) = true) { return false; }
+
+protected:
+    // implement some base class methods to do nothing to avoid asserts and
+    // GTK warnings, since this is not a real wxDialog.
+    virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
+                           int WXUNUSED(width), int WXUNUSED(height),
+                           int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {}
+    virtual void DoMoveWindow(int WXUNUSED(x), int WXUNUSED(y),
+                              int WXUNUSED(width), int WXUNUSED(height)) {}
+    // override to convert wx mnemonics to GTK+ ones and handle stock ids
+    virtual void DoSetCustomLabel(wxString& var, const ButtonLabel& label);
 
-#if !defined( __WXMSW__ ) && !defined( __WXMAC__)
-#define wxMessageDialog wxGenericMessageDialog
+private:
+    // override to use stock GTK+ defaults instead of just string ones
+    virtual wxString GetDefaultYesLabel() const;
+    virtual wxString GetDefaultNoLabel() const;
+    virtual wxString GetDefaultOKLabel() const;
+    virtual wxString GetDefaultCancelLabel() const;
 
-int wxMessageBox(const wxString& message, const wxString& caption = wxMessageBoxCaptionStr, 
-  long style = wxOK|wxCENTRE, wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1);
+    // create the real GTK+ dialog: this is done from ShowModal() to allow
+    // changing the message between constructing the dialog and showing it
+    void GTKCreateMsgDialog();
 
-#endif
+    DECLARE_DYNAMIC_CLASS(wxMessageDialog)
+};
 
-#endif
-       // __MSGDLGH_G__
+#endif // _WX_GTK_MSGDLG_H_