1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Frame classes for MDI document/view applications
4 // Author: Julian Smart
6 // Copyright: (c) 1997 Julian Smart
7 // (c) 2010 Vadim Zeitlin
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
16 #if wxUSE_MDI_ARCHITECTURE
18 #include "wx/docview.h"
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)
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
33 // ----------------------------------------------------------------------------
34 // An MDI document parent frame
35 // ----------------------------------------------------------------------------
38 wxDocParentFrameAny
<wxMDIParentFrame
> wxDocMDIParentFrameBase
;
40 class WXDLLIMPEXP_CORE wxDocMDIParentFrame
: public wxDocMDIParentFrameBase
43 wxDocMDIParentFrame() : wxDocMDIParentFrameBase() { }
45 wxDocMDIParentFrame(wxDocManager
*manager
,
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
)
59 DECLARE_CLASS(wxDocMDIParentFrame
)
60 wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame
);
63 // ----------------------------------------------------------------------------
64 // An MDI document child frame
65 // ----------------------------------------------------------------------------
68 wxDocChildFrameAny
<wxMDIChildFrame
, wxMDIParentFrame
> wxDocMDIChildFrameBase
;
70 class WXDLLIMPEXP_CORE wxDocMDIChildFrame
: public wxDocMDIChildFrameBase
73 wxDocMDIChildFrame() { }
75 wxDocMDIChildFrame(wxDocument
*doc
,
77 wxMDIParentFrame
*parent
,
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
)
90 DECLARE_CLASS(wxDocMDIChildFrame
)
91 wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame
);
98 #endif // wxUSE_MDI_ARCHITECTURE
100 #endif // _WX_DOCMDI_H_