]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docmdi.h
moving themeing include to private.h
[wxWidgets.git] / include / wx / docmdi.h
index af8543afa4b36c85a5ffb7c0f59c8886662b292e..3d4e437fbe9d75f19e18dc9e7e6c7bd542974653 100644 (file)
  * 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);
 
     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);
+        const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr);
 
     wxDocManager *GetDocumentManager(void) const { return m_docManager; }
 
@@ -46,62 +43,60 @@ public:
 
 protected:
     void Init();
+
+    virtual bool TryBefore(wxEvent& event);
+
     wxDocManager *m_docManager;
 
 private:
     DECLARE_CLASS(wxDocMDIParentFrame)
     DECLARE_EVENT_TABLE()
-    DECLARE_NO_COPY_CLASS(wxDocMDIParentFrame)
+    wxDECLARE_NO_COPY_CLASS(wxDocMDIParentFrame);
 };
 
-/*
- * Use this instead of wxMDIChildFrame
- */
+// ----------------------------------------------------------------------------
+// An MDI document child frame: we need to define it as a class just for wxRTTI,
+// otherwise we could simply typedef it
+// ----------------------------------------------------------------------------
+
+#ifdef __VISUALC6__
+    // "non dll-interface class 'wxDocChildFrameAny<>' used as base interface
+    // for dll-interface class 'wxDocMDIChildFrame'" -- this is bogus as the
+    // template will be DLL-exported but only once it is used as base class
+    // here!
+    #pragma warning (push)
+    #pragma warning (disable:4275)
+#endif
 
-class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame
+typedef
+  wxDocChildFrameAny<wxMDIChildFrame, wxMDIParentFrame> wxDocMDIChildFrameBase;
+
+class WXDLLIMPEXP_CORE wxDocMDIChildFrame : public wxDocMDIChildFrameBase
 {
 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;
+    wxDocMDIChildFrame(wxDocument *doc,
+                       wxView *view,
+                       wxMDIParentFrame *parent,
+                       wxWindowID id,
+                       const wxString& title,
+                       const wxPoint& pos = wxDefaultPosition,
+                       const wxSize& size = wxDefaultSize,
+                       long style = wxDEFAULT_FRAME_STYLE,
+                       const wxString& name = wxFrameNameStr)
+        : wxDocMDIChildFrameBase(doc, view,
+                                 parent, id, title, pos, size, style, name)
+    {
+    }
 
 private:
-    DECLARE_EVENT_TABLE()
     DECLARE_CLASS(wxDocMDIChildFrame)
-    DECLARE_NO_COPY_CLASS(wxDocMDIChildFrame)
+    wxDECLARE_NO_COPY_CLASS(wxDocMDIChildFrame);
 };
 
+#ifdef __VISUALC6__
+    #pragma warning (pop)
 #endif
-    // wxUSE_MDI_ARCHITECTURE
 
-#endif
-    // _WX_DOCMDI_H_
+#endif // wxUSE_MDI_ARCHITECTURE
+
+#endif // _WX_DOCMDI_H_