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