CWS-TOOLING: integrate CWS os146
[LibreOffice.git] / rsc / source / parser / rscinit.cxx
bloba686fbb5a1014c4928d126dcc4cd7709cae6bf47
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_rsc.hxx"
31 /****************** I N C L U D E S **************************************/
32 // C and C++ Includes.
33 #include <stdlib.h>
34 #include <stdio.h>
36 #include <tools/rc.h>
38 #include <vclrsc.hxx>
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>
53 #include "rsclex.hxx"
54 #include <yyrscyacc.hxx>
56 /****************** M a c r o s ******************************************/
57 #define INS_WINBIT( pClass, WinBit ) \
58 InsWinBit( pClass, #WinBit, n##WinBit##Id );
60 /****************** C O D E **********************************************/
61 void NameToVerCtrl( RSCINST & aVersion, RscTop * pClass,
62 RscTop * pClassString )
64 if( pClass )
66 NameToVerCtrl( aVersion, (RscTop *)pClass->Left(), pClassString );
68 RSCINST aVI;
69 RSCINST aStr;
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() );
79 NameToVerCtrl( aVersion, (RscTop *)pClass->Right(), pClassString );
83 /*************************************************************************
85 |* RscTypCont::Init()
87 |* Beschreibung
88 |* Ersterstellung MM 22.03.91
89 |* Letzte Aenderung MM 27.06.91
91 *************************************************************************/
92 void RscTypCont::Init()
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;
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;
195 Atom nId;
197 aNmTb.SetSort( sal_False );
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 );
209 /* Werte fuer Aufzaehlungstypen */
210 aNmTb.Put( "TRUE", BOOLEAN, (long)sal_True );
211 aNmTb.Put( "FALSE", BOOLEAN, (long)sal_False );
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
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 );
228 /********** B A S I S T Y P E N ************************************/
230 /********** S H O R T ************************************************/
231 aShort.SetRange( -32768, 32767 );
233 /********** U S H O R T **********************************************/
234 aUShort.SetRange( 0, 0xFFFF );
236 /********** L O N G **************************************************/
237 aLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
238 aEnumLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
240 /********** I D U S H O R T ******************************************/
241 aIdUShort.SetRange( 0, 0xFFFF );
243 /********** I D N O Z E R O U S H O R T ******************************/
244 aIdNoZeroUShort.SetRange( 1, 0xFFFF );
246 /********** N O Z E R O S H O R T ************************************/
247 aNoZeroShort.SetRange( -32768, 32767 );
248 aNoZeroShort.SetOutRange( 0 );
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 );
258 /********** I D R A N G E ********************************************/
259 aIdLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
262 /********** W I N B I T S F L A G ************************************/
263 // Variablenname fuer WinBits
264 nWinBitVarId = aNmTb.Put( "_WinBits", VARNAME );
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*/ );
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) );
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 );
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 );
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();
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() );
417 /********** S T R I N G **********************************************/
418 pClassString = InitClassString( pClassMgr );
419 pRoot->Insert( pClassString );
421 // String als Referenzklasse des Basisstrings einsetzen
422 aString.SetRefClass( pClassString );
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 );
432 // Variablen anlegen
433 nId = aNmTb.Put( "ItemList", VARNAME );
434 pClassStringArray->SetVariable( nId, pLangStringLongTupelList );
436 /********** B I T M A P **********************************************/
437 pClassBitmap = InitClassBitmap( pClassMgr );
438 pRoot->Insert( pClassBitmap );
442 /********** C O L O R ************************************************/
443 pClassColor = InitClassColor( pClassMgr, pColor );
444 pRoot->Insert( pClassColor );
446 /********** I M A G E ************************************************/
447 pClassImage = InitClassImage( pClassMgr, pClassBitmap, pClassColor );
448 pRoot->Insert( pClassImage );
450 /********** I M A G E L I S T ****************************************/
451 pClassImageList = InitClassImageList( pClassMgr, pClassBitmap,
452 pClassColor, pStringLongTupelList );
453 pRoot->Insert( pClassImageList );
455 /********** W I N D O W **********************************************/
456 pClassWindow = InitClassWindow( pClassMgr, pMapUnit,
457 pLangGeometry );
458 pRoot->Insert( pClassWindow );
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 );
467 /********** W O R K W I N D O W **************************************/
468 pClassWorkWindow = InitClassWorkWindow( pClassSystemWindow );
469 pRoot->Insert( pClassWorkWindow );
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 );
478 /********** M O D A L D I A L O G ***********************************/
479 // Klasse anlegen
480 pClassModalDialog = InitClassModalDialog( pClassDialog );
481 pRoot->Insert( pClassModalDialog );
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 );
489 /********** C O N T R O L ********************************************/
490 pClassControl = InitClassControl( pClassWindow );
491 pRoot->Insert( pClassControl );
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 );
501 /********** C H E C K B O X ******************************************/
502 pClassCheckBox = InitClassCheckBox( pClassButton );
503 pRoot->Insert( pClassCheckBox );
505 /********** P U S H B U T T O N **************************************/
506 // Klasse anlegen
507 pClassPushButton = InitClassPushButton( pClassButton );
508 pRoot->Insert( pClassPushButton );
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 );
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 );
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 );
538 /********** R A D I O B U T T O N ************************************/
539 pClassRadioButton = InitClassRadioButton( pClassButton );
540 pRoot->Insert( pClassRadioButton );
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 );
548 /********** T R I S T A T E B O X ************************************/
549 pClassTriStateBox = InitClassTriStateBox( pClassControl, pTriState );
550 pRoot->Insert( pClassTriStateBox );
552 /********** I M A G E B U T T O N ************************************/
553 pClassImageButton = InitClassImageButton( pClassPushButton,
554 pClassImage, pTriState );
555 pRoot->Insert( pClassImageButton );
557 /********** E D I T **************************************************/
558 pClassEdit = InitClassEdit( pClassControl );
559 pRoot->Insert( pClassEdit );
561 /********** M U L T I L I N E E D I T ********************************/
562 pClassMultiLineEdit = InitClassMultiLineEdit( pClassEdit );
563 pRoot->Insert( pClassMultiLineEdit );
565 /********** S C R O L L B A R ****************************************/
566 pClassScrollBar = InitClassScrollBar( pClassControl );
567 pRoot->Insert( pClassScrollBar );
571 /********** L I S T B O X ********************************************/
572 pClassListBox = InitClassListBox( pClassControl, pLangStringLongTupelList );
573 pRoot->Insert( pClassListBox );
575 /********** M U L T I L I S T B O X **********************************/
576 pClassMultiListBox = InitClassMultiListBox( pClassListBox);
577 pRoot->Insert( pClassMultiListBox );
579 /********** C O M B O B O X ******************************************/
580 pClassComboBox = InitClassComboBox( pClassEdit, pLangStringList );
581 pRoot->Insert( pClassComboBox );
583 /********** F I X E D T E X T ****************************************/
584 pClassFixedText = InitClassFixedText( pClassControl );
585 pRoot->Insert( pClassFixedText );
587 /********** F i x e d B i t m a p ************************************/
588 pClassFixedBitmap = InitClassFixedBitmap( pClassControl, pClassBitmap );
589 pRoot->Insert( pClassFixedBitmap );
591 /********** F i x e d I m a g e **************************************/
592 pClassFixedImage = InitClassFixedImage( pClassControl, pClassImage );
593 pRoot->Insert( pClassFixedImage );
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 );
603 /********** K E Y C O D E ********************************************/
604 pClassKeyCode = InitClassKeyCode( pClassMgr, pKey );
605 pRoot->Insert( pClassKeyCode );
607 pLangClassKeyCode = new RscClassArray( pHS->getID( "LangKeyCode" ),
608 RSC_KEYCODE, pClassKeyCode, &aLangType );
609 aBaseLst.Insert( pLangClassKeyCode );
612 /********** A C C E L I T E M ***************************************/
613 pClassAccelItem = InitClassAccelItem( pClassMgr, pLangClassKeyCode );
614 pRoot->Insert( pClassAccelItem );
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();
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 );
628 /********** M E N U I T E M ******************************************/
629 pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap,
630 pLangClassKeyCode );
631 pRoot->Insert( pClassMenuItem );
633 /********** M E N U **************************************************/
634 pClassMenu = InitClassMenu( pClassMgr, pClassMenuItem );
635 pRoot->Insert( pClassMenu );
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 );
643 /********** M E N U B U T T O N **************************************/
644 pClassMenuButton = InitClassMenuButton( pClassControl, pClassMenu );
645 pRoot->Insert( pClassMenuButton );
647 /********** M E S S A G E B O X **************************************/
648 pClassMessBox = InitClassMessBox( pClassMgr, pMessButtons,
649 pMessDefButton );
650 pRoot->Insert( pClassMessBox );
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 );
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 );
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 );
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 );
685 /********** S P L I T T E R ******************************************/
686 pClassSplitter = InitClassSplitter( pClassWindow );
687 pRoot->Insert( pClassSplitter );
689 /********** S P L I T W I N D O W ************************************/
690 pClassSplitWindow = InitClassSplitWindow( pClassWindow );
691 pRoot->Insert( pClassSplitWindow );
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 );
700 RscClient * pClient;
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 );
712 pRoot->Insert( pClassSpinButton );
715 /********** T I M E **************************************************/
716 pClassTime = InitClassTime( pClassMgr );
717 pRoot->Insert( pClassTime );
719 /********** D A T E **************************************************/
720 pClassDate = InitClassDate( pClassMgr );
721 pRoot->Insert( pClassDate );
724 /********** S P I N F I E L D ****************************************/
725 pClassSpinField = InitClassSpinField( pClassEdit );
726 pRoot->Insert( pClassSpinField );
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 );
734 pClassPatternField = InitClassPatternField( pClassTmp );
735 pRoot->Insert( pClassPatternField );
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 );
742 pClassNumericField = InitClassNumericField( pClassTmp );
743 pRoot->Insert( pClassNumericField );
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 );
752 pClassMetricField = InitClassMetricField( pClassTmp );
753 pRoot->Insert( pClassMetricField );
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 );
762 pClassCurrencyField = InitClassCurrencyField( "CurrencyField", RSC_CURRENCYFIELD, pClassTmp );
763 pRoot->Insert( pClassCurrencyField );
765 pClassLongCurrencyField = InitClassCurrencyField( "LongCurrencyField", RSC_LONGCURRENCYFIELD, pClassTmp );
766 pRoot->Insert( pClassLongCurrencyField );
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 );
774 pClassDateField = InitClassDateField( pClassTmp, pClassDate );
775 pRoot->Insert( pClassDateField );
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 );
783 pClassTimeField = InitClassTimeField( pClassTmp, pClassTime );
784 pRoot->Insert( pClassTimeField );
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 );
791 pClassPatternBox = InitClassPatternBox( pClassTmp );
792 pRoot->Insert( pClassPatternBox );
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 );
799 pClassNumericBox = InitClassNumericBox( pClassTmp );
800 pRoot->Insert( pClassNumericBox );
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 );
811 pClassMetricBox = InitClassMetricBox( pClassTmp );
812 pRoot->Insert( pClassMetricBox );
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 );
821 pClassCurrencyBox = InitClassCurrencyBox( "CurrencyBox", RSC_CURRENCYBOX, pClassTmp );
822 pRoot->Insert( pClassCurrencyBox );
824 pClassLongCurrencyBox = InitClassCurrencyBox( "LongCurrencyBox", RSC_LONGCURRENCYBOX, pClassTmp );
825 pRoot->Insert( pClassLongCurrencyBox );
827 /********** D A T E B O X ********************************************/
828 { // Mehrfachvererbung von Hand
829 RscTop * pClassTmp = InitClassDateFormatter( pClassComboBox, pClassDate );
830 aBaseLst.Insert( pClassTmp, LIST_APPEND );
832 pClassDateBox = InitClassDateBox( pClassTmp, pClassDate );
833 pRoot->Insert( pClassDateBox );
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 );
841 pClassTimeBox = InitClassTimeBox( pClassTmp, pClassTime );
842 pRoot->Insert( pClassTimeBox );
844 /********** D O C K I N G W I N D O W ********************************/
845 pClassDockingWindow = InitClassDockingWindow( pClassWindow, pMapUnit );
846 pRoot->Insert( pClassDockingWindow );
848 /********** T O O L B O X I T E M ************************************/
849 pClassToolBoxItem = InitClassToolBoxItem( pClassMgr, pClassBitmap,
850 pClassImage, pTriState );
851 pRoot->Insert( pClassToolBoxItem );
853 /********** T O O L B O X ********************************************/
854 pClassToolBox = InitClassToolBox( pClassDockingWindow, pClassToolBoxItem,
855 pClassImageList );
856 pRoot->Insert( pClassToolBox );
858 /********** S T A T U S B A R ****************************************/
859 pClassStatusBar = InitClassStatusBar( pClassWindow );
860 pRoot->Insert( pClassStatusBar );
862 /********** M O R E B U T T O N **************************************/
863 pClassMoreButton = InitClassMoreButton( pClassPushButton, pMapUnit );
864 pRoot->Insert( pClassMoreButton );
866 /********** F L O A T W I N D O W ************************************/
867 pClassFloatingWindow = InitClassFloatingWindow( pClassSystemWindow,
868 pMapUnit );
869 pRoot->Insert( pClassFloatingWindow );
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 );
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 );
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 );
894 /********** T A B C O N T R O L **************************************/
895 pClassTabControl = InitClassTabControl( pClassControl,
896 pClassTabControlItem );
897 pRoot->Insert( pClassTabControl );
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 );
906 INS_WINBIT(pClassFixedLine,Vert)
908 aNmTb.Put( nId, CLASSNAME, pClassFixedLine );
909 pRoot->Insert( pClassFixedLine );
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)
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 );
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 );
933 /********** S F X I N F O I T E M ************************************/
934 pClassSfxSlotInfo = InitClassSfxSlotInfo( pClassMgr );
935 pRoot->Insert( pClassSfxSlotInfo );
937 NameToVerCtrl( aVersion, pRoot, pClassString );
939 aNmTb.SetSort();