X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80842e163237b63f91e9a933832a049d543beb23..427861bde09badef1a2950ad799e69fac6b4a48a:/interface/wx/docview.h diff --git a/interface/wx/docview.h b/interface/wx/docview.h index b396918076..6c294b46ae 100644 --- a/interface/wx/docview.h +++ b/interface/wx/docview.h @@ -43,13 +43,13 @@ public: A name that should be unique for a given view. @param docClassInfo A pointer to the run-time document class information as returned by - the CLASSINFO() macro, e.g. CLASSINFO(MyDocumentClass). If this is + the wxCLASSINFO() macro, e.g. wxCLASSINFO(MyDocumentClass). If this is not supplied, you will need to derive a new wxDocTemplate class and override the CreateDocument() member to return a new document instance on demand. @param viewClassInfo A pointer to the run-time view class information as returned by the - CLASSINFO() macro, e.g. CLASSINFO(MyViewClass). If this is not + wxCLASSINFO() macro, e.g. wxCLASSINFO(MyViewClass). If this is not supplied, you will need to derive a new wxDocTemplate class and override the CreateView() member to return a new view instance on demand. @@ -363,8 +363,27 @@ public: */ void AssociateTemplate(wxDocTemplate* temp); + /** + Closes the specified document. + + If @a force is @true, the document is closed even if it has unsaved + changes. + + @param doc + The document to close, must be non-@NULL. + @param force + If @true, close the document even if wxDocument::Close() returns + @false. + @return + @true if the document was closed or @false if closing it was + cancelled by user (only in @a force = @false case). + */ + bool CloseDocument(wxDocument *doc, bool force = false); + /** Closes all currently opened documents. + + @see CloseDocument() */ bool CloseDocuments(bool force = true); @@ -516,6 +535,24 @@ public: */ wxList& GetTemplates(); + /** + Create the frame used for print preview. + + This method can be overridden if you need to change the behaviour or + appearance of the preview window. By default, a standard wxPreviewFrame + is created. + + @since 2.9.1 + + @param preview The associated preview object. + @param parent The parent window for the frame. + @param title The suggested title for the print preview frame. + @return A new print preview frame, must not return @NULL. + */ + virtual wxPreviewFrame* CreatePreviewFrame(wxPrintPreviewBase* preview, + wxWindow* parent, + const wxString& title); + /** Initializes data; currently just calls OnCreateFileHistory(). @@ -1123,6 +1160,18 @@ public: */ virtual bool DeleteAllViews(); + /** + Virtual method called from OnCloseDocument(). + + This method may be overridden to perform any additional cleanup which + might be needed when the document is closed. + + The return value of this method is currently ignored. + + The default version does nothing and simply returns @true. + */ + virtual bool DeleteContents(); + /** Returns a pointer to the command processor associated with this document. @@ -1240,10 +1289,10 @@ public: /** This virtual function is called when the document is being closed. - The default implementation calls DeleteContents() (an empty - implementation) and sets the modified flag to @false. You can override - it to supply additional behaviour when the document is closed with - Close(). + The default implementation calls DeleteContents() (which may be + overridden to perform additional cleanup) and sets the modified flag to + @false. You can override it to supply additional behaviour when the + document is closed with Close(). Notice that previous wxWidgets versions used to call this function also from OnNewDocument(), rather counter-intuitively. This is no longer the @@ -1332,6 +1381,14 @@ public: */ virtual bool SaveAs(); + /** + Discard changes and load last saved version. + + Prompts the user first, and then calls DoOpenDocument() to reload the + current file. + */ + virtual bool Revert(); + //@{ /** Override this function and call it from your own SaveObject() before @@ -1475,126 +1532,6 @@ protected: }; - -/** - @class wxFileHistory - - The wxFileHistory encapsulates a user interface convenience, the list of - most recently visited files as shown on a menu (usually the File menu). - - wxFileHistory can manage one or more file menus. More than one menu may be - required in an MDI application, where the file history should appear on - each MDI child menu as well as the MDI parent frame. - - @library{wxcore} - @category{docview} - - @see @ref overview_docview, wxDocManager -*/ -class wxFileHistory : public wxObject -{ -public: - /** - Constructor. Pass the maximum number of files that should be stored and - displayed. - - @a idBase defaults to wxID_FILE1 and represents the id given to the - first history menu item. Since menu items can't share the same ID you - should change @a idBase (to one of your own defined IDs) when using - more than one wxFileHistory in your application. - */ - wxFileHistory(size_t maxFiles = 9, wxWindowID idBase = wxID_FILE1); - - /** - Destructor. - */ - virtual ~wxFileHistory(); - - /** - Adds a file to the file history list, if the object has a pointer to an - appropriate file menu. - */ - virtual void AddFileToHistory(const wxString& filename); - - /** - Appends the files in the history list, to all menus managed by the file - history object. - */ - virtual void AddFilesToMenu(); - /** - Appends the files in the history list, to the given menu only. - */ - virtual void AddFilesToMenu(wxMenu* menu); - - /** - Returns the base identifier for the range used for appending items. - */ - wxWindowID GetBaseId() const; - - /** - Returns the number of files currently stored in the file history. - */ - virtual size_t GetCount() const; - - /** - Returns the file at this index (zero-based). - */ - virtual wxString GetHistoryFile(size_t index) const; - - /** - Returns the maximum number of files that can be stored. - */ - virtual int GetMaxFiles() const; - - /** - Returns the list of menus that are managed by this file history object. - - @see UseMenu() - */ - const wxList& GetMenus() const; - - /** - Loads the file history from the given config object. This function - should be called explicitly by the application. - - @see wxConfigBase - */ - virtual void Load(const wxConfigBase& config); - - /** - Removes the specified file from the history. - */ - virtual void RemoveFileFromHistory(size_t i); - - /** - Removes this menu from the list of those managed by this object. - */ - virtual void RemoveMenu(wxMenu* menu); - - /** - Saves the file history into the given config object. This must be - called explicitly by the application. - - @see wxConfigBase - */ - virtual void Save(wxConfigBase& config); - - /** - Sets the base identifier for the range used for appending items. - */ - void SetBaseId(wxWindowID baseId); - - /** - Adds this menu to the list of those menus that are managed by this file - history object. Also see AddFilesToMenu() for initializing the menu - with filenames that are already in the history when this function is - called, as this is not done automatically. - */ - virtual void UseMenu(wxMenu* menu); -}; - - - // ============================================================================ // Global functions/macros // ============================================================================