merge the formfield patch from ooo-build
[ooovba.git] / rsc / source / parser / rscinit.cxx
blob508e186d1132d51cfbef891c6f8923dfa30dc868
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: rscinit.cxx,v $
10 * $Revision: 1.18 $
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.
36 #include <stdlib.h>
37 #include <stdio.h>
39 #include <tools/rc.h>
41 #include <vclrsc.hxx>
43 // Programmabhaengige Includes.
44 #include <rsctree.hxx>
45 #include <rsctop.hxx>
46 #include <rscrange.hxx>
47 #include <rscconst.hxx>
48 #include <rscflag.hxx>
49 #include <rscstr.hxx>
50 #include <rsccont.hxx>
51 #include <rscmgr.hxx>
52 #include <rscclass.hxx>
53 #include <rsckey.hxx>
54 #include <rscdb.hxx>
56 #include "rsclex.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 )
67 if( pClass )
69 NameToVerCtrl( aVersion, (RscTop *)pClass->Left(), pClassString );
71 RSCINST aVI;
72 RSCINST aStr;
74 // Namen in Versionskontrolle einsetzen
75 aVersion.pClass->
76 GetElement( aVersion, RscId( pClass->GetTypId() ),
77 pClassString, RSCINST(), &aVI );
78 aStr = aVI.pClass->GetVariable( aVI, pHS->getID( "TEXT" ),
79 RSCINST() );
80 aStr.pClass->SetString( aStr, pHS->getString( pClass->GetId() ).getStr() );
82 NameToVerCtrl( aVersion, (RscTop *)pClass->Right(), pClassString );
86 /*************************************************************************
88 |* RscTypCont::Init()
90 |* Beschreibung
91 |* Ersterstellung MM 22.03.91
92 |* Letzte Aenderung MM 27.06.91
94 *************************************************************************/
95 void RscTypCont::Init()
97 RscEnum * pFieldUnits;
98 RscEnum * pTimeFieldFormat;
99 RscEnum * pColor;
100 RscEnum * pMapUnit;
101 RscEnum * pKey;
102 RscEnum * pTriState;
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;
116 RscTop * pClassMgr;
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;
140 RscTop * pClassEdit;
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;
155 RscTop * pClassMenu;
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;
165 RscTop * pClassTime;
166 RscTop * pClassDate;
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;
198 Atom nId;
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 );
267 // Windows
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 **************************/
383 InitLangType();
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 ),
395 LIST_APPEND );
396 aBaseLst.Insert( pStringList = InitStringList(), LIST_APPEND );
397 aBaseLst.Insert( pLangStringList = InitLangStringList( pStringList ),
398 LIST_APPEND );
399 aBaseLst.Insert( pStringTupel = InitStringTupel(), LIST_APPEND );
400 aBaseLst.Insert( pStringTupelList = InitStringTupelList( pStringTupel ),
401 LIST_APPEND );
402 aBaseLst.Insert( pLangStringTupelList =
403 InitLangStringTupelList( pStringTupelList ), LIST_APPEND );
404 aBaseLst.Insert( pStringLongTupel = InitStringLongTupel(), LIST_APPEND );
405 aBaseLst.Insert( pStringLongTupelList = InitStringLongTupelList( pStringLongTupel ),
406 LIST_APPEND );
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 **************************************/
428 // Klasse anlegen
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 );
435 // Variablen anlegen
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,
460 pLangGeometry );
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 **********************************************/
475 // Klasse anlegen
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 ***********************************/
482 // Klasse anlegen
483 pClassModalDialog = InitClassModalDialog( pClassDialog );
484 pRoot->Insert( pClassModalDialog );
486 /********** M O D E L E S S D I A L O G ******************************/
487 // Klasse anlegen
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 **********************************************/
497 // Klasse anlegen
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 **************************************/
509 // Klasse anlegen
510 pClassPushButton = InitClassPushButton( pClassButton );
511 pRoot->Insert( pClassPushButton );
513 /********** H E L P B U T T O N **************************************/
514 // Klasse anlegen
515 nId = pHS->getID( "HelpButton" );
516 pClassHelpButton = new RscClass( nId, RSC_HELPBUTTON,
517 pClassPushButton );
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 ******************************************/
523 // Klasse anlegen
524 nId = pHS->getID( "OKButton" );
525 pClassOKButton = new RscClass( nId, RSC_OKBUTTON,
526 pClassPushButton );
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 **********************************/
532 // Klasse anlegen
533 nId = pHS->getID( "CancelButton" );
534 pClassCancelButton = new RscClass( nId, RSC_CANCELBUTTON,
535 pClassPushButton );
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,
548 pClassImage );
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 ******************************************/
599 // Klasse anlegen
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,
629 ACCELITEM_ACCEL );
631 /********** M E N U I T E M ******************************************/
632 pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap,
633 pLangClassKeyCode );
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,
644 RSC_MENUITEM_MENU );
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,
652 pMessDefButton );
653 pRoot->Insert( pClassMessBox );
655 /********** I N F O B O X ********************************************/
656 // Klasse anlegen
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 **************************************/
664 // Klasse anlegen
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 ******************************************/
672 // Klasse anlegen
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 ******************************************/
680 // Klasse anlegen
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 **************************************/
697 // Klasse anlegen
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 );
703 RscClient * pClient;
705 // Clientvariablen einfuegen
706 // Sysmodal
707 aBaseLst.Insert(
708 pClient = new RscClient( pHS->getID( "BOOL" ), RSC_NOTYPE,
709 &aWinBits, nRepeatId ),
710 LIST_APPEND );
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,
783 pTimeFieldFormat );
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,
841 pTimeFieldFormat );
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,
858 pClassImageList );
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,
871 pMapUnit );
872 pRoot->Insert( pClassFloatingWindow );
874 /********** T A B P A G E ********************************************/
875 // Klasse anlegen
876 nId = pHS->getID( "TabPage" );
877 pClassTabPage =
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 ****************************************/
884 // Klasse anlegen
885 nId = pHS->getID( "TabDialog" );
886 pClassTabDialog =
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,
894 pClassTabPage );
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 ****************************************/
903 // Klasse anlegen
904 nId = pHS->getID( "FixedLine" );
905 pClassFixedLine =
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 **********************************/
915 // Klasse anlegen
916 nId = pHS->getID( "ScrollBarBox" );
917 pClassScrollBarBox =
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,
926 pClassBitmap,
927 pClassImage,
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 );
942 aNmTb.SetSort();