1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/msgdlgg.h
3// Purpose:     common header and base class for wxMessageDialog
4// Author:      Julian Smart
5// Modified by:
6// Created:
7// RCS-ID:      $Id: msgdlg.h 61872 2009-09-09 22:37:05Z VZ $
8// Copyright:   (c) Julian Smart
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_MSGDLG_H_BASE_
13#define _WX_MSGDLG_H_BASE_
14
15#include "wx/defs.h"
16
17#if wxUSE_MSGDLG
18
19class WXDLLEXPORT wxMessageDialogBase
20{
21protected:
22    // common validation of wxMessageDialog style
23    void SetMessageDialogStyle(long style)
24    {
25        wxASSERT_MSG( ((style & wxYES_NO) == wxYES_NO) || ((style & wxYES_NO) == 0),
26                      wxT("wxYES and wxNO may only be used together in wxMessageDialog") );
27
28        wxASSERT_MSG( (style & wxID_OK) != wxID_OK,
29                      wxT("wxMessageBox: Did you mean wxOK (and not wxID_OK)?") );
30
31        m_dialogStyle = style;
32    }
33    inline long GetMessageDialogStyle() const
34    {
35        return m_dialogStyle;
36    }
37
38private:
39    long m_dialogStyle;
40};
41
42#if defined(__WX_COMPILING_MSGDLGG_CPP__)
43#include "wx/generic/msgdlgg.h"
44#elif defined(__WXUNIVERSAL__) || defined(__WXGPE__)
45#include "wx/generic/msgdlgg.h"
46#elif defined(__WXPALMOS__)
47#include "wx/palmos/msgdlg.h"
48#elif defined(__WXMSW__)
49#include "wx/msw/msgdlg.h"
50#elif defined(__WXMOTIF__)
51#include "wx/motif/msgdlg.h"
52#elif defined(__WXGTK20__)
53#include "wx/gtk/msgdlg.h"
54#elif defined(__WXGTK__)
55#include "wx/generic/msgdlgg.h"
56#elif defined(__WXGTK__)
57#include "wx/generic/msgdlgg.h"
58#elif defined(__WXMAC__)
59#include "wx/mac/msgdlg.h"
60#elif defined(__WXCOCOA__)
61#include "wx/cocoa/msgdlg.h"
62#elif defined(__WXPM__)
63#include "wx/os2/msgdlg.h"
64#endif
65
66// ----------------------------------------------------------------------------
67// wxMessageBox: the simplest way to use wxMessageDialog
68// ----------------------------------------------------------------------------
69
70int WXDLLEXPORT wxMessageBox(const wxString& message,
71                             const wxString& caption = wxMessageBoxCaptionStr,
72                             long style = wxOK | wxCENTRE,
73                             wxWindow *parent = NULL,
74                             int x = wxDefaultCoord, int y = wxDefaultCoord);
75
76#endif // wxUSE_MSGDLG
77
78#endif
79    // _WX_MSGDLG_H_BASE_
80