Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtinfo / dtinfo / src / Templates2.C
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: Templates2.C /main/11 1996/10/21 17:43:57 rcs $ */
24
25 #define C_xList
26 #define C_InputNotifier
27 #define L_Support
28
29 #define C_SearchScope
30 #define L_Search
31
32 #define C_QueryTerm
33 #define C_QueryGroup
34 #define L_Query
35
36 #define C_Mark
37 #define C_MarkBase
38 #define L_Marks
39
40 #define C_GhostScriptEventMgr
41 #define C_InputMgrX
42 #define C_MessageMgr
43 #define L_Managers
44
45 #define C_PixmapGraphic
46 #define C_GraphicsMgr
47 #define L_Graphics
48
49 #define C_NodeViewInfo
50 #define L_Basic
51
52 class Ancestor;
53 class LinkAction;
54 class BookTab;
55 class MarkTml;
56 class MarkIcon;
57 class MarkCreated;
58 class MarkSelectionChanged;
59 #ifndef _IBMR2
60 class DisplayDocument;
61 #endif
62 class MarkBase;
63 class MarkCanvas;
64 class NodeWindowAgent;
65 class LibraryAgent;
66 class Mark_mmdb;
67 class HistoryAdd;
68 class HistoryDelete;
69 class SelectionChanged;
70 class PixmapGraphic;
71 class BookmarkEdit;
72 class InfobaseEntry;
73 class Header;
74 class PixmapPidObj;
75 class PsProcess;
76 #ifdef UseQSearch
77 class NTerminal;
78 #endif
79 class PartialElementFeatures;
80 class TableDefn;
81 class TGDefn;
82 class ColDefn;
83 class ColFormat;
84 class RowDefn;
85
86 #define EXPAND_TEMPLATES
87 #ifndef TEMPL_DEBUG
88 #ifdef DEBUG
89 #undef DEBUG
90 #endif
91 #endif
92
93 #include "Exceptions.hh"
94 #include "UAS_Exceptions.hh"
95 #include "UAS_Common.hh"
96 #include "UAS_EmbeddedObject.hh"
97 #include "UAS_Collection.hh"
98 #include "UAS_Path.hh"
99 #include "UAS_OQLParser.hh"
100 #include "UAS_StyleSheet.hh"
101 #include "UAS_SearchEngine.hh"
102 #include "UAS_Factory.hh"
103 #include "UAS/MMDB/MMDB.hh"
104 #include "OnlineRender/FontCache.hh"
105 #ifdef DTSEARCH
106 #include "UAS_BookcaseEntry.hh"
107 #include "UAS/DtSR/DtSR_BookcaseEntry.hh"
108 #include "UAS/DtSR/DtSR_Parser.hh"
109 #include "UAS/DtSR/DtSR_SearchResultsEntry.hh"
110 #include "UAS/DtSR/DtSR_SearchResults.hh"
111 #include "UAS/DtSR/DtSR_SearchEngine.hh"
112 #include "UAS/DtSR/DtSR_Stems.hh"
113 #include "UAS/DtSR/Util_Classes/DictLink.hh"
114 #include "UAS/DtSR/Util_Classes/Dict.hh"
115 #include "UAS/DtSR/Util_Classes/DictIter.hh"
116 #else
117 #include "UAS/Fulcrum/Fulcrum_BookcaseEntry.hh"
118 #endif
119
120 #include "OnlineRender/FontCache.hh"
121 #include <Dt/CanvasP.h>
122 #include <Dt/CanvasSegP.h>
123 #include "OnlineRender/TableDefn.hh"
124
125 /* #include "dti_cc/CC_Dlist.h" */
126 #include "dti_cc/CC_Stack.C"
127 /* #include "dti_cc/CC_String.h" */
128 #include "Dt/CanvasP.h"
129 #include "Dt/CanvasSegP.h"
130
131 #include "Prelude.h"
132
133 // moved ibm stuff here because compilation of Templates.C
134 // file on ibm was "over the top" - rCs
135
136 #ifdef  _IBMR2
137
138 #pragma define(xList<Ancestor *>)
139 #pragma define(xList<BookTab *>)
140 #pragma define(xList<MarkTml *>)
141 #pragma define(xList<MarkIcon *>)
142 #pragma define(xList<NodeWindowAgent *>)
143 #pragma define(xList<LibraryAgent *>)
144 #pragma define(xList<MarkBase *>)
145 #pragma define(xList<MarkCanvas *>)
146 #pragma define(xList<Mark_mmdb *>)
147 #pragma define(xList<const char *>)
148 #pragma define(xList<MarkBase::open_func_t>)
149 #pragma define(xList<MarkBase::mb_create_func_t>)
150
151 #pragma define(xList<Graphic *>)
152 #pragma define(xList<int>)
153 #pragma define(xList<long>)
154 #pragma define(xList<unsigned long>)
155 #pragma define(xList<BookmarkEdit *>)
156 #pragma define(xList<InfobaseEntry *>)
157 #pragma define(xList<Header *>)
158 #pragma define(xList<PixmapPidObj *>)
159 #pragma define(xList<PsProcess *>)
160
161 /* following are used across more than one browser subdir */
162 /* (Some local instantiations of Stack are made in OnlineRender subdir) */
163
164 #pragma define(Stack<char>)
165 #pragma define(Stack<char *>)
166
167 #pragma define(Stack<_dtCvSegment*>)
168 #pragma define(Stack<PartialElementFeatures*>)
169 #pragma define(Stack<TableDefn*>)
170 #pragma define(Stack<TGDefn*>)
171
172 #pragma define(CC_TPtrSlist<ColDefn>)
173 #pragma define(CC_TPtrSlist<ColFormat>)
174 #pragma define(CC_TPtrSlist<RowDefn>)
175
176 #pragma define(hashTable<FontEntry,char>)
177 /* Query subdir refs */
178 #pragma define(Stack<connective_t>)
179 #ifdef UseQSearch
180 #pragma define(Stack<NTerminal*>)
181 #endif
182 /* Basic subdir refs */
183 #pragma define(CC_TPtrDlist<sr_DtCvSegment>)
184
185 #endif
186
187 #ifdef __osf__
188
189 #pragma define_template xList<InputMgrData*>
190 #pragma define_template UAS_PtrList<UAS_Receiver<EditMark> >
191 #pragma define_template UAS_PtrList<UAS_Receiver<ViewMark> >
192 #pragma define_template UAS_PtrList<UAS_Receiver<MarkDeleted> >
193 #pragma define_template UAS_PtrList<UAS_Receiver<MarkChanged> >
194 #pragma define_template hashTable<CC_String, FontList>
195 #pragma define_template UAS_PtrList<UAS_Sender<UAS_PartialDataMsg> >
196 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_PartialDataMsg> >
197 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_PartialDataMsg> >
198 #pragma define_template UAS_Pointer<UAS_SearchEngine>
199 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_DocumentRetrievedMsg> >
200 #pragma define_template UAS_PtrList<UAS_Sender<UAS_StatusMsg> >
201 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_StatusMsg> >
202 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_LibraryDestroyedMsg> >
203 #pragma define_template UAS_PtrList<UAS_Sender<UAS_CollectionRetrievedMsg> >
204 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_CollectionRetrievedMsg> >
205 #pragma define_template UAS_List<UAS_TextRun>
206 #pragma define_template UAS_Pointer<UAS_SearchResultsEntry>
207 #pragma define_template UAS_PtrList<UAS_Receiver<ScopeCreated> >
208 #pragma define_template UAS_PtrList<UAS_Receiver<ScopeDeleted> >
209 #pragma define_template UAS_PtrList<UAS_Sender<ScopeRenamed> >
210 #pragma define_template UAS_PtrList<UAS_Receiver<ScopeRenamed> >
211 #pragma define_template UAS_Pointer<UAS_SearchResults>
212 #pragma define_template UAS_PtrList<UAS_Sender<UAS_SearchMsg> >
213 #pragma define_template UAS_PtrList<UAS_Receiver<UAS_SearchMsg> >
214 #pragma define_template UAS_Pointer<DtSR_Stems>
215 #pragma define_template CC_TPtrSlist<kv_pair<FontEntry, char> >
216 #pragma define_template pointer_vector<CC_TPtrSlist<kv_pair<FontEntry, char> > >
217 #pragma define_template UAS_PtrList<UAS_Sender<EditMark> >
218 #pragma define_template UAS_PtrList<UAS_Receiver<EditMark> >
219 #pragma define_template UAS_PtrList<UAS_Receiver<ViewMark> >
220 #pragma define_template UAS_PtrList<UAS_Receiver<MarkDeleted> >
221 #pragma define_template UAS_PtrList<UAS_Receiver<MarkChanged> >
222 #pragma define_template UAS_PtrList<UAS_Receiver<DetachGraphic> >
223 #pragma define_template UAS_PtrList<UAS_Receiver<ReAttachGraphic> >
224 #pragma define_template UAS_PtrList<UAS_Sender<CancelOperation> >
225 #pragma define_template UAS_PtrList<UAS_Sender<InputReady> >
226
227 #pragma define_template UAS_Pointer<UAS_List<UAS_String> >
228 #pragma define_template UAS_PtrList<UAS_Sender<LinkAction> >
229 #pragma define_template UAS_PtrList<UAS_Receiver<LinkAction> >
230 #pragma define_template UAS_PtrList<UAS_Sender<DisplayGraphic> >
231 #pragma define_template CC_TValSlist<char>
232 #pragma define_template CC_TValSlist<char*>
233 #pragma define_template CC_TValSlist<_dtCvSegment*>
234 #pragma define_template CC_TValSlist<PartialElementFeatures*>
235 #pragma define_template CC_TValSlist<TableDefn*>
236 #pragma define_template CC_TValSlist<TGDefn*>
237 #pragma define_template UAS_Receiver<UAS_SearchMsg>
238 #pragma define_template UAS_PtrList<UAS_Sender<UAS_CancelRetrievalMsg> >
239 #pragma define_template CC_TValSlist<UAS_String>
240
241 #pragma define_template kv_pair<FontEntry, char>
242 #pragma define_template kv_pair<CC_String, FontList>
243 #pragma define_template kv_pair<CC_String, FontList>
244 #pragma define_template CC_TPtrSlist<kv_pair<CC_String, FontList> >
245 #pragma define_template pointer_vector<CC_TPtrSlist<kv_pair<CC_String, FontList> > >
246 #pragma define_template CC_TValSlist<connective_t>
247 #pragma define_template CC_TValSlistIterator<UAS_String>
248 #pragma define_template CC_TValSlistIterator<connective_t>
249 #pragma define_template CC_TValSlistIterator<TableDefn*>
250 #pragma define_template CC_TValSlistIterator<TGDefn*>
251 #pragma define_template CC_TValSlistIterator<PartialElementFeatures*>
252 #pragma define_template CC_TValSlistIterator<_dtCvSegment*>
253 #pragma define_template CC_TValSlistIterator<char*>
254
255 #pragma define_template DictIter<UAS_String, int>
256
257 //  The following are initializations for a static member 
258 //  function that the DEC compiler wouldn't let me initialize
259 //  in the template definition
260
261 CC_Boolean kv_pair<CC_String, FontList>::f_needRemove = FALSE; 
262 CC_Boolean kv_pair<FontEntry, char>::f_needRemove = FALSE; 
263
264 #endif
265
266
267 #ifdef USL
268
269 #pragma instantiate xList<InputMgrData*>
270 #pragma instantiate UAS_PtrList<UAS_Receiver<EditMark> >
271 #pragma instantiate UAS_PtrList<UAS_Receiver<ViewMark> >
272 #pragma instantiate UAS_PtrList<UAS_Receiver<MarkDeleted> >
273 #pragma instantiate UAS_PtrList<UAS_Receiver<MarkChanged> >
274 #pragma instantiate hashTable<CC_String, FontList>
275 #pragma instantiate UAS_PtrList<UAS_Sender<UAS_PartialDataMsg> >
276 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_PartialDataMsg> >
277 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_PartialDataMsg> >
278 #pragma instantiate UAS_Pointer<UAS_SearchEngine>
279 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_DocumentRetrievedMsg> >
280 #pragma instantiate UAS_PtrList<UAS_Sender<UAS_StatusMsg> >
281 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_StatusMsg> >
282 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_LibraryDestroyedMsg> >
283 #pragma instantiate UAS_PtrList<UAS_Sender<UAS_CollectionRetrievedMsg> >
284 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_CollectionRetrievedMsg> >
285 #pragma instantiate UAS_List<UAS_TextRun>
286 #pragma instantiate UAS_Pointer<UAS_SearchResultsEntry>
287 #pragma instantiate UAS_PtrList<UAS_Receiver<ScopeCreated> >
288 #pragma instantiate UAS_PtrList<UAS_Receiver<ScopeDeleted> >
289 #pragma instantiate UAS_PtrList<UAS_Sender<ScopeRenamed> >
290 #pragma instantiate UAS_PtrList<UAS_Receiver<ScopeRenamed> >
291 #pragma instantiate UAS_Pointer<UAS_SearchResults>
292 #pragma instantiate UAS_PtrList<UAS_Sender<UAS_SearchMsg> >
293 #pragma instantiate UAS_PtrList<UAS_Receiver<UAS_SearchMsg> >
294 #pragma instantiate UAS_Pointer<DtSR_Stems>
295 #pragma instantiate CC_TPtrSlist<kv_pair<FontEntry, char> >
296 #pragma instantiate pointer_vector<CC_TPtrSlist<kv_pair<FontEntry, char> > >
297 #pragma instantiate UAS_PtrList<UAS_Sender<EditMark> >
298 #pragma instantiate UAS_PtrList<UAS_Receiver<EditMark> >
299 #pragma instantiate UAS_PtrList<UAS_Receiver<ViewMark> >
300 #pragma instantiate UAS_PtrList<UAS_Receiver<MarkDeleted> >
301 #pragma instantiate UAS_PtrList<UAS_Receiver<MarkChanged> >
302 #pragma instantiate UAS_PtrList<UAS_Receiver<DetachGraphic> >
303 #pragma instantiate UAS_PtrList<UAS_Receiver<ReAttachGraphic> >
304 #pragma instantiate UAS_PtrList<UAS_Sender<CancelOperation> >
305 #pragma instantiate UAS_PtrList<UAS_Sender<InputReady> >
306
307 #pragma instantiate UAS_Pointer<UAS_List<UAS_String> >
308 #pragma instantiate UAS_PtrList<UAS_Sender<LinkAction> >
309 #pragma instantiate UAS_PtrList<UAS_Receiver<LinkAction> >
310 #pragma instantiate UAS_PtrList<UAS_Sender<DisplayGraphic> >
311 #pragma instantiate CC_TValSlist<char>
312 #pragma instantiate CC_TValSlist<char*>
313 #pragma instantiate CC_TValSlist<_dtCvSegment*>
314 #pragma instantiate CC_TValSlist<PartialElementFeatures*>
315 #pragma instantiate CC_TValSlist<TableDefn*>
316 #pragma instantiate CC_TValSlist<TGDefn*>
317 #pragma instantiate UAS_Receiver<UAS_SearchMsg>
318 #pragma instantiate UAS_PtrList<UAS_Sender<UAS_CancelRetrievalMsg> >
319 #pragma instantiate CC_TValSlist<UAS_String>
320
321 #pragma instantiate kv_pair<FontEntry, char>
322 #pragma instantiate kv_pair<CC_String, FontList>
323 #pragma instantiate kv_pair<CC_String, FontList>
324 #pragma instantiate CC_TPtrSlist<kv_pair<CC_String, FontList> >
325 #pragma instantiate pointer_vector<CC_TPtrSlist<kv_pair<CC_String, FontList> > >
326 #pragma instantiate CC_TValSlist<connective_t>
327 #pragma instantiate CC_TValSlistIterator<UAS_String>
328 #pragma instantiate CC_TValSlistIterator<connective_t>
329 #pragma instantiate CC_TValSlistIterator<TableDefn*>
330 #pragma instantiate CC_TValSlistIterator<TGDefn*>
331 #pragma instantiate CC_TValSlistIterator<PartialElementFeatures*>
332 #pragma instantiate CC_TValSlistIterator<_dtCvSegment*>
333 #pragma instantiate CC_TValSlistIterator<char*>
334
335 #pragma instantiate DictIter<UAS_String, int>
336
337 #endif