xref: /AOO41X/main/rsc/source/parser/rscinit.cxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_rsc.hxx"
30 
31 /****************** I N C L U D E S **************************************/
32 // C and C++ Includes.
33 #include <stdlib.h>
34 #include <stdio.h>
35 
36 #include <tools/rc.h>
37 
38 #include <vclrsc.hxx>
39 
40 // Programmabhaengige Includes.
41 #include <rsctree.hxx>
42 #include <rsctop.hxx>
43 #include <rscrange.hxx>
44 #include <rscconst.hxx>
45 #include <rscflag.hxx>
46 #include <rscstr.hxx>
47 #include <rsccont.hxx>
48 #include <rscmgr.hxx>
49 #include <rscclass.hxx>
50 #include <rsckey.hxx>
51 #include <rscdb.hxx>
52 
53 #include "rsclex.hxx"
54 #include <yyrscyacc.hxx>
55 
56 /****************** M a c r o s ******************************************/
57 #define INS_WINBIT( pClass, WinBit )		\
58 	InsWinBit( pClass, #WinBit, n##WinBit##Id );
59 
60 /****************** C O D E **********************************************/
61 void NameToVerCtrl( RSCINST & aVersion, RscTop * pClass,
62 					RscTop * pClassString )
63 {
64 	if( pClass )
65 	{
66 		NameToVerCtrl( aVersion, (RscTop *)pClass->Left(), pClassString );
67 		{
68 			RSCINST aVI;
69 			RSCINST aStr;
70 
71 			// Namen in Versionskontrolle einsetzen
72 			aVersion.pClass->
73 				  GetElement( aVersion, RscId( pClass->GetTypId() ),
74 							  pClassString, RSCINST(), &aVI );
75 			aStr = aVI.pClass->GetVariable( aVI, pHS->getID( "TEXT" ),
76 											RSCINST() );
77 			aStr.pClass->SetString( aStr, pHS->getString( pClass->GetId() ).getStr() );
78 		}
79 		NameToVerCtrl( aVersion, (RscTop *)pClass->Right(), pClassString );
80 	}
81 }
82 
83 /*************************************************************************
84 |*
85 |*	  RscTypCont::Init()
86 |*
87 |*	  Beschreibung
88 |*	  Ersterstellung	MM 22.03.91
89 |*	  Letzte Aenderung	MM 27.06.91
90 |*
91 *************************************************************************/
92 void RscTypCont::Init()
93 {
94 	RscEnum *	pFieldUnits;
95 	RscEnum *	pTimeFieldFormat;
96 	RscEnum *	pColor;
97 	RscEnum *	pMapUnit;
98 	RscEnum *	pKey;
99 	RscEnum *	pTriState;
100 	RscEnum *	pMessButtons;
101 	RscEnum *	pMessDefButton;
102 	RscTupel *	pGeometry;
103 	RscArray *	pLangGeometry;
104 	RscCont  *	pStringList;
105 	RscArray *	pLangStringList;
106 	RscTupel *	pStringTupel;
107 	RscTupel *	pStringLongTupel;
108 	RscCont  *	pStringTupelList;
109 	RscCont  *	pStringLongTupelList;
110 	RscArray *	pLangStringTupelList;
111 	RscArray *	pLangStringLongTupelList;
112 
113 	RscTop	 *	pClassMgr;
114 	RscTop	 *	pClassString;
115 	RscTop	 *	pClassStringArray;
116 	RscTop	 *	pClassBitmap;
117 	RscTop	 *	pClassColor;
118 	RscTop	 *	pClassImage;
119 	RscTop	 *	pClassImageList;
120 	RscTop	 *	pClassWindow;
121 	RscTop	 *	pClassSystemWindow;
122 	RscTop	 *	pClassWorkWindow;
123 	RscTop	 *	pClassDialog;
124 	RscTop	 *	pClassModalDialog;
125 	RscTop	 *	pClassModelessDialog;
126 	RscTop	 *	pClassControl;
127 	RscTop	 *	pClassButton;
128 	RscTop	 *	pClassCheckBox;
129 	RscTop	 *	pClassPushButton;
130 	RscTop	 *	pClassOKButton;
131 	RscTop	 *	pClassCancelButton;
132 	RscTop	 *	pClassHelpButton;
133 	RscTop	 *	pClassRadioButton;
134 	RscTop	 *	pClassImageRadioButton;
135 	RscTop	 *	pClassImageButton;
136 	RscTop	 *	pClassTriStateBox;
137 	RscTop	 *	pClassEdit;
138 	RscTop	 *	pClassMultiLineEdit;
139 	RscTop	 *	pClassScrollBar;
140 	RscTop	 *	pClassListBox;
141 	RscTop	 *	pClassMultiListBox;
142 	RscTop	 *	pClassComboBox;
143 	RscTop	 *	pClassFixedText;
144 	RscTop	 *	pClassFixedBitmap;
145 	RscTop	 *	pClassFixedImage;
146 	RscTop	 *	pClassGroupBox;
147 	RscTop	 *	pClassKeyCode;
148 	RscTop	 *	pLangClassKeyCode;
149 	RscTop	 *	pClassAccelItem;
150 	RscTop	 *	pClassAccel;
151 	RscTop	 *	pClassMenuItem;
152 	RscTop	 *	pClassMenu;
153 	RscTop	 *	pClassMenuButton;
154 	RscTop	 *	pClassMessBox;
155 	RscTop	 *	pClassInfoBox;
156 	RscTop	 *	pClassWarningBox;
157 	RscTop	 *	pClassErrorBox;
158 	RscTop	 *	pClassQueryBox;
159 	RscTop	 *	pClassSplitter;
160 	RscTop	 *	pClassSplitWindow;
161 	RscTop	 *	pClassSpinButton;
162 	RscTop	 *	pClassTime;
163 	RscTop	 *	pClassDate;
164 	RscTop	 *	pClassSpinField;
165 	RscTop	 *	pClassPatternField;
166 	RscTop	 *	pClassNumericField;
167 	RscTop	 *	pClassMetricField;
168 	RscTop	 *	pClassCurrencyField;
169 	RscTop	 *	pClassLongCurrencyField;
170 	RscTop	 *	pClassDateField;
171 	RscTop	 *	pClassTimeField;
172 	RscTop	 *	pClassPatternBox;
173 	RscTop	 *	pClassNumericBox;
174 	RscTop	 *	pClassMetricBox;
175 	RscTop	 *	pClassCurrencyBox;
176 	RscTop	 *	pClassLongCurrencyBox;
177 	RscTop	 *	pClassDateBox;
178 	RscTop	 *	pClassTimeBox;
179 	RscTop	 *	pClassDockingWindow;
180 	RscTop	 *	pClassToolBoxItem;
181 	RscTop	 *	pClassToolBox;
182 	RscTop	 *	pClassStatusBar;
183 	RscTop	 *	pClassMoreButton;
184 	RscTop	 *	pClassFloatingWindow;
185 	RscTop	 *	pClassTabPage;
186 	RscTop	 *	pClassTabDialog;
187 	RscTop	 *	pClassTabControlItem;
188 	RscTop	 *	pClassTabControl;
189 	RscTop	 *	pClassFixedLine;
190 	RscTop	 *	pClassScrollBarBox;
191 	RscTop *	pClassSfxStyleFamilyItem;
192 	RscTop *	pClassSfxTemplateDialog;
193 	RscTop *	pClassSfxSlotInfo;
194 
195 	Atom		nId;
196 
197 	aNmTb.SetSort( sal_False );
198 {
199 	/********** C O M P I L E R   T Y P E N ******************************/
200 	aNmTb.Put( "LINE",               LINE,           (long)0 );
201 	aNmTb.Put( "NOT",                NOT,            (long)0 );
202 	aNmTb.Put( "DEFINE",             DEFINE,         (long)0 );
203 	aNmTb.Put( "INCLUDE",            INCLUDE,        (long)0 );
204 	aNmTb.Put( "DEFAULT",            DEFAULT,        (long)0  );
205 	aNmTb.Put( "class",              CLASS,          (long)0  );
206 	aNmTb.Put( "extendable",         EXTENDABLE,     (long)0  );
207 	aNmTb.Put( "writeifset",         WRITEIFSET,     (long)0  );
208 
209 /* Werte fuer Aufzaehlungstypen */
210 	aNmTb.Put( "TRUE",               BOOLEAN,        (long)sal_True  );
211 	aNmTb.Put( "FALSE",              BOOLEAN,        (long)sal_False );
212 
213 	#if 0
214 /* Vordefinierte HilfeId's */
215 	aNmTb.Put( "HELP_INDEX",         NUMBER,     OOO_HELP_INDEX      );
216 	aNmTb.Put( "HELP_HELPONHELP",    NUMBER,     OOO_HELP_HELPONHELP );
217 	#endif
218 
219 	aNmTb.Put( "XSCALE",             XSCALE ,        (long)0     );
220 	aNmTb.Put( "YSCALE",             YSCALE ,        (long)0     );
221 	aNmTb.Put( "RGB",                RGB    ,        (long)0     );
222 	aNmTb.Put( "POSSIZE",            GEOMETRY,       (long)0     );
223 	aNmTb.Put( "POS",                POSITION,       (long)0     );
224 	aNmTb.Put( "SIZE",               DIMENSION,      (long)0     );
225 	aNmTb.Put( "ZoomInOutputSize",   INZOOMOUTPUTSIZE,(long)0    );
226 	aNmTb.Put( "FloatingPos",        FLOATINGPOS,    (long)0     );
227 }
228 	/********** B A S I S	T Y P E N ************************************/
229 {
230 	/********** S H O R T ************************************************/
231 	aShort.SetRange( -32768, 32767 );
232 
233 	/********** U S H O R T **********************************************/
234 	aUShort.SetRange( 0, 0xFFFF );
235 
236 	/********** L O N G **************************************************/
237 	aLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
238 	aEnumLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
239 
240 	/********** I D U S H O R T ******************************************/
241 	aIdUShort.SetRange( 0, 0xFFFF );
242 
243 	/********** I D N O Z E R O U S H O R T ******************************/
244 	aIdNoZeroUShort.SetRange( 1, 0xFFFF );
245 
246 	/********** N O Z E R O S H O R T ************************************/
247 	aNoZeroShort.SetRange( -32768, 32767 );
248 	aNoZeroShort.SetOutRange( 0 );
249 
250 	/********** R A N G E S H O R T **************************************/
251 		a1to12Short.SetRange( 1, 12 );
252 		a0to23Short.SetRange( 0, 23 );
253 		a1to31Short.SetRange( 1, 31 );
254 		a0to59Short.SetRange( 0, 59 );
255 		a0to99Short.SetRange( 0, 99 );
256 		a0to9999Short.SetRange( 0, 9999 );
257 
258 	/********** I D R A N G E ********************************************/
259 	aIdLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
260 }
261 {
262 	/********** W I N B I T S F L A G ************************************/
263 	// Variablenname fuer WinBits
264 	nWinBitVarId = aNmTb.Put( "_WinBits", VARNAME );
265 
266 	// Windows
267 	nBorderId		= pHS->getID( "WB_BORDER" );
268 	aWinBits.SetConstant( nBorderId, sal::static_int_cast<sal_Int32>(WB_BORDER) );
269 	nHideId 		= pHS->getID( "WB_HIDE" );
270 	aWinBits.SetConstant( nHideId, sal::static_int_cast<sal_Int32>(WB_HIDE) );
271 	nClipChildrenId = pHS->getID( "WB_CLIPCHILDREN" );
272 	aWinBits.SetConstant( nClipChildrenId, sal::static_int_cast<sal_Int32>(WB_CLIPCHILDREN) );
273 	nSizeableId 	= pHS->getID( "WB_SIZEABLE" );
274 	aWinBits.SetConstant( nSizeableId, sal::static_int_cast<sal_Int32>(WB_SIZEABLE) );
275 	nMoveableId 	= pHS->getID( "WB_MOVEABLE" );
276 	aWinBits.SetConstant( nMoveableId, sal::static_int_cast<sal_Int32>(WB_MOVEABLE) );
277 	nMinimizeId 	= pHS->getID( "WB_MINABLE" );
278 	aWinBits.SetConstant( nMinimizeId, 0 /*WB_MINABLE*/ );
279 	nMaximizeId 	= pHS->getID( "WB_MAXABLE" );
280 	aWinBits.SetConstant( nMaximizeId, 0 /*WB_MAXABLE*/ );
281 	nCloseableId	= pHS->getID( "WB_CLOSEABLE" );
282 	aWinBits.SetConstant( nCloseableId, sal::static_int_cast<sal_Int32>(WB_CLOSEABLE) );
283 	nAppId			= pHS->getID( "WB_APP" );
284 	aWinBits.SetConstant( nAppId, sal::static_int_cast<sal_Int32>(WB_APP) );
285 	nTabstopId		= pHS->getID( "WB_TABSTOP" );
286 	aWinBits.SetConstant( nTabstopId, sal::static_int_cast<sal_Int32>(WB_TABSTOP) );
287 	nGroupId		= pHS->getID( "WB_GROUP" );
288 	aWinBits.SetConstant( nGroupId, sal::static_int_cast<sal_Int32>(WB_GROUP) );
289 	nSysmodalId 	= pHS->getID( "WB_SYSMODAL" );
290 	aWinBits.SetConstant( nSysmodalId, 0 /*WB_SYSMODAL*/ );
291 }
292 {
293 	nLeftId 		= pHS->getID( "WB_LEFT" );
294 	aWinBits.SetConstant( nLeftId, sal::static_int_cast<sal_Int32>(WB_LEFT) );
295 	nCenterId		= pHS->getID( "WB_CENTER" );
296 	aWinBits.SetConstant( nCenterId, sal::static_int_cast<sal_Int32>(WB_CENTER) );
297 	nRightId		= pHS->getID( "WB_RIGHT" );
298 	aWinBits.SetConstant( nRightId, sal::static_int_cast<sal_Int32>(WB_RIGHT) );
299 	nTopId 		    = pHS->getID( "WB_TOP" );
300 	aWinBits.SetConstant( nTopId, sal::static_int_cast<sal_Int32>(WB_TOP) );
301 	nVCenterId		= pHS->getID( "WB_VCENTER" );
302 	aWinBits.SetConstant( nVCenterId, sal::static_int_cast<sal_Int32>(WB_VCENTER) );
303 	nBottomId		= pHS->getID( "WB_BOTTOM" );
304 	aWinBits.SetConstant( nBottomId, sal::static_int_cast<sal_Int32>(WB_BOTTOM) );
305 	nHScrollId		= pHS->getID( "WB_HSCROLL" );
306 	aWinBits.SetConstant( nHScrollId, sal::static_int_cast<sal_Int32>(WB_HSCROLL) );
307 	nVScrollId		= pHS->getID( "WB_VSCROLL" );
308 	aWinBits.SetConstant( nVScrollId, sal::static_int_cast<sal_Int32>(WB_VSCROLL) );
309 	nSortId 		= pHS->getID( "WB_SORT" );
310 	aWinBits.SetConstant( nSortId, sal::static_int_cast<sal_Int32>(WB_SORT) );
311 	nDefaultId			= pHS->getID( "WB_DEFBUTTON" );
312 	aWinBits.SetConstant( nDefaultId, sal::static_int_cast<sal_Int32>(WB_DEFBUTTON) );
313 	nRepeatId			= pHS->getID( "WB_REPEAT" );
314 	aWinBits.SetConstant( nRepeatId, sal::static_int_cast<sal_Int32>(WB_REPEAT) );
315 	nSVLookId			= pHS->getID( "WB_SVLOOK" );
316 	aWinBits.SetConstant( nSVLookId, sal::static_int_cast<sal_Int32>(WB_3DLOOK) );
317 	nDropDownId 		= pHS->getID( "WB_DROPDOWN" );
318 	aWinBits.SetConstant( nDropDownId, sal::static_int_cast<sal_Int32>(WB_DROPDOWN) );
319 	nPassWordId 		= pHS->getID( "WB_PASSWORD" );
320 	aWinBits.SetConstant( nPassWordId, sal::static_int_cast<sal_Int32>(WB_PASSWORD) );
321 	nReadOnlyId 		= pHS->getID( "WB_READONLY" );
322 	aWinBits.SetConstant( nReadOnlyId, sal::static_int_cast<sal_Int32>(WB_READONLY) );
323 	nAutoSizeId 		= pHS->getID( "WB_AUTOSIZE" );
324 	aWinBits.SetConstant( nAutoSizeId, sal::static_int_cast<sal_Int32>(WB_AUTOSIZE) );
325 	nSpinId 			= pHS->getID( "WB_SPIN" );
326 	aWinBits.SetConstant( nSpinId, sal::static_int_cast<sal_Int32>(WB_SPIN) );
327 	nTabControlId		= pHS->getID( "WB_DIALOGCONTROL" );
328 	aWinBits.SetConstant( nTabControlId, sal::static_int_cast<sal_Int32>(WB_DIALOGCONTROL) );
329 	nSimpleModeId		= pHS->getID( "WB_SIMPLEMODE" );
330 	aWinBits.SetConstant( nSimpleModeId, sal::static_int_cast<sal_Int32>(WB_SIMPLEMODE) );
331 	nDragId 			= pHS->getID( "WB_DRAG" );
332 	aWinBits.SetConstant( nDragId, sal::static_int_cast<sal_Int32>(WB_DRAG) );
333 	nScrollId			= pHS->getID( "WB_SCROLL" );
334 	aWinBits.SetConstant( nScrollId, sal::static_int_cast<sal_Int32>(WB_SCROLL) );
335 	nZoomableId 		= pHS->getID( "WB_ZOOMABLE" );
336 	aWinBits.SetConstant( nZoomableId, sal::static_int_cast<sal_Int32>(WB_ROLLABLE) );
337 	nHideWhenDeactivateId = pHS->getID( "WB_HIDEWHENDEACTIVATE" );
338 	aWinBits.SetConstant( nHideWhenDeactivateId, 0 /*WB_HIDEWHENDEACTIVATE*/ );
339 	nAutoHScrollId		= pHS->getID( "WB_AUTOHSCROLL" );
340 	aWinBits.SetConstant( nAutoHScrollId, sal::static_int_cast<sal_Int32>(WB_AUTOHSCROLL) );
341 	nAutoVScrollId		= pHS->getID( "WB_AUTOVSCROLL" );
342 	aWinBits.SetConstant( nAutoVScrollId, sal::static_int_cast<sal_Int32>(WB_AUTOVSCROLL) );
343 	nDDExtraWidthId 	= pHS->getID( "WB_DDEXTRAWIDTH" );
344 	aWinBits.SetConstant( nDDExtraWidthId, 0 /*WB_DDEXTRAWIDTH*/ );
345 	nWordBreakId		= pHS->getID( "WB_WORDBREAK" );
346 	aWinBits.SetConstant( nWordBreakId, sal::static_int_cast<sal_Int32>(WB_WORDBREAK) );
347 	nLeftLabelId		= pHS->getID( "WB_LEFTLABEL" );
348 	aWinBits.SetConstant( nLeftLabelId, 0 /*WB_LEFTLABEL*/ );
349 	nHasLinesId 		= pHS->getID( "WB_HASLINES" );
350 	aWinBits.SetConstant( nHasLinesId, sal::static_int_cast<sal_Int32>(WB_HASLINES) );
351 	nHasButtonsId		= pHS->getID( "WB_HASBUTTONS" );
352 	aWinBits.SetConstant( nHasButtonsId, sal::static_int_cast<sal_Int32>(WB_HASBUTTONS) );
353 	nRectStyleId		= pHS->getID( "WB_RECTSTYLE" );
354 	aWinBits.SetConstant( nRectStyleId, sal::static_int_cast<sal_Int32>(WB_RECTSTYLE) );
355 	nLineSpacingId		= pHS->getID( "WB_LINESPACING" );
356 	aWinBits.SetConstant( nLineSpacingId, sal::static_int_cast<sal_Int32>(WB_LINESPACING) );
357 	nSmallStyleId		= pHS->getID( "WB_SMALLSTYLE" );
358 	aWinBits.SetConstant( nSmallStyleId, sal::static_int_cast<sal_Int32>(WB_SMALLSTYLE) );
359 	nEnableResizingId	= pHS->getID( "WB_ENABLERESIZING" );
360 	aWinBits.SetConstant( nEnableResizingId, 0 /*WB_ENABLERESIZING*/ );
361 	nDockableId 		= pHS->getID( "WB_DOCKABLE" );
362 	aWinBits.SetConstant( nDockableId, sal::static_int_cast<sal_Int32>(WB_DOCKABLE) );
363 	nScaleId			= pHS->getID( "WB_SCALE" );
364 	aWinBits.SetConstant( nScaleId, sal::static_int_cast<sal_Int32>(WB_SCALE) );
365 	nIgnoreTabId		= pHS->getID( "WB_IGNORETAB" );
366 	aWinBits.SetConstant( nIgnoreTabId, sal::static_int_cast<sal_Int32>(WB_IGNORETAB) );
367 	nNoSplitDrawId		= pHS->getID( "WB_NOSPLITDRAW" );
368 	aWinBits.SetConstant( nNoSplitDrawId, sal::static_int_cast<sal_Int32>(WB_NOSPLITDRAW) );
369 	nTopImageId 		= pHS->getID( "WB_TOPIMAGE" );
370 	aWinBits.SetConstant( nTopImageId, sal::static_int_cast<sal_Int32>(WB_TOPIMAGE) );
371 	nNoLabelId			= pHS->getID( "WB_NOLABEL" );
372 	aWinBits.SetConstant( nNoLabelId, sal::static_int_cast<sal_Int32>(WB_NOLABEL) );
373 	nVertId				= pHS->getID( "WB_VERT" );
374 	aWinBits.SetConstant( nVertId, sal::static_int_cast<sal_Int32>(WB_VERT) );
375     nSysWinId           = pHS->getID( "WB_SYSTEMWINDOW" );
376     aWinBits.SetConstant( nSysWinId, sal::static_int_cast<sal_Int32>(WB_SYSTEMWINDOW) );
377 }
378 {
379 	/********** I n i t   B a s i c   T y p e s **************************/
380 	InitLangType();
381 	aBaseLst.Insert( pFieldUnits = InitFieldUnitsType(), LIST_APPEND );
382 	aBaseLst.Insert( pTimeFieldFormat = InitTimeFieldFormat(), LIST_APPEND );
383 	aBaseLst.Insert( pColor   = InitColor(), LIST_APPEND			 );
384 	aBaseLst.Insert( pMapUnit		= InitMapUnit(),	   LIST_APPEND );
385 	aBaseLst.Insert( pKey			= InitKey(),		   LIST_APPEND );
386 	aBaseLst.Insert( pTriState		= InitTriState(),	   LIST_APPEND );
387 	aBaseLst.Insert( pMessButtons	= InitMessButtons(),   LIST_APPEND );
388 	aBaseLst.Insert( pMessDefButton = InitMessDefButton(), LIST_APPEND );
389 
390 	aBaseLst.Insert( pGeometry		= InitGeometry(),			LIST_APPEND );
391 	aBaseLst.Insert( pLangGeometry = InitLangGeometry( pGeometry ),
392 					 LIST_APPEND );
393 	aBaseLst.Insert( pStringList = InitStringList(), LIST_APPEND );
394 	aBaseLst.Insert( pLangStringList = InitLangStringList( pStringList ),
395 					 LIST_APPEND );
396 	aBaseLst.Insert( pStringTupel = InitStringTupel(), LIST_APPEND );
397 	aBaseLst.Insert( pStringTupelList = InitStringTupelList( pStringTupel ),
398 					 LIST_APPEND );
399 	aBaseLst.Insert( pLangStringTupelList =
400 				  InitLangStringTupelList( pStringTupelList ), LIST_APPEND );
401 	aBaseLst.Insert( pStringLongTupel = InitStringLongTupel(), LIST_APPEND );
402 	aBaseLst.Insert( pStringLongTupelList = InitStringLongTupelList( pStringLongTupel ),
403 					 LIST_APPEND );
404 	aBaseLst.Insert( pLangStringLongTupelList =
405 				  InitLangStringLongTupelList( pStringLongTupelList ), LIST_APPEND );
406 }
407 {
408 	/********** R E S O U R C E   T Y P E N ******************************/
409 	/********** R S C M G R **********************************************/
410 	pRoot = pClassMgr = InitClassMgr();
411 
412 	/********** V e r s i o n s k o n t r o l l e ************************/
413 	aVersion.pClass = new RscClass( pHS->getID( "VersionControl" ),
414 									RSC_VERSIONCONTROL, pClassMgr );
415 	aVersion = aVersion.pClass->Create( NULL, RSCINST() );
416 
417 	/********** S T R I N G **********************************************/
418 	pClassString = InitClassString( pClassMgr );
419 	pRoot->Insert( pClassString );
420 
421 	// String als Referenzklasse des Basisstrings einsetzen
422 	aString.SetRefClass( pClassString );
423 
424 	/********** S T R I N G L I S T **************************************/
425 	// Klasse anlegen
426 	nId = pHS->getID( "StringArray" );
427 	pClassStringArray = new RscClass( nId, RSC_STRINGARRAY, pClassMgr );
428 	pClassStringArray->SetCallPar( *pStdPar1, *pStdPar2, *pStdParType );
429 	aNmTb.Put( nId, CLASSNAME, pClassStringArray );
430 	pRoot->Insert( pClassStringArray );
431 
432 	// Variablen anlegen
433 	nId = aNmTb.Put( "ItemList", VARNAME );
434 	pClassStringArray->SetVariable( nId, pLangStringLongTupelList );
435 
436 	/********** B I T M A P **********************************************/
437 	pClassBitmap = InitClassBitmap( pClassMgr );
438 	pRoot->Insert( pClassBitmap );
439 
440 }
441 {
442 	/********** C O L O R ************************************************/
443 	pClassColor = InitClassColor( pClassMgr, pColor );
444 	pRoot->Insert( pClassColor );
445 
446 	/********** I M A G E ************************************************/
447 	pClassImage = InitClassImage( pClassMgr, pClassBitmap, pClassColor );
448 	pRoot->Insert( pClassImage );
449 
450 	/********** I M A G E L I S T ****************************************/
451  	pClassImageList = InitClassImageList( pClassMgr, pClassBitmap,
452 										  pClassColor, pStringLongTupelList );
453 	pRoot->Insert( pClassImageList );
454 
455 	/********** W I N D O W **********************************************/
456 	pClassWindow = InitClassWindow( pClassMgr, pMapUnit,
457 									pLangGeometry );
458 	pRoot->Insert( pClassWindow );
459 }
460 {
461 
462 	/********** S Y S T E M W I N D O W **********************************/
463 	pClassSystemWindow = InitClassSystemWindow( pClassWindow );
464 	//aBaseLst.Insert( pClassSystemWindow, LIST_APPEND );
465 	pRoot->Insert( pClassSystemWindow );
466 
467 	/********** W O R K W I N D O W **************************************/
468 	pClassWorkWindow = InitClassWorkWindow( pClassSystemWindow );
469 	pRoot->Insert( pClassWorkWindow );
470 
471 	/********** D I A L O G **********************************************/
472 	// Klasse anlegen
473 	pClassDialog = new RscClass( pHS->getID( "Dialog" ),
474 								 RSC_DIALOG, pClassSystemWindow );
475 	pClassDialog->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
476 	aBaseLst.Insert( pClassDialog, LIST_APPEND );
477 
478 	/********** M O D A L D I A L O G ***********************************/
479 	// Klasse anlegen
480 	pClassModalDialog = InitClassModalDialog( pClassDialog );
481 	pRoot->Insert( pClassModalDialog );
482 
483 	/********** M O D E L E S S D I A L O G ******************************/
484 	// Klasse anlegen
485 	pClassModelessDialog = InitClassModelessDialog( pClassDialog );
486 	pRoot->Insert( pClassModelessDialog );
487 }
488 {
489 	/********** C O N T R O L ********************************************/
490 	pClassControl = InitClassControl( pClassWindow );
491 	pRoot->Insert( pClassControl );
492 
493 	/********** B U T T O N **********************************************/
494 	// Klasse anlegen
495 	nId = pHS->getID( "Button" );
496 	pClassButton = new RscClass( nId, RSC_BUTTON, pClassControl );
497 	pClassButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
498 	aNmTb.Put( nId, CLASSNAME, pClassButton );
499 	pRoot->Insert( pClassButton );
500 
501 	/********** C H E C K B O X ******************************************/
502     pClassCheckBox = InitClassCheckBox( pClassButton );
503 	pRoot->Insert( pClassCheckBox );
504 
505 	/********** P U S H B U T T O N **************************************/
506 	// Klasse anlegen
507 	pClassPushButton = InitClassPushButton( pClassButton );
508 	pRoot->Insert( pClassPushButton );
509 
510 	/********** H E L P B U T T O N **************************************/
511 	// Klasse anlegen
512 	nId = pHS->getID( "HelpButton" );
513 	pClassHelpButton = new RscClass( nId, RSC_HELPBUTTON,
514 										pClassPushButton );
515 	pClassHelpButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
516 	aNmTb.Put( nId, CLASSNAME, pClassHelpButton );
517 	pRoot->Insert( pClassHelpButton );
518 
519 	/********** O K B U T T O N ******************************************/
520 	// Klasse anlegen
521 	nId = pHS->getID( "OKButton" );
522 	pClassOKButton = new RscClass( nId, RSC_OKBUTTON,
523 										pClassPushButton );
524 	pClassOKButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
525 	aNmTb.Put( nId, CLASSNAME, pClassOKButton );
526 	pRoot->Insert( pClassOKButton );
527 
528 	/********** C A N C E L B U T T O N **********************************/
529 	// Klasse anlegen
530 	nId = pHS->getID( "CancelButton" );
531 	pClassCancelButton = new RscClass( nId, RSC_CANCELBUTTON,
532 										pClassPushButton );
533 	pClassCancelButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
534 	aNmTb.Put( nId, CLASSNAME, pClassCancelButton );
535 	pRoot->Insert( pClassCancelButton );
536 }
537 {
538 	/********** R A D I O B U T T O N ************************************/
539     pClassRadioButton = InitClassRadioButton( pClassButton );
540 	pRoot->Insert( pClassRadioButton );
541 
542 	/********** I m a g e R a d i o B u t t o n **************************/
543 	nId = pHS->getID( "ImageRadioButton" );
544 	pClassImageRadioButton = InitClassImageRadioButton( pClassRadioButton,
545 														pClassImage );
546 	pRoot->Insert( pClassImageRadioButton );
547 
548 	/********** T R I S T A T E B O X ************************************/
549 	pClassTriStateBox = InitClassTriStateBox( pClassControl, pTriState );
550 	pRoot->Insert( pClassTriStateBox );
551 
552 	/********** I M A G E B U T T O N ************************************/
553 	pClassImageButton = InitClassImageButton( pClassPushButton,
554 											  pClassImage, pTriState );
555 	pRoot->Insert( pClassImageButton );
556 
557 	/********** E D I T **************************************************/
558 	pClassEdit = InitClassEdit( pClassControl );
559 	pRoot->Insert( pClassEdit );
560 
561 	/********** M U L T I L I N E E D I T ********************************/
562 	pClassMultiLineEdit = InitClassMultiLineEdit( pClassEdit );
563 	pRoot->Insert( pClassMultiLineEdit );
564 
565 	/********** S C R O L L B A R ****************************************/
566 	pClassScrollBar = InitClassScrollBar( pClassControl );
567 	pRoot->Insert( pClassScrollBar );
568 
569 }
570 {
571 	/********** L I S T B O X ********************************************/
572 	pClassListBox = InitClassListBox( pClassControl, pLangStringLongTupelList );
573 	pRoot->Insert( pClassListBox );
574 
575 	/********** M U L T I L I S T B O X **********************************/
576 	pClassMultiListBox = InitClassMultiListBox( pClassListBox);
577 	pRoot->Insert( pClassMultiListBox );
578 
579 	/********** C O M B O B O X ******************************************/
580 	pClassComboBox = InitClassComboBox( pClassEdit, pLangStringList );
581 	pRoot->Insert( pClassComboBox );
582 
583 	/********** F I X E D T E X T ****************************************/
584 	pClassFixedText = InitClassFixedText( pClassControl );
585 	pRoot->Insert( pClassFixedText );
586 
587 	/********** F i x e d B i t m a p ************************************/
588 	pClassFixedBitmap = InitClassFixedBitmap( pClassControl, pClassBitmap );
589 	pRoot->Insert( pClassFixedBitmap );
590 
591 	/********** F i x e d I m a g e **************************************/
592 	pClassFixedImage = InitClassFixedImage( pClassControl, pClassImage );
593 	pRoot->Insert( pClassFixedImage );
594 
595 	/********** G R O U P B O X ******************************************/
596 	// Klasse anlegen
597 	nId = pHS->getID( "GroupBox" );
598 	pClassGroupBox = new RscClass( nId, RSC_GROUPBOX, pClassControl );
599 	pClassGroupBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
600 	aNmTb.Put( nId, CLASSNAME, pClassGroupBox );
601 	pRoot->Insert( pClassGroupBox );
602 
603 	/********** K E Y C O D E ********************************************/
604 	pClassKeyCode = InitClassKeyCode( pClassMgr, pKey );
605 	pRoot->Insert( pClassKeyCode );
606 	{
607 	pLangClassKeyCode = new RscClassArray( pHS->getID( "LangKeyCode" ),
608 					RSC_KEYCODE, pClassKeyCode, &aLangType );
609 	aBaseLst.Insert( pLangClassKeyCode );
610 	}
611 
612 	/********** A C C E L I T E M  ***************************************/
613 	pClassAccelItem = InitClassAccelItem( pClassMgr, pLangClassKeyCode );
614 	pRoot->Insert( pClassAccelItem );
615 }
616 {
617 	/********** A C C E L E R A T O R ************************************/
618 	pClassAccel = InitClassAccel( pClassMgr, pClassAccelItem );
619 	pRoot->Insert( pClassAccel );
620     nAcceleratorType = pClassAccel->GetId();
621 
622 	/********** A C C E L I T E M  ***************************************/
623 	// pClassAccel ist erst hier definiert
624 	nId = aNmTb.Put( "SubAccelerator", VARNAME );
625 	pClassAccelItem->SetVariable( nId, pClassAccel, NULL, VAR_SVDYNAMIC,
626 							   ACCELITEM_ACCEL );
627 
628 	/********** M E N U I T E M ******************************************/
629 	pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap,
630 										pLangClassKeyCode );
631 	pRoot->Insert( pClassMenuItem );
632 
633 	/********** M E N U **************************************************/
634 	pClassMenu = InitClassMenu( pClassMgr, pClassMenuItem );
635 	pRoot->Insert( pClassMenu );
636 
637 	/********** M E N U I T E M ******************************************/
638 	// pClassMenu ist erst hier definiert
639 	nId = aNmTb.Put( "SubMenu", VARNAME );
640 	pClassMenuItem->SetVariable( nId, pClassMenu, NULL, VAR_SVDYNAMIC,
641 								 RSC_MENUITEM_MENU );
642 
643 	/********** M E N U B U T T O N **************************************/
644 	pClassMenuButton = InitClassMenuButton( pClassControl, pClassMenu );
645 	pRoot->Insert( pClassMenuButton );
646 
647 	/********** M E S S A G E B O X **************************************/
648 	pClassMessBox = InitClassMessBox( pClassMgr, pMessButtons,
649 										 pMessDefButton );
650 	pRoot->Insert( pClassMessBox );
651 
652 	/********** I N F O B O X ********************************************/
653 	// Klasse anlegen
654 	nId = pHS->getID( "InfoBox" );
655 	pClassInfoBox = new RscClass( nId, RSC_INFOBOX, pClassMessBox );
656 	pClassInfoBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
657 	aNmTb.Put( nId, CLASSNAME, pClassInfoBox );
658 	pRoot->Insert( pClassInfoBox );
659 
660 	/********** W A R N I N G B O X **************************************/
661 	// Klasse anlegen
662 	nId = pHS->getID( "WarningBox" );
663 	pClassWarningBox = new RscClass( nId, RSC_WARNINGBOX, pClassMessBox );
664 	pClassWarningBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
665 	aNmTb.Put( nId, CLASSNAME, pClassWarningBox );
666 	pRoot->Insert( pClassWarningBox );
667 
668 	/********** E R R O R B O X ******************************************/
669 	// Klasse anlegen
670 	nId = pHS->getID( "ErrorBox" );
671 	pClassErrorBox = new RscClass( nId, RSC_ERRORBOX, pClassMessBox );
672 	pClassErrorBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
673 	aNmTb.Put( nId, CLASSNAME, pClassErrorBox );
674 	pRoot->Insert( pClassErrorBox );
675 
676 	/********** Q U E R Y B O X ******************************************/
677 	// Klasse anlegen
678 	nId = pHS->getID( "QueryBox" );
679 	pClassQueryBox = new RscClass( nId, RSC_QUERYBOX, pClassMessBox );
680 	pClassQueryBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
681 	aNmTb.Put( nId, CLASSNAME, pClassQueryBox );
682 	pRoot->Insert( pClassQueryBox );
683 }
684 {
685 	/********** S P L I T T E R ******************************************/
686 	pClassSplitter = InitClassSplitter( pClassWindow );
687 	pRoot->Insert( pClassSplitter );
688 
689 	/********** S P L I T W I N D O W ************************************/
690 	pClassSplitWindow = InitClassSplitWindow( pClassWindow );
691 	pRoot->Insert( pClassSplitWindow );
692 
693 	/********** S P I N B U T T O N **************************************/
694 	// Klasse anlegen
695 	nId = pHS->getID( "SpinButton" );
696 	pClassSpinButton = new RscClass( nId, RSC_SPINBUTTON, pClassControl );
697 	pClassSpinButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
698 	aNmTb.Put( nId, CLASSNAME, pClassSpinButton );
699 	{
700 		RscClient * pClient;
701 
702 		// Clientvariablen einfuegen
703 		// Sysmodal
704 		aBaseLst.Insert(
705 			pClient = new RscClient( pHS->getID( "sal_Bool" ), RSC_NOTYPE,
706 									 &aWinBits, nRepeatId ),
707 			LIST_APPEND );
708 		nId = aNmTb.Put( "Repeat", VARNAME );
709 		pClassSpinButton->SetVariable( nId, pClient, NULL,
710 									  VAR_NODATAINST, 0, nWinBitVarId );
711 	}
712 	pRoot->Insert( pClassSpinButton );
713 }
714 {
715 	/********** T I M E **************************************************/
716 	pClassTime = InitClassTime( pClassMgr );
717 	pRoot->Insert( pClassTime );
718 
719 	/********** D A T E **************************************************/
720 	pClassDate = InitClassDate( pClassMgr );
721 	pRoot->Insert( pClassDate );
722 }
723 {
724 	/********** S P I N F I E L D ****************************************/
725 	pClassSpinField = InitClassSpinField( pClassEdit );
726 	pRoot->Insert( pClassSpinField );
727 }
728 {
729 	/********** P A T T E R N F I E L D **********************************/
730 	{ // Mehrfachvererbung von Hand
731 	RscTop * pClassTmp = InitClassPatternFormatter( pClassSpinField );
732 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
733 
734 	pClassPatternField = InitClassPatternField( pClassTmp );
735 	pRoot->Insert( pClassPatternField );
736 	}
737 	/********** N U M E R I C F I E L D **********************************/
738 	{ // Mehrfachvererbung von Hand
739 	RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
740 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
741 
742 	pClassNumericField = InitClassNumericField( pClassTmp );
743 	pRoot->Insert( pClassNumericField );
744 	}
745 	/********** M E T R I C F I E L D ************************************/
746 	{ // Mehrfachvererbung von Hand
747 	RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
748 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
749 	pClassTmp = InitClassMetricFormatter( pClassTmp, pFieldUnits );
750 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
751 
752 	pClassMetricField = InitClassMetricField( pClassTmp );
753 	pRoot->Insert( pClassMetricField );
754 	}
755 	/********** C U R R E N C Y F I E L D ********************************/
756 	{ // Mehrfachvererbung von Hand
757 	RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
758 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
759 	pClassTmp = InitClassCurrencyFormatter( pClassTmp, pFieldUnits );
760 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
761 
762 	pClassCurrencyField = InitClassCurrencyField( "CurrencyField", RSC_CURRENCYFIELD, pClassTmp );
763 	pRoot->Insert( pClassCurrencyField );
764 
765 	pClassLongCurrencyField = InitClassCurrencyField( "LongCurrencyField", RSC_LONGCURRENCYFIELD, pClassTmp );
766 	pRoot->Insert( pClassLongCurrencyField );
767 
768 	}
769 	/********** D A T E F I E L D ****************************************/
770 	{ // Mehrfachvererbung von Hand
771 	RscTop * pClassTmp = InitClassDateFormatter( pClassSpinField, pClassDate );
772 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
773 
774 	pClassDateField = InitClassDateField( pClassTmp, pClassDate );
775 	pRoot->Insert( pClassDateField );
776 	}
777 	/********** T I M E F I E L D ****************************************/
778 	{ // Mehrfachvererbung von Hand
779 	RscTop * pClassTmp = InitClassTimeFormatter( pClassSpinField, pClassTime,
780 												 pTimeFieldFormat );
781 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
782 
783 	pClassTimeField = InitClassTimeField( pClassTmp, pClassTime );
784 	pRoot->Insert( pClassTimeField );
785 	}
786 	/********** P A T T E R N B O X **************************************/
787 	{ // Mehrfachvererbung von Hand
788 	RscTop * pClassTmp = InitClassPatternFormatter( pClassComboBox );
789 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
790 
791 	pClassPatternBox = InitClassPatternBox( pClassTmp );
792 	pRoot->Insert( pClassPatternBox );
793 	}
794 	/********** N U M E R I C B O X **************************************/
795 	{ // Mehrfachvererbung von Hand
796 	RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
797 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
798 
799 	pClassNumericBox = InitClassNumericBox( pClassTmp );
800 	pRoot->Insert( pClassNumericBox );
801 	}
802 }
803 {
804 	/********** M E T R I C B O X ****************************************/
805 	{ // Mehrfachvererbung von Hand
806 	RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
807 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
808 	pClassTmp = InitClassMetricFormatter( pClassTmp, pFieldUnits );
809 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
810 
811 	pClassMetricBox = InitClassMetricBox( pClassTmp );
812 	pRoot->Insert( pClassMetricBox );
813 	}
814 	/********** C U R R E N C Y B O X ************************************/
815 	{ // Mehrfachvererbung von Hand
816 	RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
817 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
818 	pClassTmp = InitClassCurrencyFormatter( pClassTmp, pFieldUnits );
819 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
820 
821 	pClassCurrencyBox = InitClassCurrencyBox( "CurrencyBox", RSC_CURRENCYBOX, pClassTmp );
822 	pRoot->Insert( pClassCurrencyBox );
823 
824 	pClassLongCurrencyBox = InitClassCurrencyBox( "LongCurrencyBox", RSC_LONGCURRENCYBOX, pClassTmp );
825 	pRoot->Insert( pClassLongCurrencyBox );
826 	}
827 	/********** D A T E B O X ********************************************/
828 	{ // Mehrfachvererbung von Hand
829 	RscTop * pClassTmp = InitClassDateFormatter( pClassComboBox, pClassDate );
830 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
831 
832 	pClassDateBox = InitClassDateBox( pClassTmp, pClassDate );
833 	pRoot->Insert( pClassDateBox );
834 	}
835 	/********** T I M E B O X ********************************************/
836 	{ // Mehrfachvererbung von Hand
837 	RscTop * pClassTmp = InitClassTimeFormatter( pClassComboBox, pClassTime,
838 												 pTimeFieldFormat );
839 	aBaseLst.Insert( pClassTmp, LIST_APPEND );
840 
841 	pClassTimeBox = InitClassTimeBox( pClassTmp, pClassTime );
842 	pRoot->Insert( pClassTimeBox );
843 	}
844 	/********** D O C K I N G W I N D O W ********************************/
845 	pClassDockingWindow = InitClassDockingWindow( pClassWindow, pMapUnit );
846 	pRoot->Insert( pClassDockingWindow );
847 
848 	/********** T O O L B O X I T E M ************************************/
849 	pClassToolBoxItem = InitClassToolBoxItem( pClassMgr, pClassBitmap,
850 											  pClassImage, pTriState );
851 	pRoot->Insert( pClassToolBoxItem );
852 
853 	/********** T O O L B O X ********************************************/
854 	pClassToolBox = InitClassToolBox( pClassDockingWindow, pClassToolBoxItem,
855 									  pClassImageList );
856 	pRoot->Insert( pClassToolBox );
857 
858 	/********** S T A T U S B A R ****************************************/
859 	pClassStatusBar = InitClassStatusBar( pClassWindow );
860 	pRoot->Insert( pClassStatusBar );
861 
862 	/********** M O R E B U T T O N **************************************/
863 	pClassMoreButton = InitClassMoreButton( pClassPushButton, pMapUnit );
864 	pRoot->Insert( pClassMoreButton );
865 
866 	/********** F L O A T W I N D O W ************************************/
867 	pClassFloatingWindow = InitClassFloatingWindow( pClassSystemWindow,
868 													pMapUnit );
869 	pRoot->Insert( pClassFloatingWindow );
870 
871 	/********** T A B P A G E ********************************************/
872 	// Klasse anlegen
873 	nId = pHS->getID( "TabPage" );
874 	pClassTabPage =
875 		  new RscClass( nId, RSC_TABPAGE, pClassWindow );
876 	pClassTabPage->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
877 	aNmTb.Put( nId, CLASSNAME, pClassTabPage );
878 	pRoot->Insert( pClassTabPage );
879 
880 	/********** T A B D I A L O G ****************************************/
881 	// Klasse anlegen
882 	nId = pHS->getID( "TabDialog" );
883 	pClassTabDialog =
884 		  new RscClass( nId, RSC_TABDIALOG, pClassModalDialog );
885 	pClassTabDialog->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
886 	aNmTb.Put( nId, CLASSNAME, pClassTabDialog );
887 	pRoot->Insert( pClassTabDialog );
888 
889 	/********** T A B C O N T R O L I T E M *******************************/
890 	pClassTabControlItem = InitClassTabControlItem( pClassMgr,
891 													pClassTabPage );
892 	pRoot->Insert( pClassTabControlItem );
893 
894 	/********** T A B C O N T R O L **************************************/
895 	pClassTabControl = InitClassTabControl( pClassControl,
896 											pClassTabControlItem );
897 	pRoot->Insert( pClassTabControl );
898 
899 	/********** F I X E D L I N E ****************************************/
900 	// Klasse anlegen
901 	nId = pHS->getID( "FixedLine" );
902 	pClassFixedLine =
903 		  new RscClass( nId, RSC_FIXEDLINE, pClassControl );
904 	pClassFixedLine->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
905 
906 	INS_WINBIT(pClassFixedLine,Vert)
907 
908 	aNmTb.Put( nId, CLASSNAME, pClassFixedLine );
909 	pRoot->Insert( pClassFixedLine );
910 
911 	/********** S C R O L L B A R B O X **********************************/
912 	// Klasse anlegen
913 	nId = pHS->getID( "ScrollBarBox" );
914 	pClassScrollBarBox =
915 		  new RscClass( nId, RSC_SCROLLBARBOX, pClassWindow );
916 	pClassScrollBarBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
917 	aNmTb.Put( nId, CLASSNAME, pClassScrollBarBox );
918 	pRoot->Insert( pClassScrollBarBox );
919 	INS_WINBIT(pClassScrollBarBox,Sizeable)
920 
921 	/********** S F X S T Y L E F A M I L Y I T E M **********************/
922 	pClassSfxStyleFamilyItem = InitClassSfxStyleFamilyItem( pClassMgr,
923 												   pClassBitmap,
924 												   pClassImage,
925 												   pLangStringLongTupelList );
926 	pRoot->Insert( pClassSfxStyleFamilyItem );
927 
928 	/********** S F X T E M P L A T E D I A L O G ************************/
929 	pClassSfxTemplateDialog = InitClassSfxTemplateDialog( pClassMgr,
930 												  pClassSfxStyleFamilyItem );
931 	pRoot->Insert( pClassSfxTemplateDialog );
932 
933 	/********** S F X I N F O I T E M ************************************/
934 	pClassSfxSlotInfo = InitClassSfxSlotInfo( pClassMgr );
935 	pRoot->Insert( pClassSfxSlotInfo );
936 }
937 	NameToVerCtrl( aVersion, pRoot, pClassString );
938 
939 	aNmTb.SetSort();
940 }
941 
942