1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Frame classes for MDI document/view applications
4 // Author: Julian Smart
7 // Copyright: (c) 1997 Julian Smart
8 // (c) 2010 Vadim Zeitlin
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
17 #if wxUSE_MDI_ARCHITECTURE
19 #include "wx/docview.h"
23 // "non dll-interface class 'wxDocXXXFrameAny<>' used as base interface for
24 // dll-interface class 'wxDocMDIXXXFrame'" -- this is bogus as the template
25 // will be DLL-exported but only once it is used as base class here!
26 #pragma warning (push)
27 #pragma warning (disable:4275)
30 // Define MDI versions of the doc-view frame classes. Note that we need to
31 // define them as classes for wxRTTI, otherwise we could simply define them as
34 // ----------------------------------------------------------------------------
35 // An MDI document parent frame
36 // ----------------------------------------------------------------------------
39 wxDocParentFrameAny
<wxMDIParentFrame
> wxDocMDIParentFrameBase
;
41 class WXDLLIMPEXP_CORE wxDocMDIParentFrame
: public wxDocMDIParentFrameBase
44 wxDocMDIParentFrame() : wxDocMDIParentFrameBase() { }
46 wxDocMDIParentFrame(wxDocManager
*manager
,
49 const wxString
& title
,
50 const wxPoint
& pos
= wxDefaultPosition
,
51 const wxSize
& size
= wxDefaultSize
,
52 long style
= wxDEFAULT_FRAME_STYLE
,
53 const wxString
& name
= wxFrameNameStr
)
54 : wxDocMDIParentFrameBase(manager
,
55 parent
, id
, title
, pos
, size
, style
, name
)
60 DECLARE_CLASS(wxDocMDIParentFrame
)
61 wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame
);
64 // ----------------------------------------------------------------------------
65 // An MDI document child frame
66 // ----------------------------------------------------------------------------
69 wxDocChildFrameAny
<wxMDIChildFrame
, wxMDIParentFrame
> wxDocMDIChildFrameBase
;
71 class WXDLLIMPEXP_CORE wxDocMDIChildFrame
: public wxDocMDIChildFrameBase
74 wxDocMDIChildFrame() { }
76 wxDocMDIChildFrame(wxDocument
*doc
,
78 wxMDIParentFrame
*parent
,
80 const wxString
& title
,
81 const wxPoint
& pos
= wxDefaultPosition
,
82 const wxSize
& size
= wxDefaultSize
,
83 long style
= wxDEFAULT_FRAME_STYLE
,
84 const wxString
& name
= wxFrameNameStr
)
85 : wxDocMDIChildFrameBase(doc
, view
,
86 parent
, id
, title
, pos
, size
, style
, name
)
91 DECLARE_CLASS(wxDocMDIChildFrame
)
92 wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame
);
99 #endif // wxUSE_MDI_ARCHITECTURE
101 #endif // _WX_DOCMDI_H_