xref: /trunk/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