X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a56a1234a58e8e4b6f25baee902cecabab7b73be..d05b30e40030a14423780d6723feee75b90eaf60:/include/wx/docview.h diff --git a/include/wx/docview.h b/include/wx/docview.h index 1af42ff2c9..5bab609af6 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -24,15 +24,15 @@ #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" @@ -70,10 +70,10 @@ public: void SetFilename(const wxString& filename, bool notifyViews = false); wxString GetFilename() const { return m_documentFile; } - void SetTitle(const wxString& title) { m_documentTitle = title; }; + void SetTitle(const wxString& title) { m_documentTitle = title; } wxString GetTitle() const { return m_documentTitle; } - void SetDocumentName(const wxString& name) { m_documentTypeName = name; }; + void SetDocumentName(const wxString& name) { m_documentTypeName = name; } wxString GetDocumentName() const { return m_documentTypeName; } bool GetDocumentSaved() const { return m_savedYet; } @@ -140,8 +140,17 @@ public: 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. @@ -164,6 +173,9 @@ protected: 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) @@ -180,7 +192,7 @@ public: virtual void SetDocument(wxDocument *doc); wxString GetViewName() const { return m_viewTypeName; } - void SetViewName(const wxString& name) { m_viewTypeName = name; }; + void SetViewName(const wxString& name) { m_viewTypeName = name; } wxWindow *GetFrame() const { return m_viewFrame ; } void SetFrame(wxWindow *frame) { m_viewFrame = frame; } @@ -194,7 +206,7 @@ public: // Called by framework if created automatically by the default document // manager class: gives view a chance to initialise - virtual bool OnCreate(wxDocument *WXUNUSED(doc), long WXUNUSED(flags)) { return true; }; + virtual bool OnCreate(wxDocument *WXUNUSED(doc), long WXUNUSED(flags)) { return true; } // Checks if the view is the last one for the document; if so, asks user // to confirm save data (if modified). If ok, deletes itself and returns @@ -232,7 +244,7 @@ private: 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 @@ -260,21 +272,21 @@ public: // creation virtual bool InitDocument(wxDocument* doc, const wxString& path, long flags = 0); - wxString GetDefaultExtension() const { return m_defaultExt; }; + wxString GetDefaultExtension() const { return m_defaultExt; } wxString GetDescription() const { return m_description; } - wxString GetDirectory() const { return m_directory; }; + wxString GetDirectory() const { return m_directory; } wxDocManager *GetDocumentManager() const { return m_documentManager; } void SetDocumentManager(wxDocManager *manager) { m_documentManager = manager; } - wxString GetFileFilter() const { return m_fileFilter; }; - long GetFlags() const { return m_flags; }; + wxString GetFileFilter() const { return m_fileFilter; } + long GetFlags() const { return m_flags; } virtual wxString GetViewName() const { return m_viewTypeName; } virtual wxString GetDocumentName() const { return m_docTypeName; } - void SetFileFilter(const wxString& filter) { m_fileFilter = filter; }; - void SetDirectory(const wxString& dir) { m_directory = dir; }; - void SetDescription(const wxString& descr) { m_description = descr; }; - void SetDefaultExtension(const wxString& ext) { m_defaultExt = ext; }; - void SetFlags(long flags) { m_flags = flags; }; + void SetFileFilter(const wxString& filter) { m_fileFilter = filter; } + void SetDirectory(const wxString& dir) { m_directory = dir; } + void SetDescription(const wxString& descr) { m_description = descr; } + void SetDefaultExtension(const wxString& ext) { m_defaultExt = ext; } + void SetFlags(long flags) { m_flags = flags; } bool IsVisible() const { return ((m_flags & wxTEMPLATE_VISIBLE) == wxTEMPLATE_VISIBLE); } @@ -393,8 +405,9 @@ public: 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 " but can be overridden) + virtual wxString MakeNewDocumentName(); // 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; } +#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 ); @@ -589,8 +609,8 @@ public: virtual void AddFilesToMenu(wxMenu* menu); // Single menu // Accessors - virtual wxString GetHistoryFile(size_t i) const; - virtual size_t GetCount() const { return m_fileHistoryN; } + virtual wxString GetHistoryFile(size_t i) const { return m_fileHistory[i]; } + virtual size_t GetCount() const { return m_fileHistory.GetCount(); } const wxList& GetMenus() const { return m_fileMenus; } @@ -605,11 +625,11 @@ public: protected: // Last n files - wxChar** m_fileHistory; - // Number of files saved - size_t m_fileHistoryN; + wxArrayString m_fileHistory; + // Menus to maintain (may need several for an MDI app) wxList m_fileMenus; + // Max files to maintain size_t m_fileMaxFiles; @@ -624,7 +644,7 @@ private: #if WXWIN_COMPATIBILITY_2_6 inline size_t wxFileHistory::GetNoHistoryFiles() const { - return m_fileHistoryN; + return m_fileHistory.GetCount(); } #endif // WXWIN_COMPATIBILITY_2_6