Add support for child documents to docview framework.
Child documents are virtual documents corresponding to parts of their parent document which can't be saved nor loaded independently of their parent and are closed when the parent is closed. This finally makes some use of wxDocument::m_documentParent field which was always present in the docview code but never used before. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1130,9 +1130,25 @@ public:
|
||||
@class wxDocument
|
||||
|
||||
The document class can be used to model an application's file-based data.
|
||||
|
||||
It is part of the document/view framework supported by wxWidgets, and
|
||||
cooperates with the wxView, wxDocTemplate and wxDocManager classes.
|
||||
|
||||
A normal document is the one created without parent document and is
|
||||
associated with a disk file. Since version 2.9.2 wxWidgets also supports a
|
||||
special kind of documents called <em>child documents</em> which are virtual
|
||||
in the sense that they do not correspond to a file but rather to a part of
|
||||
their parent document. Because of this, the child documents can't be
|
||||
created directly by user but can only be created by the parent document
|
||||
(usually when it's being created itself). They also can't be independently
|
||||
saved. A child document has its own view with the corresponding window.
|
||||
This view can be closed by user but, importantly, is also automatically
|
||||
closed when its parent document is closed. Thus, child documents may be
|
||||
convenient for creating additional windows which need to be closed when the
|
||||
main document is. The docview sample demonstrates this use of child
|
||||
documents by creating a child document containing the information about the
|
||||
parameters of the image opened in the main document.
|
||||
|
||||
@library{wxcore}
|
||||
@category{docview}
|
||||
|
||||
@@ -1144,8 +1160,14 @@ public:
|
||||
/**
|
||||
Constructor. Define your own default constructor to initialize
|
||||
application-specific data.
|
||||
|
||||
@param parent
|
||||
Specifying a non-@c NULL parent document here makes this document a
|
||||
special <em>child document</em>, see their description in the class
|
||||
documentation. Notice that this parameter exists but is ignored in
|
||||
wxWidgets versions prior to 2.9.1.
|
||||
*/
|
||||
wxDocument(wxDocument* parent = 0);
|
||||
wxDocument(wxDocument* parent = NULL);
|
||||
|
||||
/**
|
||||
Destructor. Removes itself from the document manager.
|
||||
@@ -1278,6 +1300,18 @@ public:
|
||||
const wxList& GetViews() const;
|
||||
//@}
|
||||
|
||||
/**
|
||||
Returns true if this document is a child document corresponding to a
|
||||
part of the parent document and not a disk file as usual.
|
||||
|
||||
This method can be used to check whether file-related operations make
|
||||
sense for this document as they only apply to top-level documents and
|
||||
not child ones.
|
||||
|
||||
@since 2.9.2
|
||||
*/
|
||||
bool IsChildDocument() const;
|
||||
|
||||
/**
|
||||
Returns @true if the document has been modified since the last save,
|
||||
@false otherwise. You may need to override this if your document view
|
||||
|
Reference in New Issue
Block a user