X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57dde4bd5860cda4666326b611f535dfc28139f2..8e1b8897f851b37992af5211e7f0a2db6b3e6eb5:/include/wx/gtk/msgdlg.h diff --git a/include/wx/gtk/msgdlg.h b/include/wx/gtk/msgdlg.h index a545631340..785a0b18e2 100644 --- a/include/wx/gtk/msgdlg.h +++ b/include/wx/gtk/msgdlg.h @@ -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_