1. Derive wxMessageDialogBase from wxDialog (why did we use multiple

inheritance here?), moved more wxMessageDialog fields into the base class
2. Added functions to set the text of message box buttons (patch 1700393,
   currently only implemented for wxMac)
3. Added wxMessageDialog::SetMessage() and SetExtendedMessage() and
   implemented them for wxMac (part of the patch), wxGTK 2.4+ and in
   a generic way for everybody else
4. Allow changing the dialog attributes between creating and showing it,
   for this the real dialog creation is now done on in ShowModal() in all
   ports


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-05-24 12:50:42 +00:00
parent f3d32879d6
commit 2afb9e1690
18 changed files with 429 additions and 262 deletions

View File

@@ -9,36 +9,33 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __MSGDLGH_G__
#define __MSGDLGH_G__
#ifndef _WX_GENERIC_MSGDLGG_H_
#define _WX_GENERIC_MSGDLGG_H_
#include "wx/defs.h"
#include "wx/dialog.h"
// type is an 'or' (|) of wxOK, wxCANCEL, wxYES_NO
// Returns wxYES/NO/OK/CANCEL
extern WXDLLEXPORT_DATA(const wxChar) wxMessageBoxCaptionStr[];
class WXDLLEXPORT wxGenericMessageDialog: public wxDialog, public wxMessageDialogBase
class WXDLLEXPORT 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:
void OnYes(wxCommandEvent& event);
void OnNo(wxCommandEvent& event);
void OnCancel(wxCommandEvent& event);
private:
void DoCreateMsgdialog();
wxPoint m_pos;
bool m_created;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericMessageDialog)
};
#if (!defined( __WXMSW__ ) && !defined( __WXMAC__) && !defined(__WXPM__)) || defined(__WXUNIVERSAL__)
#define wxMessageDialog wxGenericMessageDialog
#endif
#endif // __MSGDLGH_G__
#endif // _WX_GENERIC_MSGDLGG_H_