// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c)
-// Licence: wxWindows licence
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DOCMDI_H_
#define _WX_DOCMDI_H_
-#ifdef __GNUG__
-#pragma interface "docmdi.h"
-#endif
+#include "wx/defs.h"
+
+#if wxUSE_MDI_ARCHITECTURE
#include "wx/docview.h"
#include "wx/mdi.h"
* Use this instead of wxMDIParentFrame
*/
-class wxDocMDIParentFrame: public wxMDIParentFrame
+class WXDLLIMPEXP_CORE 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 = wxFrameNameStr);
+
+ 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 = wxFrameNameStr);
- bool OnClose(void);
- // Extend event processing to search the document manager's event table
- virtual bool ProcessEvent(wxEvent& event);
+ wxDocManager *GetDocumentManager(void) const { return m_docManager; }
- wxDocManager *GetDocumentManager(void) const { return m_docManager; }
+ void OnExit(wxCommandEvent& event);
+ void OnMRUFile(wxCommandEvent& event);
+ void OnCloseWindow(wxCloseEvent& event);
- void OnExit(wxCommandEvent& event);
- void OnMRUFile(wxCommandEvent& event);
+protected:
+ void Init();
- protected:
- wxDocManager *m_docManager;
+ virtual bool TryValidator(wxEvent& event);
+ wxDocManager *m_docManager;
-DECLARE_EVENT_TABLE()
+private:
+ DECLARE_CLASS(wxDocMDIParentFrame)
+ DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxDocMDIParentFrame)
};
/*
* Use this instead of wxMDIChildFrame
*/
-class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame
+class WXDLLIMPEXP_CORE 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);
-
- bool OnClose(void);
- // Extend event processing to search the view's event table
- virtual bool ProcessEvent(wxEvent& event);
-
- void OnActivate(wxActivateEvent& 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 = wxFrameNameStr);
+ virtual ~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);
+
+ 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 = NULL; return wxMDIChildFrame::Destroy(); }
+
+protected:
+ void Init();
+
+ virtual bool TryValidator(wxEvent& event);
+
+ wxDocument* m_childDocument;
+ wxView* m_childView;
+
+private:
+ DECLARE_EVENT_TABLE()
+ DECLARE_CLASS(wxDocMDIChildFrame)
+ DECLARE_NO_COPY_CLASS(wxDocMDIChildFrame)
};
+#endif
+ // wxUSE_MDI_ARCHITECTURE
+
#endif
// _WX_DOCMDI_H_