xref: /AOO41X/main/rsc/source/parser/rscinit.cxx (revision 477794c15c6b4ddeee1d73cab1de4160cfe6efef)
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