]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docmdi.h
apply complete transforms (scroll window PrepareDC was not functioning properly)
[wxWidgets.git] / include / wx / docmdi.h
index e0e3e6fe6605eff7014444d5d46bd750725fe494..e94973701c96514981db222933002d37ef691e3a 100644 (file)
@@ -5,16 +5,16 @@
 // 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 WXDLLEXPORT wxDocMDIParentFrame: public wxMDIParentFrame
 {
-  DECLARE_CLASS(wxDocMDIParentFrame)
- public:
-  wxDocMDIParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size,
-    long style, const wxString& name);
+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 OnClose(void);
-  // 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);
+    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)
 };
 
 /*
@@ -52,31 +60,48 @@ 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);
-
-  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 = wxT("frame"));
+    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);
+
+    // 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
+    // wxUSE_MDI_ARCHITECTURE
+
 #endif
     // _WX_DOCMDI_H_