class WXDLLEXPORT wxDocMDIParentFrame: public wxMDIParentFrame
{
public:
+ wxDocMDIParentFrame();
wxDocMDIParentFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id,
const wxString& title, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame"));
+ bool Create(wxDocManager *manager, wxFrame *parent, wxWindowID id,
+ const wxString& title, const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame"));
+
// Extend event processing to search the document manager's event table
virtual bool ProcessEvent(wxEvent& event);
void OnCloseWindow(wxCloseEvent& event);
protected:
+ void Init();
wxDocManager *m_docManager;
private:
EVT_CLOSE(wxDocMDIParentFrame::OnCloseWindow)
END_EVENT_TABLE()
+wxDocMDIParentFrame::wxDocMDIParentFrame()
+{
+ Init();
+}
+
wxDocMDIParentFrame::wxDocMDIParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title,
- const wxPoint& pos, const wxSize& size, long style, const wxString& name):
- wxMDIParentFrame(frame, id, title, pos, size, style, name)
+ const wxPoint& pos, const wxSize& size, long style, const wxString& name)
+{
+ Init();
+ Create(manager, frame, id, title, pos, size, style, name);
+}
+
+bool wxDocMDIParentFrame::Create(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title,
+ const wxPoint& pos, const wxSize& size, long style, const wxString& name)
{
- m_docManager = manager;
+ m_docManager = manager;
+ return wxMDIParentFrame::Create(frame, id, title, pos, size, style, name);
}
void wxDocMDIParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
Close();
}
+void wxDocMDIParentFrame::Init()
+{
+ m_docManager = NULL;
+}
+
void wxDocMDIParentFrame::OnMRUFile(wxCommandEvent& event)
{
wxString f(m_docManager->GetHistoryFile(event.GetId() - wxID_FILE1));
bool wxDocMDIChildFrame::Create(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id,
const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name)
{
- m_childDocument = doc;
- m_childView = view;
- if (wxMDIChildFrame::Create(frame, id, title, pos, size, style, name)) {
- if (view)
- view->SetFrame(this);
+ m_childDocument = doc;
+ m_childView = view;
+ if (wxMDIChildFrame::Create(frame, id, title, pos, size, style, name))
+ {
+ if (view)
+ view->SetFrame(this);
return TRUE;
}