]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docmdi.h
Call SetDataSource() from OnEnter() so that querying/accessing the data is possible...
[wxWidgets.git] / include / wx / docmdi.h
index 089a328ce42ac3249ec589ce97f61ad2ba9c45f0..828e6a5b6ddacace0fb89757130762c140a7e7df 100644 (file)
@@ -5,20 +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_
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-#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"
  * Use this instead of wxMDIParentFrame
  */
 
-class WXDLLEXPORT wxDocMDIParentFrame: public wxMDIParentFrame
+class WXDLLIMPEXP_CORE 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"));
+        const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr);
 
-    // 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 = wxFrameNameStr);
 
     wxDocManager *GetDocumentManager(void) const { return m_docManager; }
 
@@ -44,27 +42,40 @@ public:
     void OnCloseWindow(wxCloseEvent& event);
 
 protected:
+    void Init();
+
+    virtual bool TryValidator(wxEvent& event);
+
     wxDocManager *m_docManager;
 
 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
 {
 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();
-
-    // Extend event processing to search the view's event table
-    virtual bool ProcessEvent(wxEvent& event);
+        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);
@@ -73,15 +84,20 @@ public:
     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(); }
-    
+    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