- wxTEMPLATE_INVISIBLE - The template may not be displayed to
the user in dialogs.
- wxDEFAULT_TEMPLATE_FLAGS - Defined as wxTEMPLATE_VISIBLE.
+
+ @beginWxPerlOnly
+
+ In wxPerl @a docClassInfo and @a viewClassInfo can be either
+ @c Wx::ClassInfo objects or strings containing the name of the
+ perl packages which are to be used as @c Wx::Document and
+ @c Wx::View classes (they must have a constructor named new);
+ as an example:
+
+ - Wx::DocTemplate->new(docmgr, descr, filter, dir, ext,
+ docTypeName, viewTypeName, docClassInfo, viewClassInfo,
+ flags): will construct document and view objects from the
+ class information.
+ - Wx::DocTemplate->new(docmgr, descr, filter, dir, ext,
+ docTypeName, viewTypeName, docClassName, viewClassName,
+ flags): will construct document and view objects from perl
+ packages.
+ - Wx::DocTemplate->new(docmgr, descr, filter, dir, ext,
+ docTypeName, viewTypeName):
+ in this case @c Wx::DocTemplate::CreateDocument() and
+ @c Wx::DocTemplate::CreateView() must be overridden
+ @endWxPerlOnly
*/
wxDocTemplate(wxDocManager* manager, const wxString& descr,
const wxString& filter, const wxString& dir,
*/
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().
choice list is popped up, followed by a file selector.
This function is used in CreateDocument().
+
+ @beginWxPerlOnly
+ In wxPerl @a templates is a reference to a list of templates.
+ If you override this method in your document manager it must
+ return two values, eg:
+
+ @code
+ (doctemplate, path) = My::DocManager->SelectDocumentPath(...);
+ @endcode
+ @endWxPerlOnly
*/
virtual wxDocTemplate* SelectDocumentPath(wxDocTemplate** templates,
int noTemplates, wxString& path,
parameter indicates whether the list of templates that the user
will have to choose from is sorted or not when shown the choice box
dialog. Default is @false.
+
+ @beginWxPerlOnly
+ In wxPerl @a templates is a reference to a list of templates.
+ @endWxPerlOnly
*/
virtual wxDocTemplate* SelectDocumentType(wxDocTemplate** templates,
int noTemplates,
parameter indicates whether the list of templates that the user
will have to choose from is sorted or not when shown the choice box
dialog. Default is @false.
+
+ @beginWxPerlOnly
+ In wxPerl @a templates is a reference to a list of templates.
+ @endWxPerlOnly
*/
virtual wxDocTemplate* SelectViewType(wxDocTemplate** templates,
int noTemplates, bool sort = false);
*/
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
*/
virtual void SetDocumentTemplate(wxDocTemplate* templ);
+ /**
+ Sets if this document has been already saved or not.
+
+ Normally there is no need to call this function as the document-view
+ framework does it itself as the documents are loaded from and saved to
+ the files. However it may be useful in some particular cases, for
+ example it may be called with @false argument to prevent the user
+ from saving the just opened document into the same file if this
+ shouldn't be done for some reason (e.g. file format version changes and
+ a new extension should be used for saving).
+
+ @see GetDocumentSaved(), AlreadySaved()
+ */
+ void SetDocumentSaved(bool saved = true);
+
/**
Sets the filename for this document. Usually called by the framework.
Calls OnChangeFilename() which in turn calls wxView::OnChangeFilename() for
- all views if @a notifyViews is @true,
+ all views if @a notifyViews is @true.
*/
void SetFilename(const wxString& filename, bool notifyViews = false);