X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/76784eecd960198bc54429a6e16d5bd7af458fce..31ad423e4fb556ec225a63b161154d3bf3445c1b:/include/wx/docmdi.h diff --git a/include/wx/docmdi.h b/include/wx/docmdi.h index 0216cacdd7..c8e94f3159 100644 --- a/include/wx/docmdi.h +++ b/include/wx/docmdi.h @@ -12,13 +12,13 @@ #ifndef _WX_DOCMDI_H_ #define _WX_DOCMDI_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "docmdi.h" #endif #include "wx/defs.h" -#if wxUSE_MDI_ARCHITECTURE && wxUSE_DOC_VIEW_ARCHITECTURE +#if wxUSE_MDI_ARCHITECTURE #include "wx/docview.h" #include "wx/mdi.h" @@ -29,26 +29,33 @@ class WXDLLEXPORT wxDocMDIParentFrame: public wxMDIParentFrame { - DECLARE_CLASS(wxDocMDIParentFrame) - public: - 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 = "frame"); +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")); - // Extend event processing to search the document manager's event table - virtual bool ProcessEvent(wxEvent& event); + 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")); - wxDocManager *GetDocumentManager(void) const { return m_docManager; } + // Extend event processing to search the document manager's event table + virtual bool ProcessEvent(wxEvent& event); - void OnExit(wxCommandEvent& event); - void OnMRUFile(wxCommandEvent& event); - void OnCloseWindow(wxCloseEvent& event); + wxDocManager *GetDocumentManager(void) const { return m_docManager; } - protected: - wxDocManager *m_docManager; + void OnExit(wxCommandEvent& event); + void OnMRUFile(wxCommandEvent& event); + void OnCloseWindow(wxCloseEvent& event); +protected: + void Init(); + wxDocManager *m_docManager; -DECLARE_EVENT_TABLE() +private: + DECLARE_CLASS(wxDocMDIParentFrame) + DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDocMDIParentFrame) }; /* @@ -57,30 +64,44 @@ DECLARE_EVENT_TABLE() class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame { - DECLARE_CLASS(wxDocMDIChildFrame) - - public: - wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id, - const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"); - ~wxDocMDIChildFrame(void); - - // Extend event processing to search the view's event table - virtual bool ProcessEvent(wxEvent& event); - - void OnActivate(wxActivateEvent& event); - void OnCloseWindow(wxCloseEvent& event); - - inline wxDocument *GetDocument(void) const { return m_childDocument; } - inline wxView *GetView(void) const { return m_childView; } - inline void SetDocument(wxDocument *doc) { m_childDocument = doc; } - inline void SetView(wxView *view) { m_childView = view; } - protected: - wxDocument* m_childDocument; - wxView* m_childView; - -DECLARE_EVENT_TABLE() - +public: + wxDocMDIChildFrame(); + wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id, + const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, + long type = wxDEFAULT_FRAME_STYLE, const wxString& name = wxT("frame")); + ~wxDocMDIChildFrame(); + + bool Create(wxDocument *doc, + wxView *view, + wxMDIParentFrame *frame, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long type = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxFrameNameStr); + + // Extend event processing to search the view's event table + virtual bool ProcessEvent(wxEvent& event); + + void OnActivate(wxActivateEvent& event); + void OnCloseWindow(wxCloseEvent& event); + + inline wxDocument *GetDocument() const { return m_childDocument; } + inline wxView *GetView(void) const { return m_childView; } + inline void SetDocument(wxDocument *doc) { m_childDocument = doc; } + inline void SetView(wxView *view) { m_childView = view; } + bool Destroy() { m_childView = (wxView *)NULL; return wxMDIChildFrame::Destroy(); } + +protected: + void Init(); + wxDocument* m_childDocument; + wxView* m_childView; + +private: + DECLARE_EVENT_TABLE() + DECLARE_CLASS(wxDocMDIChildFrame) + DECLARE_NO_COPY_CLASS(wxDocMDIChildFrame) }; #endif