]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docview.h
adding an autorelease capability (got weird crashes when deleting tools from a toolba...
[wxWidgets.git] / include / wx / docview.h
index 13e875ceac1188539d0e346e05e099453e32bdeb..79bb6d71753db9a43dc1a02e48be4b255c085cc0 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        docview.h
+// Name:        wx/docview.h
 // Purpose:     Doc/View classes
 // Author:      Julian Smart
 // Modified by:
@@ -17,7 +17,6 @@
 #if wxUSE_DOC_VIEW_ARCHITECTURE
 
 #include "wx/list.h"
-#include "wx/cmndata.h"
 #include "wx/string.h"
 #include "wx/frame.h"
 
@@ -65,7 +64,7 @@ class WXDLLEXPORT wxDocument : public wxEvtHandler
 {
 public:
     wxDocument(wxDocument *parent = (wxDocument *) NULL);
-    ~wxDocument();
+    virtual ~wxDocument();
 
     // accessors
     void SetFilename(const wxString& filename, bool notifyViews = false);
@@ -175,7 +174,7 @@ class WXDLLEXPORT wxView: public wxEvtHandler
 public:
     //  wxView(wxDocument *doc = (wxDocument *) NULL);
     wxView();
-    ~wxView();
+    virtual ~wxView();
 
     wxDocument *GetDocument() const { return m_viewDocument; }
     virtual void SetDocument(wxDocument *doc);
@@ -249,7 +248,7 @@ public:
                   wxClassInfo *viewClassInfo = (wxClassInfo *)NULL,
                   long flags = wxDEFAULT_TEMPLATE_FLAGS);
 
-    ~wxDocTemplate();
+    virtual ~wxDocTemplate();
 
     // By default, these two member functions dynamically creates document and
     // view using dynamic instance construction. Override these if you need a
@@ -315,7 +314,7 @@ class WXDLLEXPORT wxDocManager: public wxEvtHandler
 {
 public:
     wxDocManager(long flags = wxDEFAULT_DOCMAN_FLAGS, bool initialize = true);
-    ~wxDocManager();
+    virtual ~wxDocManager();
 
     virtual bool Initialize();
 
@@ -424,8 +423,10 @@ public:
     // Get the current document manager
     static wxDocManager* GetDocumentManager() { return sm_docManager; }
 
+#if WXWIN_COMPATIBILITY_2_6
     // deprecated, use GetHistoryFilesCount() instead
     wxDEPRECATED( size_t GetNoHistoryFiles() const );
+#endif // WXWIN_COMPATIBILITY_2_6
 
 protected:
     long              m_flags;
@@ -443,10 +444,12 @@ protected:
     DECLARE_NO_COPY_CLASS(wxDocManager)
 };
 
+#if WXWIN_COMPATIBILITY_2_6
 inline size_t wxDocManager::GetNoHistoryFiles() const
 {
     return GetHistoryFilesCount();
 }
+#endif // WXWIN_COMPATIBILITY_2_6
 
 // ----------------------------------------------------------------------------
 // A default child frame
@@ -464,7 +467,7 @@ public:
                     const wxSize& size = wxDefaultSize,
                     long type = wxDEFAULT_FRAME_STYLE,
                     const wxString& name = wxT("frame"));
-    ~wxDocChildFrame(){}
+    virtual ~wxDocChildFrame(){}
 
     // Extend event processing to search the view's event table
     virtual bool ProcessEvent(wxEvent& event);
@@ -495,14 +498,24 @@ private:
 class WXDLLEXPORT wxDocParentFrame : public wxFrame
 {
 public:
+    wxDocParentFrame();
     wxDocParentFrame(wxDocManager *manager,
                      wxFrame *frame,
                      wxWindowID id,
                      const wxString& title,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
-                     long type = wxDEFAULT_FRAME_STYLE,
-                     const wxString& name = wxT("frame"));
+                     long style = wxDEFAULT_FRAME_STYLE,
+                     const wxString& name = wxFrameNameStr);
+
+    bool Create(wxDocManager *manager,
+                wxFrame *frame,
+                wxWindowID id,
+                const wxString& title,
+                const wxPoint& pos = wxDefaultPosition,
+                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);
@@ -517,6 +530,7 @@ protected:
     wxDocManager *m_docManager;
 
 private:
+    typedef wxFrame base_type;
     DECLARE_CLASS(wxDocParentFrame)
     DECLARE_EVENT_TABLE()
     DECLARE_NO_COPY_CLASS(wxDocParentFrame)
@@ -555,7 +569,7 @@ class WXDLLEXPORT wxFileHistory : public wxObject
 {
 public:
     wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1);
-    ~wxFileHistory();
+    virtual ~wxFileHistory();
 
     // Operations
     virtual void AddFileToHistory(const wxString& file);
@@ -580,8 +594,10 @@ public:
 
     const wxList& GetMenus() const { return m_fileMenus; }
 
+#if WXWIN_COMPATIBILITY_2_6
     // deprecated, use GetCount() instead
     wxDEPRECATED( size_t GetNoHistoryFiles() const );
+#endif // WXWIN_COMPATIBILITY_2_6
 
 protected:
     // Last n files
@@ -601,10 +617,12 @@ private:
     DECLARE_NO_COPY_CLASS(wxFileHistory)
 };
 
+#if WXWIN_COMPATIBILITY_2_6
 inline size_t wxFileHistory::GetNoHistoryFiles() const
 {
     return m_fileHistoryN;
 }
+#endif // WXWIN_COMPATIBILITY_2_6
 
 #if wxUSE_STD_IOSTREAM
 // For compatibility with existing file formats: