Add more checks for Intel compiler.
[wxWidgets.git] / include / wx / docmdi.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/docmdi.h
3 // Purpose: Frame classes for MDI document/view applications
4 // Author: Julian Smart
5 // Created: 01/02/97
6 // Copyright: (c) 1997 Julian Smart
7 // (c) 2010 Vadim Zeitlin
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_DOCMDI_H_
12 #define _WX_DOCMDI_H_
13
14 #include "wx/defs.h"
15
16 #if wxUSE_MDI_ARCHITECTURE
17
18 #include "wx/docview.h"
19 #include "wx/mdi.h"
20
21 #ifdef __VISUALC6__
22 // "non dll-interface class 'wxDocXXXFrameAny<>' used as base interface for
23 // dll-interface class 'wxDocMDIXXXFrame'" -- this is bogus as the template
24 // will be DLL-exported but only once it is used as base class here!
25 #pragma warning (push)
26 #pragma warning (disable:4275)
27 #endif
28
29 // Define MDI versions of the doc-view frame classes. Note that we need to
30 // define them as classes for wxRTTI, otherwise we could simply define them as
31 // typedefs.
32
33 // ----------------------------------------------------------------------------
34 // An MDI document parent frame
35 // ----------------------------------------------------------------------------
36
37 typedef
38 wxDocParentFrameAny<wxMDIParentFrame> wxDocMDIParentFrameBase;
39
40 class WXDLLIMPEXP_CORE wxDocMDIParentFrame : public wxDocMDIParentFrameBase
41 {
42 public:
43 wxDocMDIParentFrame() : wxDocMDIParentFrameBase() { }
44
45 wxDocMDIParentFrame(wxDocManager *manager,
46 wxFrame *parent,
47 wxWindowID id,
48 const wxString& title,
49 const wxPoint& pos = wxDefaultPosition,
50 const wxSize& size = wxDefaultSize,
51 long style = wxDEFAULT_FRAME_STYLE,
52 const wxString& name = wxFrameNameStr)
53 : wxDocMDIParentFrameBase(manager,
54 parent, id, title, pos, size, style, name)
55 {
56 }
57
58 private:
59 DECLARE_CLASS(wxDocMDIParentFrame)
60 wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame);
61 };
62
63 // ----------------------------------------------------------------------------
64 // An MDI document child frame
65 // ----------------------------------------------------------------------------
66
67 typedef
68 wxDocChildFrameAny<wxMDIChildFrame, wxMDIParentFrame> wxDocMDIChildFrameBase;
69
70 class WXDLLIMPEXP_CORE wxDocMDIChildFrame : public wxDocMDIChildFrameBase
71 {
72 public:
73 wxDocMDIChildFrame() { }
74
75 wxDocMDIChildFrame(wxDocument *doc,
76 wxView *view,
77 wxMDIParentFrame *parent,
78 wxWindowID id,
79 const wxString& title,
80 const wxPoint& pos = wxDefaultPosition,
81 const wxSize& size = wxDefaultSize,
82 long style = wxDEFAULT_FRAME_STYLE,
83 const wxString& name = wxFrameNameStr)
84 : wxDocMDIChildFrameBase(doc, view,
85 parent, id, title, pos, size, style, name)
86 {
87 }
88
89 private:
90 DECLARE_CLASS(wxDocMDIChildFrame)
91 wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame);
92 };
93
94 #ifdef __VISUALC6__
95 #pragma warning (pop)
96 #endif
97
98 #endif // wxUSE_MDI_ARCHITECTURE
99
100 #endif // _WX_DOCMDI_H_