]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/docview.h
remove default wxDC ctor to make it impossible to construct DCs without the associate...
[wxWidgets.git] / include / wx / docview.h
index 8da6fd723374f52451e73e80fd9d1741303b73e2..5bab609af67700185f1783f900c822fffd7d6ebe 100644 (file)
     #include "wx/print.h"
 #endif
 
     #include "wx/print.h"
 #endif
 
-class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxDocument;
-class WXDLLEXPORT wxView;
-class WXDLLEXPORT wxDocTemplate;
-class WXDLLEXPORT wxDocManager;
-class WXDLLEXPORT wxPrintInfo;
-class WXDLLEXPORT wxCommandProcessor;
-class WXDLLEXPORT wxFileHistory;
-class WXDLLEXPORT wxConfigBase;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxDocument;
+class WXDLLIMPEXP_FWD_CORE wxView;
+class WXDLLIMPEXP_FWD_CORE wxDocTemplate;
+class WXDLLIMPEXP_FWD_CORE wxDocManager;
+class WXDLLIMPEXP_FWD_CORE wxPrintInfo;
+class WXDLLIMPEXP_FWD_CORE wxCommandProcessor;
+class WXDLLIMPEXP_FWD_CORE wxFileHistory;
+class WXDLLIMPEXP_FWD_BASE wxConfigBase;
 
 #if wxUSE_STD_IOSTREAM
   #include "wx/iosfwrap.h"
 
 #if wxUSE_STD_IOSTREAM
   #include "wx/iosfwrap.h"
@@ -140,8 +140,17 @@ public:
     virtual wxDocTemplate *GetDocumentTemplate() const { return m_documentTemplate; }
     virtual void SetDocumentTemplate(wxDocTemplate *temp) { m_documentTemplate = temp; }
 
     virtual wxDocTemplate *GetDocumentTemplate() const { return m_documentTemplate; }
     virtual void SetDocumentTemplate(wxDocTemplate *temp) { m_documentTemplate = temp; }
 
-    // Get title, or filename if no title, else [unnamed]
-    virtual bool GetPrintableName(wxString& buf) const;
+    // Get the document name to be shown to the user: the title if there is
+    // any, otherwise the filename if the document was saved and, finally,
+    // "unnamed" otherwise
+    virtual wxString GetUserReadableName() const;
+
+#if WXWIN_COMPATIBILITY_2_8
+    // use GetUserReadableName() instead
+    wxDEPRECATED_BUT_USED_INTERNALLY(
+        virtual bool GetPrintableName(wxString& buf) const
+    );
+#endif // WXWIN_COMPATIBILITY_2_8
 
     // Returns a window that can be used as a parent for document-related
     // dialogs. Override if necessary.
 
     // Returns a window that can be used as a parent for document-related
     // dialogs. Override if necessary.
@@ -164,6 +173,9 @@ protected:
     virtual bool DoSaveDocument(const wxString& file);
     virtual bool DoOpenDocument(const wxString& file);
 
     virtual bool DoSaveDocument(const wxString& file);
     virtual bool DoOpenDocument(const wxString& file);
 
+    // the default implementation of GetUserReadableName()
+    wxString DoGetUserReadableName() const;
+
 private:
     DECLARE_ABSTRACT_CLASS(wxDocument)
     DECLARE_NO_COPY_CLASS(wxDocument)
 private:
     DECLARE_ABSTRACT_CLASS(wxDocument)
     DECLARE_NO_COPY_CLASS(wxDocument)
@@ -232,7 +244,7 @@ private:
 class WXDLLEXPORT wxDocTemplate: public wxObject
 {
 
 class WXDLLEXPORT wxDocTemplate: public wxObject
 {
 
-friend class WXDLLEXPORT wxDocManager;
+friend class WXDLLIMPEXP_FWD_CORE wxDocManager;
 
 public:
     // Associate document and view types. They're for identifying what view is
 
 public:
     // Associate document and view types. They're for identifying what view is
@@ -393,8 +405,9 @@ public:
     wxList& GetDocuments() { return m_docs; }
     wxList& GetTemplates() { return m_templates; }
 
     wxList& GetDocuments() { return m_docs; }
     wxList& GetTemplates() { return m_templates; }
 
-    // Make a default document name
-    virtual bool MakeDefaultName(wxString& buf);
+    // Return the default name for a new document (by default returns strings
+    // in the form "unnamed <counter>" but can be overridden)
+    virtual wxString MakeNewDocumentName();
 
     // Make a frame title (override this to do something different)
     virtual wxString MakeFrameTitle(wxDocument* doc);
 
     // Make a frame title (override this to do something different)
     virtual wxString MakeFrameTitle(wxDocument* doc);
@@ -423,6 +436,13 @@ public:
     // Get the current document manager
     static wxDocManager* GetDocumentManager() { return sm_docManager; }
 
     // Get the current document manager
     static wxDocManager* GetDocumentManager() { return sm_docManager; }
 
+#if WXWIN_COMPATIBILITY_2_8
+    // deprecated, override GetDefaultName() instead
+    wxDEPRECATED_BUT_USED_INTERNALLY(
+        virtual bool MakeDefaultName(wxString& buf)
+    );
+#endif
+
 #if WXWIN_COMPATIBILITY_2_6
     // deprecated, use GetHistoryFilesCount() instead
     wxDEPRECATED( size_t GetNoHistoryFiles() const );
 #if WXWIN_COMPATIBILITY_2_6
     // deprecated, use GetHistoryFilesCount() instead
     wxDEPRECATED( size_t GetNoHistoryFiles() const );