]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/msgdlg.h
Skeleton for generic Drag code
[wxWidgets.git] / include / wx / gtk / msgdlg.h
index 31bbf814cf5ed6aa55fc277b13089b13c702a83e..785a0b18e2ac57da4937839bd32a7675660d21e1 100644 (file)
@@ -1,40 +1,27 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        msgdlg.h
+// Name:        wx/gtk/msgdlg.h
 // Purpose:     wxMessageDialog for GTK+2
 // Author:      Vaclav Slavik
 // Modified by:
 // Created:     2003/02/28
 // RCS-ID:      $Id$
 // Copyright:   (c) Vaclav Slavik, 2003
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __MSGDLG_H__
-#define __MSGDLG_H__
+#ifndef _WX_GTK_MSGDLG_H_
+#define _WX_GTK_MSGDLG_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "msgdlg.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 wxMessageDialog: public wxDialog
+class WXDLLIMPEXP_CORE wxMessageDialog : public wxMessageDialogWithCustomLabels
 {
 public:
     wxMessageDialog(wxWindow *parent, const wxString& message,
                     const wxString& caption = wxMessageBoxCaptionStr,
                     long style = wxOK|wxCENTRE,
                     const wxPoint& pos = wxDefaultPosition);
-    ~wxMessageDialog();
 
-    int ShowModal();
-    virtual bool Show( bool WXUNUSED(show) = true ) { return false; };
+    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
@@ -44,13 +31,21 @@ protected:
                            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);
 
 private:
-    wxString m_caption;
-    wxString m_message;
-    long m_dialogStyle;
+    // 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;
+
+    // create the real GTK+ dialog: this is done from ShowModal() to allow
+    // changing the message between constructing the dialog and showing it
+    void GTKCreateMsgDialog();
 
     DECLARE_DYNAMIC_CLASS(wxMessageDialog)
 };
 
-#endif
+#endif // _WX_GTK_MSGDLG_H_