X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/47b378bd88260611387af8604a1c8f62355350ab..794b89c9565fc4e7b24722d2d52de4f7d23b6754:/include/wx/docview.h diff --git a/include/wx/docview.h b/include/wx/docview.h index 8da6fd7233..da00c0f814 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" @@ -60,7 +60,7 @@ enum #define wxMAX_FILE_HISTORY 9 -class WXDLLEXPORT wxDocument : public wxEvtHandler +class WXDLLIMPEXP_CORE wxDocument : public wxEvtHandler { public: wxDocument(wxDocument *parent = (wxDocument *) NULL); @@ -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,12 +173,15 @@ 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) }; -class WXDLLEXPORT wxView: public wxEvtHandler +class WXDLLIMPEXP_CORE wxView: public wxEvtHandler { public: // wxView(wxDocument *doc = (wxDocument *) NULL); @@ -229,10 +241,10 @@ private: }; // Represents user interface (and other) properties of documents and views -class WXDLLEXPORT wxDocTemplate: public wxObject +class WXDLLIMPEXP_CORE 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 @@ -310,7 +322,7 @@ private: // One object of this class may be created in an application, to manage all // the templates and documents. -class WXDLLEXPORT wxDocManager: public wxEvtHandler +class WXDLLIMPEXP_CORE wxDocManager: public wxEvtHandler { public: wxDocManager(long flags = wxDEFAULT_DOCMAN_FLAGS, bool initialize = true); @@ -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); @@ -410,7 +423,7 @@ public: virtual void FileHistoryUseMenu(wxMenu *menu); virtual void FileHistoryRemoveMenu(wxMenu *menu); #if wxUSE_CONFIG - virtual void FileHistoryLoad(wxConfigBase& config); + virtual void FileHistoryLoad(const wxConfigBase& config); virtual void FileHistorySave(wxConfigBase& config); #endif // wxUSE_CONFIG @@ -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 ); @@ -455,7 +475,7 @@ inline size_t wxDocManager::GetNoHistoryFiles() const // A default child frame // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxDocChildFrame : public wxFrame +class WXDLLIMPEXP_CORE wxDocChildFrame : public wxFrame { public: wxDocChildFrame(wxDocument *doc, @@ -495,7 +515,7 @@ private: // A default parent frame // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxDocParentFrame : public wxFrame +class WXDLLIMPEXP_CORE wxDocParentFrame : public wxFrame { public: wxDocParentFrame(); @@ -541,7 +561,7 @@ private: // ---------------------------------------------------------------------------- #if wxUSE_PRINTING_ARCHITECTURE -class WXDLLEXPORT wxDocPrintout : public wxPrintout +class WXDLLIMPEXP_CORE wxDocPrintout : public wxPrintout { public: wxDocPrintout(wxView *view = (wxView *) NULL, const wxString& title = wxT("Printout")); @@ -565,7 +585,7 @@ private: // File history management // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFileHistory : public wxObject +class WXDLLIMPEXP_CORE wxFileHistory : public wxObject { public: wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1); @@ -581,7 +601,7 @@ public: virtual void RemoveMenu(wxMenu *menu); #if wxUSE_CONFIG - virtual void Load(wxConfigBase& config); + virtual void Load(const wxConfigBase& config); virtual void Save(wxConfigBase& config); #endif // wxUSE_CONFIG @@ -631,13 +651,13 @@ inline size_t wxFileHistory::GetNoHistoryFiles() const #if wxUSE_STD_IOSTREAM // For compatibility with existing file formats: // converts from/to a stream to/from a temporary file. -bool WXDLLEXPORT wxTransferFileToStream(const wxString& filename, wxSTD ostream& stream); -bool WXDLLEXPORT wxTransferStreamToFile(wxSTD istream& stream, const wxString& filename); +bool WXDLLIMPEXP_CORE wxTransferFileToStream(const wxString& filename, wxSTD ostream& stream); +bool WXDLLIMPEXP_CORE wxTransferStreamToFile(wxSTD istream& stream, const wxString& filename); #else // For compatibility with existing file formats: // converts from/to a stream to/from a temporary file. -bool WXDLLEXPORT wxTransferFileToStream(const wxString& filename, wxOutputStream& stream); -bool WXDLLEXPORT wxTransferStreamToFile(wxInputStream& stream, const wxString& filename); +bool WXDLLIMPEXP_CORE wxTransferFileToStream(const wxString& filename, wxOutputStream& stream); +bool WXDLLIMPEXP_CORE wxTransferStreamToFile(wxInputStream& stream, const wxString& filename); #endif // wxUSE_STD_IOSTREAM #endif // wxUSE_DOC_VIEW_ARCHITECTURE