]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/docview.h
Document that wxComboBox::Dismiss() and Popup() generate events.
[wxWidgets.git] / interface / wx / docview.h
index f27dc3ef4e85ad46cf987e7b3a06e30203a5eed6..b39691807674740742b19e2a08692797c465b21c 100644 (file)
@@ -60,6 +60,28 @@ public:
             - 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,
@@ -578,6 +600,16 @@ public:
         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,
@@ -597,6 +629,10 @@ public:
             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,
@@ -619,6 +655,10 @@ public:
             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);
@@ -1268,7 +1308,7 @@ public:
 
     /**
         If the document has been modified, prompts the user to ask if the
-        changes should be changed. If the user replies Yes, the Save() function
+        changes should be saved. If the user replies Yes, the Save() function
         is called. If No, the document is marked as unmodified and the function
         succeeds. If Cancel, the function fails.
     */
@@ -1326,11 +1366,26 @@ public:
     */
     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);