wxDocMDIParentFrame needs a default constructor

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2004-05-11 14:35:51 +00:00
parent f83b67612b
commit f0003d294a
2 changed files with 33 additions and 9 deletions

View File

@ -30,10 +30,15 @@
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);
@ -44,6 +49,7 @@ public:
void OnCloseWindow(wxCloseEvent& event);
protected:
void Init();
wxDocManager *m_docManager;
private:

View File

@ -36,11 +36,23 @@ BEGIN_EVENT_TABLE(wxDocMDIParentFrame, wxMDIParentFrame)
EVT_CLOSE(wxDocMDIParentFrame::OnCloseWindow)
END_EVENT_TABLE()
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)
wxDocMDIParentFrame::wxDocMDIParentFrame()
{
m_docManager = manager;
Init();
}
wxDocMDIParentFrame::wxDocMDIParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title,
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;
return wxMDIParentFrame::Create(frame, id, title, pos, size, style, name);
}
void wxDocMDIParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
@ -48,6 +60,11 @@ 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));
@ -108,11 +125,12 @@ wxDocMDIChildFrame::wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParen
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;
}