1\section{\class{wxDocTemplate}}\label{wxdoctemplate}
2
3The wxDocTemplate class is used to model the relationship between a
4document class and a view class.
5
6\wxheading{Derived from}
7
8\helpref{wxObject}{wxobject}
9
10\wxheading{Include files}
11
12<wx/docview.h>
13
14\wxheading{See also}
15
16\helpref{wxDocTemplate overview}{wxdoctemplateoverview}, \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}
17
18\latexignore{\rtfignore{\wxheading{Members}}}
19
20\membersection{wxDocTemplate::m\_defaultExt}\label{wxdoctemplatemdefaultext}
21
22\member{wxString}{m\_defaultExt}
23
24The default extension for files of this type.
25
26\membersection{wxDocTemplate::m\_description}\label{wxdoctemplatemdescription}
27
28\member{wxString}{m\_description}
29
30A short description of this template.
31
32\membersection{wxDocTemplate::m\_directory}\label{wxdoctemplatemdirectory}
33
34\member{wxString}{m\_directory}
35
36The default directory for files of this type.
37
38\membersection{wxDocTemplate::m\_docClassInfo}\label{wxdoctemplatemdocclassinfo}
39
40\member{wxClassInfo* }{m\_docClassInfo}
41
42Run-time class information that allows document instances to be constructed dynamically.
43
44\membersection{wxDocTemplate::m\_docTypeName}\label{wxdoctemplatemdoctypename}
45
46\member{wxString}{m\_docTypeName}
47
48The named type of the document associated with this template.
49
50\membersection{wxDocTemplate::m\_documentManager}\label{wxdoctemplatedocumentmanager}
51
52\member{wxDocTemplate*}{m\_documentManager}
53
54A pointer to the document manager for which this template was created.
55
56\membersection{wxDocTemplate::m\_fileFilter}\label{wxdoctemplatemfilefilter}
57
58\member{wxString}{m\_fileFilter}
59
60The file filter (such as {\tt *.txt}) to be used in file selector dialogs.
61
62\membersection{wxDocTemplate::m\_flags}\label{wxdoctemplatemflags}
63
64\member{long}{m\_flags}
65
66The flags passed to the constructor.
67
68\membersection{wxDocTemplate::m\_viewClassInfo}\label{wxdoctemplatemviewclassinfo}
69
70\member{wxClassInfo*}{m\_viewClassInfo}
71
72Run-time class information that allows view instances to be constructed dynamically.
73
74\membersection{wxDocTemplate::m\_viewTypeName}\label{wxdoctemplatemviewtypename}
75
76\member{wxString}{m\_viewTypeName}
77
78The named type of the view associated with this template.
79
80\membersection{wxDocTemplate::wxDocTemplate}\label{wxdoctemplatector}
81
82\func{}{wxDocTemplate}{\param{wxDocManager* }{manager}, \param{const wxString\& }{descr}, \param{const wxString\& }{filter},
83 \param{const wxString\& }{dir}, \param{const wxString\& }{ext}, \param{const wxString\& }{docTypeName},
84 \param{const wxString\& }{viewTypeName}, \param{wxClassInfo* }{docClassInfo = NULL},
85 \param{wxClassInfo* }{viewClassInfo = NULL}, \param{long}{ flags = wxDEFAULT\_TEMPLATE\_FLAGS}}
86
87Constructor. Create instances dynamically near the start of your application after creating
88a wxDocManager instance, and before doing any document or view operations.
89
90{\it manager} is the document manager object which manages this template.
91
92{\it descr} is a short description of what the template is for. This string will be displayed in the
93file filter list of Windows file selectors.
94
95{\it filter} is an appropriate file filter such as {\tt *.txt}.
96
97{\it dir} is the default directory to use for file selectors.
98
99{\it ext} is the default file extension (such as txt).
100
101{\it docTypeName} is a name that should be unique for a given type of document, used for
102gathering a list of views relevant to a particular document.
103
104{\it viewTypeName} is a name that should be unique for a given view.
105
106{\it docClassInfo} is a pointer to the run-time document class information as returned
107by the CLASSINFO macro, e.g. CLASSINFO(MyDocumentClass). If this is not supplied,
108you will need to derive a new wxDocTemplate class and override the CreateDocument
109member to return a new document instance on demand.
110
111{\it viewClassInfo} is a pointer to the run-time view class information as returned
112by the CLASSINFO macro, e.g. CLASSINFO(MyViewClass). If this is not supplied,
113you will need to derive a new wxDocTemplate class and override the CreateView
114member to return a new view instance on demand.
115
116{\it flags} is a bit list of the following:
117
118\begin{itemize}\itemsep=0pt
119\item wxTEMPLATE\_VISIBLE The template may be displayed to the user in dialogs.
120\item wxTEMPLATE\_INVISIBLE The template may not be displayed to the user in dialogs.
121\item wxDEFAULT\_TEMPLATE\_FLAGS Defined as wxTEMPLATE\_VISIBLE.
122\end{itemize}
123
124\perlnote{In wxPerl {\tt docClassInfo} and {\tt viewClassInfo} can be
125either {\tt Wx::ClassInfo} objects or strings which contain the name
126of the perl packages which are to be used as {\tt Wx::Document} and
127{\tt Wx::View} classes (they must have a constructor named {\tt
128new}):
129
130\indented{2cm}{\begin{twocollist}
131\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
132ext, docTypeName, viewTypeName, docClassInfo, viewClassInfo, flags
133)}}{ will construct document and view objects from the class information}
134\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
135ext, docTypeName, viewTypeName, docClassName, viewClassName, flags
136)}}{ will construct document and view objects from perl packages}
137\twocolitem{{\bf Wx::DocTemplate->new( docmgr, descr, filter, dir,
138ext, docTypeName, viewTypeName )}}{
139{\tt Wx::DocTemplate::CreateDocument()} and
140{\tt Wx::DocTemplate::CreateView()} must be overridden}
141\end{twocollist}}}
142
143\membersection{wxDocTemplate::\destruct{wxDocTemplate}}\label{wxdoctemplatedtor}
144
145\func{void}{\destruct{wxDocTemplate}}{\void}
146
147Destructor.
148
149\membersection{wxDocTemplate::CreateDocument}\label{wxdoctemplatecreatedocument}
150
151\func{wxDocument *}{CreateDocument}{\param{const wxString\& }{path}, \param{long}{ flags = 0}}
152
153Creates a new instance of the associated document class. If you have not supplied
154a wxClassInfo parameter to the template constructor, you will need to override this
155function to return an appropriate document instance.
156
157This function calls wxDocTemplate::InitDocument which in turns
158calls wxDocument::OnCreate.
159
160\membersection{wxDocTemplate::CreateView}\label{wxdoctemplatecreateview}
161
162\func{wxView *}{CreateView}{\param{wxDocument *}{doc}, \param{long}{ flags = 0}}
163
164Creates a new instance of the associated view class. If you have not supplied
165a wxClassInfo parameter to the template constructor, you will need to override this
166function to return an appropriate view instance.
167
168\membersection{wxDocTemplate::GetDefaultExtension}\label{wxdoctemplategetdefaultextension}
169
170\func{wxString}{GetDefaultExtension}{\void}
171
172Returns the default file extension for the document data, as passed to the document template constructor.
173
174\membersection{wxDocTemplate::GetDescription}\label{wxdoctemplategetdescription}
175
176\func{wxString}{GetDescription}{\void}
177
178Returns the text description of this template, as passed to the document template constructor.
179
180\membersection{wxDocTemplate::GetDirectory}\label{wxdoctemplategetdirectory}
181
182\func{wxString}{GetDirectory}{\void}
183
184Returns the default directory, as passed to the document template constructor.
185
186\membersection{wxDocTemplate::GetDocumentManager}\label{wxdoctemplategetdocumentmanager}
187
188\func{wxDocManager *}{GetDocumentManager}{\void}
189
190Returns a pointer to the document manager instance for which this template was created.
191
192\membersection{wxDocTemplate::GetDocumentName}\label{wxdoctemplategetdocumentname}
193
194\func{wxString}{GetDocumentName}{\void}
195
196Returns the document type name, as passed to the document template constructor.
197
198\membersection{wxDocTemplate::GetFileFilter}\label{wxdoctemplategetfilefilter}
199
200\func{wxString}{GetFileFilter}{\void}
201
202Returns the file filter, as passed to the document template constructor.
203
204\membersection{wxDocTemplate::GetFlags}\label{wxdoctemplategetflags}
205
206\func{long}{GetFlags}{\void}
207
208Returns the flags, as passed to the document template constructor.
209
210\membersection{wxDocTemplate::GetViewName}\label{wxdoctemplategetviewname}
211
212\func{wxString}{GetViewName}{\void}
213
214Returns the view type name, as passed to the document template constructor.
215
216\membersection{wxDocTemplate::InitDocument}\label{wxdoctemplateinitdocument}
217
218\func{bool}{InitDocument}{\param{wxDocument* }{doc}, \param{const wxString\& }{path}, \param{long}{ flags = 0}}
219
220Initialises the document, calling wxDocument::OnCreate. This is called from
221wxDocTemplate::CreateDocument.
222
223\membersection{wxDocTemplate::IsVisible}\label{wxdoctemplateisvisible}
224
225\func{bool}{IsVisible}{\void}
226
227Returns true if the document template can be shown in user dialogs, false otherwise.
228
229\membersection{wxDocTemplate::SetDefaultExtension}\label{wxdoctemplatesetdefaultextension}
230
231\func{void}{SetDefaultExtension}{\param{const wxString\& }{ext}}
232
233Sets the default file extension.
234
235\membersection{wxDocTemplate::SetDescription}\label{wxdoctemplatesetdescription}
236
237\func{void}{SetDescription}{\param{const wxString\& }{descr}}
238
239Sets the template description.
240
241\membersection{wxDocTemplate::SetDirectory}\label{wxdoctemplatesetdirectory}
242
243\func{void}{SetDirectory}{\param{const wxString\& }{dir}}
244
245Sets the default directory.
246
247\membersection{wxDocTemplate::SetDocumentManager}\label{wxdoctemplatesetdocumentmanager}
248
249\func{void}{SetDocumentManager}{\param{wxDocManager *}{manager}}
250
251Sets the pointer to the document manager instance for which this template was created.
252Should not be called by the application.
253
254\membersection{wxDocTemplate::SetFileFilter}\label{wxdoctemplatesetfilefilter}
255
256\func{void}{SetFileFilter}{\param{const wxString\& }{filter}}
257
258Sets the file filter.
259
260\membersection{wxDocTemplate::SetFlags}\label{wxdoctemplatesetflags}
261
262\func{void}{SetFlags}{\param{long }{flags}}
263
264Sets the internal document template flags (see the constructor description for more details).
265
266