1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Frame classes for MDI document/view applications
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
17 #if wxUSE_MDI_ARCHITECTURE
19 #include "wx/docview.h"
23 * Use this instead of wxMDIParentFrame
26 class WXDLLIMPEXP_CORE wxDocMDIParentFrame
: public wxMDIParentFrame
29 wxDocMDIParentFrame();
30 wxDocMDIParentFrame(wxDocManager
*manager
, wxFrame
*parent
, wxWindowID id
,
31 const wxString
& title
, const wxPoint
& pos
= wxDefaultPosition
,
32 const wxSize
& size
= wxDefaultSize
, long style
= wxDEFAULT_FRAME_STYLE
, const wxString
& name
= wxFrameNameStr
);
34 bool Create(wxDocManager
*manager
, wxFrame
*parent
, wxWindowID id
,
35 const wxString
& title
, const wxPoint
& pos
= wxDefaultPosition
,
36 const wxSize
& size
= wxDefaultSize
, long style
= wxDEFAULT_FRAME_STYLE
, const wxString
& name
= wxFrameNameStr
);
38 wxDocManager
*GetDocumentManager(void) const { return m_docManager
; }
40 void OnExit(wxCommandEvent
& event
);
41 void OnMRUFile(wxCommandEvent
& event
);
42 void OnCloseWindow(wxCloseEvent
& event
);
47 virtual bool TryValidator(wxEvent
& event
);
49 wxDocManager
*m_docManager
;
52 DECLARE_CLASS(wxDocMDIParentFrame
)
54 wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame
);
58 * Use this instead of wxMDIChildFrame
61 class WXDLLIMPEXP_CORE wxDocMDIChildFrame
: public wxMDIChildFrame
65 wxDocMDIChildFrame(wxDocument
*doc
, wxView
*view
, wxMDIParentFrame
*frame
, wxWindowID id
,
66 const wxString
& title
, const wxPoint
& pos
= wxDefaultPosition
, const wxSize
& size
= wxDefaultSize
,
67 long type
= wxDEFAULT_FRAME_STYLE
, const wxString
& name
= wxFrameNameStr
);
68 virtual ~wxDocMDIChildFrame();
70 bool Create(wxDocument
*doc
,
72 wxMDIParentFrame
*frame
,
74 const wxString
& title
,
75 const wxPoint
& pos
= wxDefaultPosition
,
76 const wxSize
& size
= wxDefaultSize
,
77 long type
= wxDEFAULT_FRAME_STYLE
,
78 const wxString
& name
= wxFrameNameStr
);
80 void OnActivate(wxActivateEvent
& event
);
81 void OnCloseWindow(wxCloseEvent
& event
);
83 inline wxDocument
*GetDocument() const { return m_childDocument
; }
84 inline wxView
*GetView(void) const { return m_childView
; }
85 inline void SetDocument(wxDocument
*doc
) { m_childDocument
= doc
; }
86 inline void SetView(wxView
*view
) { m_childView
= view
; }
87 bool Destroy() { m_childView
= NULL
; return wxMDIChildFrame::Destroy(); }
92 virtual bool TryValidator(wxEvent
& event
);
94 wxDocument
* m_childDocument
;
99 DECLARE_CLASS(wxDocMDIChildFrame
)
100 wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame
);
104 // wxUSE_MDI_ARCHITECTURE