// Name: docview.h
// Purpose: interface of various doc/view framework classes
// Author: wxWidgets team
-// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/**
+ A vector of wxDocument pointers.
+
+ @since 2.9.5
+*/
+typedef wxVector<wxDocument*> wxDocVector;
+
+/**
+ A vector of wxView pointers.
+
+ @since 2.9.5
+*/
+typedef wxVector<wxView*> wxViewVector;
+
+/**
+ A vector of wxDocTemplate pointers.
+
+ @since 2.9.5
+*/
+typedef wxVector<wxDocTemplate*> wxDocTemplateVector;
+
/**
@class wxDocTemplate
*/
wxDocTemplate* FindTemplate(const wxClassInfo* classinfo);
+
+ /**
+ Search for the document corresponding to the given file.
+
+ @param path
+ Document file path.
+ @return
+ Pointer to a wxDocument, or @NULL if none found.
+
+ @since 2.9.5
+ */
+ wxDocument* FindDocumentByPath(const wxString& path) const;
+
/**
Closes the specified document.
*/
virtual wxDocTemplate* FindTemplateForPath(const wxString& path);
+ /**
+ Returns the view to apply a user command to.
+
+ This method tries to find the view that the user wants to interact
+ with. It returns the same view as GetCurrentDocument() if there is any
+ currently active view but falls back to the first view of the first
+ document if there is no active view.
+
+ @since 2.9.5
+ */
+ wxView* GetAnyUsableView() const;
+
/**
Returns the document associated with the currently active view (if
any).
wxDocument* GetCurrentDocument() const;
/**
- Returns the currently active view
+ Returns the currently active view.
+
+ This method can return @NULL if no view is currently active.
+
+ @see GetAnyUsableView()
*/
virtual wxView* GetCurrentView() const;
+ /**
+ Returns a vector of wxDocument pointers.
+
+ @since 2.9.5
+ */
+ wxDocVector GetDocumentsVector() const;
+
+ /**
+ Returns a vector of wxDocTemplate pointers.
+
+ @since 2.9.5
+ */
+ wxDocTemplateVector GetTemplatesVector() const;
+
/**
Returns a reference to the list of documents.
*/
*/
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().
*/
virtual void OnMRUFileNotExist(unsigned n, const wxString& filename);
+ /**
+ 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);
/**
The currently active view.
*/
bool AlreadySaved() const;
+ /**
+ Activate the first view of the document if any.
+
+ This function simply calls the Raise() method of the frame of the first
+ view. You may need to override the Raise() method to get the desired
+ effect if you are not using a standard wxFrame for your view. For
+ instance, if your document is inside its own notebook tab you could
+ implement Raise() like this:
+
+ @code
+ void MyNotebookPage::Raise()
+ {
+ wxNotebook* notebook = wxStaticCast(GetParent(), wxNotebook);
+ notebook->SetSelection(notebook->FindPage(this));
+ }
+ @endcode
+
+ @see GetFirstView()
+
+ @since 2.9.5
+ */
+ void Activate() const;
+
/**
Closes the document, by calling OnSaveModified() and then (if this
returned @true) OnCloseDocument(). This does not normally delete the
*/
virtual wxString GetUserReadableName() const;
+ /**
+ Returns a vector of wxView pointers.
+
+ @since 2.9.5
+ */
+ wxViewVector GetViewsVector() const;
+
//@{
/**
Returns the list whose elements are the views on the document.