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