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