1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_rsc.hxx"
26
27 /****************** I N C L U D E S **************************************/
28 // C and C++ Includes.
29 #include <stdlib.h>
30 #include <stdio.h>
31
32 #include <tools/rc.h>
33
34 #include <vclrsc.hxx>
35
36 // Programmabhaengige Includes.
37 #include <rsctree.hxx>
38 #include <rsctop.hxx>
39 #include <rscrange.hxx>
40 #include <rscconst.hxx>
41 #include <rscflag.hxx>
42 #include <rscstr.hxx>
43 #include <rsccont.hxx>
44 #include <rscmgr.hxx>
45 #include <rscclass.hxx>
46 #include <rsckey.hxx>
47 #include <rscdb.hxx>
48
49 #include "rsclex.hxx"
50 #include <yyrscyacc.hxx>
51
52 /****************** M a c r o s ******************************************/
53 #define INS_WINBIT( pClass, WinBit ) \
54 InsWinBit( pClass, #WinBit, n##WinBit##Id );
55
56 /****************** C O D E **********************************************/
NameToVerCtrl(RSCINST & aVersion,RscTop * pClass,RscTop * pClassString)57 void NameToVerCtrl( RSCINST & aVersion, RscTop * pClass,
58 RscTop * pClassString )
59 {
60 if( pClass )
61 {
62 NameToVerCtrl( aVersion, (RscTop *)pClass->Left(), pClassString );
63 {
64 RSCINST aVI;
65 RSCINST aStr;
66
67 // Namen in Versionskontrolle einsetzen
68 aVersion.pClass->
69 GetElement( aVersion, RscId( pClass->GetTypId() ),
70 pClassString, RSCINST(), &aVI );
71 aStr = aVI.pClass->GetVariable( aVI, pHS->getID( "TEXT" ),
72 RSCINST() );
73 aStr.pClass->SetString( aStr, pHS->getString( pClass->GetId() ).getStr() );
74 }
75 NameToVerCtrl( aVersion, (RscTop *)pClass->Right(), pClassString );
76 }
77 }
78
79 /*************************************************************************
80 |*
81 |* RscTypCont::Init()
82 |*
83 |* Beschreibung
84 |* Ersterstellung MM 22.03.91
85 |* Letzte Aenderung MM 27.06.91
86 |*
87 *************************************************************************/
Init()88 void RscTypCont::Init()
89 {
90 RscEnum * pFieldUnits;
91 RscEnum * pTimeFieldFormat;
92 RscEnum * pColor;
93 RscEnum * pMapUnit;
94 RscEnum * pKey;
95 RscEnum * pTriState;
96 RscEnum * pMessButtons;
97 RscEnum * pMessDefButton;
98 RscTupel * pGeometry;
99 RscArray * pLangGeometry;
100 RscCont * pStringList;
101 RscArray * pLangStringList;
102 RscTupel * pStringTupel;
103 RscTupel * pStringLongTupel;
104 RscCont * pStringTupelList;
105 RscCont * pStringLongTupelList;
106 RscArray * pLangStringTupelList;
107 RscArray * pLangStringLongTupelList;
108
109 RscTop * pClassMgr;
110 RscTop * pClassString;
111 RscTop * pClassStringArray;
112 RscTop * pClassBitmap;
113 RscTop * pClassColor;
114 RscTop * pClassImage;
115 RscTop * pClassImageList;
116 RscTop * pClassWindow;
117 RscTop * pClassSystemWindow;
118 RscTop * pClassWorkWindow;
119 RscTop * pClassDialog;
120 RscTop * pClassModalDialog;
121 RscTop * pClassModelessDialog;
122 RscTop * pClassControl;
123 RscTop * pClassButton;
124 RscTop * pClassCheckBox;
125 RscTop * pClassPushButton;
126 RscTop * pClassOKButton;
127 RscTop * pClassCancelButton;
128 RscTop * pClassHelpButton;
129 RscTop * pClassRadioButton;
130 RscTop * pClassImageRadioButton;
131 RscTop * pClassImageButton;
132 RscTop * pClassTriStateBox;
133 RscTop * pClassEdit;
134 RscTop * pClassMultiLineEdit;
135 RscTop * pClassScrollBar;
136 RscTop * pClassListBox;
137 RscTop * pClassMultiListBox;
138 RscTop * pClassComboBox;
139 RscTop * pClassFixedText;
140 RscTop * pClassFixedBitmap;
141 RscTop * pClassFixedImage;
142 RscTop * pClassGroupBox;
143 RscTop * pClassKeyCode;
144 RscTop * pLangClassKeyCode;
145 RscTop * pClassAccelItem;
146 RscTop * pClassAccel;
147 RscTop * pClassMenuItem;
148 RscTop * pClassMenu;
149 RscTop * pClassMenuButton;
150 RscTop * pClassMessBox;
151 RscTop * pClassInfoBox;
152 RscTop * pClassWarningBox;
153 RscTop * pClassErrorBox;
154 RscTop * pClassQueryBox;
155 RscTop * pClassSplitter;
156 RscTop * pClassSplitWindow;
157 RscTop * pClassSpinButton;
158 RscTop * pClassTime;
159 RscTop * pClassDate;
160 RscTop * pClassSpinField;
161 RscTop * pClassPatternField;
162 RscTop * pClassNumericField;
163 RscTop * pClassMetricField;
164 RscTop * pClassCurrencyField;
165 RscTop * pClassLongCurrencyField;
166 RscTop * pClassDateField;
167 RscTop * pClassTimeField;
168 RscTop * pClassPatternBox;
169 RscTop * pClassNumericBox;
170 RscTop * pClassMetricBox;
171 RscTop * pClassCurrencyBox;
172 RscTop * pClassLongCurrencyBox;
173 RscTop * pClassDateBox;
174 RscTop * pClassTimeBox;
175 RscTop * pClassDockingWindow;
176 RscTop * pClassToolBoxItem;
177 RscTop * pClassToolBox;
178 RscTop * pClassStatusBar;
179 RscTop * pClassMoreButton;
180 RscTop * pClassFloatingWindow;
181 RscTop * pClassTabPage;
182 RscTop * pClassTabDialog;
183 RscTop * pClassTabControlItem;
184 RscTop * pClassTabControl;
185 RscTop * pClassFixedLine;
186 RscTop * pClassScrollBarBox;
187 RscTop * pClassSfxStyleFamilyItem;
188 RscTop * pClassSfxTemplateDialog;
189 RscTop * pClassSfxSlotInfo;
190
191 Atom nId;
192
193 aNmTb.SetSort( sal_False );
194 {
195 /********** C O M P I L E R T Y P E N ******************************/
196 aNmTb.Put( "LINE", LINE, (long)0 );
197 aNmTb.Put( "NOT", NOT, (long)0 );
198 aNmTb.Put( "DEFINE", DEFINE, (long)0 );
199 aNmTb.Put( "INCLUDE", INCLUDE, (long)0 );
200 aNmTb.Put( "DEFAULT", DEFAULT, (long)0 );
201 aNmTb.Put( "class", CLASS, (long)0 );
202 aNmTb.Put( "extendable", EXTENDABLE, (long)0 );
203 aNmTb.Put( "writeifset", WRITEIFSET, (long)0 );
204
205 /* Werte fuer Aufzaehlungstypen */
206 aNmTb.Put( "TRUE", BOOLEAN, (long)sal_True );
207 aNmTb.Put( "FALSE", BOOLEAN, (long)sal_False );
208
209 #if 0
210 /* Vordefinierte HilfeId's */
211 aNmTb.Put( "HELP_INDEX", NUMBER, OOO_HELP_INDEX );
212 aNmTb.Put( "HELP_HELPONHELP", NUMBER, OOO_HELP_HELPONHELP );
213 #endif
214
215 aNmTb.Put( "XSCALE", XSCALE , (long)0 );
216 aNmTb.Put( "YSCALE", YSCALE , (long)0 );
217 aNmTb.Put( "RGB", RGB , (long)0 );
218 aNmTb.Put( "POSSIZE", GEOMETRY, (long)0 );
219 aNmTb.Put( "POS", POSITION, (long)0 );
220 aNmTb.Put( "SIZE", DIMENSION, (long)0 );
221 aNmTb.Put( "ZoomInOutputSize", INZOOMOUTPUTSIZE,(long)0 );
222 aNmTb.Put( "FloatingPos", FLOATINGPOS, (long)0 );
223 }
224 /********** B A S I S T Y P E N ************************************/
225 {
226 /********** S H O R T ************************************************/
227 aShort.SetRange( -32768, 32767 );
228
229 /********** U S H O R T **********************************************/
230 aUShort.SetRange( 0, 0xFFFF );
231
232 /********** L O N G **************************************************/
233 aLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
234 aEnumLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
235
236 /********** I D U S H O R T ******************************************/
237 aIdUShort.SetRange( 0, 0xFFFF );
238
239 /********** I D N O Z E R O U S H O R T ******************************/
240 aIdNoZeroUShort.SetRange( 1, 0xFFFF );
241
242 /********** N O Z E R O S H O R T ************************************/
243 aNoZeroShort.SetRange( -32768, 32767 );
244 aNoZeroShort.SetOutRange( 0 );
245
246 /********** R A N G E S H O R T **************************************/
247 a1to12Short.SetRange( 1, 12 );
248 a0to23Short.SetRange( 0, 23 );
249 a1to31Short.SetRange( 1, 31 );
250 a0to59Short.SetRange( 0, 59 );
251 a0to99Short.SetRange( 0, 99 );
252 a0to9999Short.SetRange( 0, 9999 );
253
254 /********** I D R A N G E ********************************************/
255 aIdLong.SetRange( SAL_MIN_INT32, SAL_MAX_INT32 );
256 }
257 {
258 /********** W I N B I T S F L A G ************************************/
259 // Variablenname fuer WinBits
260 nWinBitVarId = aNmTb.Put( "_WinBits", VARNAME );
261
262 // Windows
263 nBorderId = pHS->getID( "WB_BORDER" );
264 aWinBits.SetConstant( nBorderId, sal::static_int_cast<sal_Int32>(WB_BORDER) );
265 nHideId = pHS->getID( "WB_HIDE" );
266 aWinBits.SetConstant( nHideId, sal::static_int_cast<sal_Int32>(WB_HIDE) );
267 nClipChildrenId = pHS->getID( "WB_CLIPCHILDREN" );
268 aWinBits.SetConstant( nClipChildrenId, sal::static_int_cast<sal_Int32>(WB_CLIPCHILDREN) );
269 nSizeableId = pHS->getID( "WB_SIZEABLE" );
270 aWinBits.SetConstant( nSizeableId, sal::static_int_cast<sal_Int32>(WB_SIZEABLE) );
271 nMoveableId = pHS->getID( "WB_MOVEABLE" );
272 aWinBits.SetConstant( nMoveableId, sal::static_int_cast<sal_Int32>(WB_MOVEABLE) );
273 nMinimizeId = pHS->getID( "WB_MINABLE" );
274 aWinBits.SetConstant( nMinimizeId, 0 /*WB_MINABLE*/ );
275 nMaximizeId = pHS->getID( "WB_MAXABLE" );
276 aWinBits.SetConstant( nMaximizeId, 0 /*WB_MAXABLE*/ );
277 nCloseableId = pHS->getID( "WB_CLOSEABLE" );
278 aWinBits.SetConstant( nCloseableId, sal::static_int_cast<sal_Int32>(WB_CLOSEABLE) );
279 nAppId = pHS->getID( "WB_APP" );
280 aWinBits.SetConstant( nAppId, sal::static_int_cast<sal_Int32>(WB_APP) );
281 nTabstopId = pHS->getID( "WB_TABSTOP" );
282 aWinBits.SetConstant( nTabstopId, sal::static_int_cast<sal_Int32>(WB_TABSTOP) );
283 nGroupId = pHS->getID( "WB_GROUP" );
284 aWinBits.SetConstant( nGroupId, sal::static_int_cast<sal_Int32>(WB_GROUP) );
285 nSysmodalId = pHS->getID( "WB_SYSMODAL" );
286 aWinBits.SetConstant( nSysmodalId, 0 /*WB_SYSMODAL*/ );
287 }
288 {
289 nLeftId = pHS->getID( "WB_LEFT" );
290 aWinBits.SetConstant( nLeftId, sal::static_int_cast<sal_Int32>(WB_LEFT) );
291 nCenterId = pHS->getID( "WB_CENTER" );
292 aWinBits.SetConstant( nCenterId, sal::static_int_cast<sal_Int32>(WB_CENTER) );
293 nRightId = pHS->getID( "WB_RIGHT" );
294 aWinBits.SetConstant( nRightId, sal::static_int_cast<sal_Int32>(WB_RIGHT) );
295 nTopId = pHS->getID( "WB_TOP" );
296 aWinBits.SetConstant( nTopId, sal::static_int_cast<sal_Int32>(WB_TOP) );
297 nVCenterId = pHS->getID( "WB_VCENTER" );
298 aWinBits.SetConstant( nVCenterId, sal::static_int_cast<sal_Int32>(WB_VCENTER) );
299 nBottomId = pHS->getID( "WB_BOTTOM" );
300 aWinBits.SetConstant( nBottomId, sal::static_int_cast<sal_Int32>(WB_BOTTOM) );
301 nHScrollId = pHS->getID( "WB_HSCROLL" );
302 aWinBits.SetConstant( nHScrollId, sal::static_int_cast<sal_Int32>(WB_HSCROLL) );
303 nVScrollId = pHS->getID( "WB_VSCROLL" );
304 aWinBits.SetConstant( nVScrollId, sal::static_int_cast<sal_Int32>(WB_VSCROLL) );
305 nSortId = pHS->getID( "WB_SORT" );
306 aWinBits.SetConstant( nSortId, sal::static_int_cast<sal_Int32>(WB_SORT) );
307 nDefaultId = pHS->getID( "WB_DEFBUTTON" );
308 aWinBits.SetConstant( nDefaultId, sal::static_int_cast<sal_Int32>(WB_DEFBUTTON) );
309 nRepeatId = pHS->getID( "WB_REPEAT" );
310 aWinBits.SetConstant( nRepeatId, sal::static_int_cast<sal_Int32>(WB_REPEAT) );
311 nSVLookId = pHS->getID( "WB_SVLOOK" );
312 aWinBits.SetConstant( nSVLookId, sal::static_int_cast<sal_Int32>(WB_3DLOOK) );
313 nDropDownId = pHS->getID( "WB_DROPDOWN" );
314 aWinBits.SetConstant( nDropDownId, sal::static_int_cast<sal_Int32>(WB_DROPDOWN) );
315 nPassWordId = pHS->getID( "WB_PASSWORD" );
316 aWinBits.SetConstant( nPassWordId, sal::static_int_cast<sal_Int32>(WB_PASSWORD) );
317 nReadOnlyId = pHS->getID( "WB_READONLY" );
318 aWinBits.SetConstant( nReadOnlyId, sal::static_int_cast<sal_Int32>(WB_READONLY) );
319 nAutoSizeId = pHS->getID( "WB_AUTOSIZE" );
320 aWinBits.SetConstant( nAutoSizeId, sal::static_int_cast<sal_Int32>(WB_AUTOSIZE) );
321 nSpinId = pHS->getID( "WB_SPIN" );
322 aWinBits.SetConstant( nSpinId, sal::static_int_cast<sal_Int32>(WB_SPIN) );
323 nTabControlId = pHS->getID( "WB_DIALOGCONTROL" );
324 aWinBits.SetConstant( nTabControlId, sal::static_int_cast<sal_Int32>(WB_DIALOGCONTROL) );
325 nSimpleModeId = pHS->getID( "WB_SIMPLEMODE" );
326 aWinBits.SetConstant( nSimpleModeId, sal::static_int_cast<sal_Int32>(WB_SIMPLEMODE) );
327 nDragId = pHS->getID( "WB_DRAG" );
328 aWinBits.SetConstant( nDragId, sal::static_int_cast<sal_Int32>(WB_DRAG) );
329 nScrollId = pHS->getID( "WB_SCROLL" );
330 aWinBits.SetConstant( nScrollId, sal::static_int_cast<sal_Int32>(WB_SCROLL) );
331 nZoomableId = pHS->getID( "WB_ZOOMABLE" );
332 aWinBits.SetConstant( nZoomableId, sal::static_int_cast<sal_Int32>(WB_ROLLABLE) );
333 nHideWhenDeactivateId = pHS->getID( "WB_HIDEWHENDEACTIVATE" );
334 aWinBits.SetConstant( nHideWhenDeactivateId, 0 /*WB_HIDEWHENDEACTIVATE*/ );
335 nAutoHScrollId = pHS->getID( "WB_AUTOHSCROLL" );
336 aWinBits.SetConstant( nAutoHScrollId, sal::static_int_cast<sal_Int32>(WB_AUTOHSCROLL) );
337 nAutoVScrollId = pHS->getID( "WB_AUTOVSCROLL" );
338 aWinBits.SetConstant( nAutoVScrollId, sal::static_int_cast<sal_Int32>(WB_AUTOVSCROLL) );
339 nDDExtraWidthId = pHS->getID( "WB_DDEXTRAWIDTH" );
340 aWinBits.SetConstant( nDDExtraWidthId, 0 /*WB_DDEXTRAWIDTH*/ );
341 nWordBreakId = pHS->getID( "WB_WORDBREAK" );
342 aWinBits.SetConstant( nWordBreakId, sal::static_int_cast<sal_Int32>(WB_WORDBREAK) );
343 nLeftLabelId = pHS->getID( "WB_LEFTLABEL" );
344 aWinBits.SetConstant( nLeftLabelId, 0 /*WB_LEFTLABEL*/ );
345 nHasLinesId = pHS->getID( "WB_HASLINES" );
346 aWinBits.SetConstant( nHasLinesId, sal::static_int_cast<sal_Int32>(WB_HASLINES) );
347 nHasButtonsId = pHS->getID( "WB_HASBUTTONS" );
348 aWinBits.SetConstant( nHasButtonsId, sal::static_int_cast<sal_Int32>(WB_HASBUTTONS) );
349 nRectStyleId = pHS->getID( "WB_RECTSTYLE" );
350 aWinBits.SetConstant( nRectStyleId, sal::static_int_cast<sal_Int32>(WB_RECTSTYLE) );
351 nLineSpacingId = pHS->getID( "WB_LINESPACING" );
352 aWinBits.SetConstant( nLineSpacingId, sal::static_int_cast<sal_Int32>(WB_LINESPACING) );
353 nSmallStyleId = pHS->getID( "WB_SMALLSTYLE" );
354 aWinBits.SetConstant( nSmallStyleId, sal::static_int_cast<sal_Int32>(WB_SMALLSTYLE) );
355 nEnableResizingId = pHS->getID( "WB_ENABLERESIZING" );
356 aWinBits.SetConstant( nEnableResizingId, 0 /*WB_ENABLERESIZING*/ );
357 nDockableId = pHS->getID( "WB_DOCKABLE" );
358 aWinBits.SetConstant( nDockableId, sal::static_int_cast<sal_Int32>(WB_DOCKABLE) );
359 nScaleId = pHS->getID( "WB_SCALE" );
360 aWinBits.SetConstant( nScaleId, sal::static_int_cast<sal_Int32>(WB_SCALE) );
361 nIgnoreTabId = pHS->getID( "WB_IGNORETAB" );
362 aWinBits.SetConstant( nIgnoreTabId, sal::static_int_cast<sal_Int32>(WB_IGNORETAB) );
363 nNoSplitDrawId = pHS->getID( "WB_NOSPLITDRAW" );
364 aWinBits.SetConstant( nNoSplitDrawId, sal::static_int_cast<sal_Int32>(WB_NOSPLITDRAW) );
365 nTopImageId = pHS->getID( "WB_TOPIMAGE" );
366 aWinBits.SetConstant( nTopImageId, sal::static_int_cast<sal_Int32>(WB_TOPIMAGE) );
367 nNoLabelId = pHS->getID( "WB_NOLABEL" );
368 aWinBits.SetConstant( nNoLabelId, sal::static_int_cast<sal_Int32>(WB_NOLABEL) );
369 nVertId = pHS->getID( "WB_VERT" );
370 aWinBits.SetConstant( nVertId, sal::static_int_cast<sal_Int32>(WB_VERT) );
371 nSysWinId = pHS->getID( "WB_SYSTEMWINDOW" );
372 aWinBits.SetConstant( nSysWinId, sal::static_int_cast<sal_Int32>(WB_SYSTEMWINDOW) );
373 }
374 {
375 /********** I n i t B a s i c T y p e s **************************/
376 InitLangType();
377 aBaseLst.Insert( pFieldUnits = InitFieldUnitsType(), LIST_APPEND );
378 aBaseLst.Insert( pTimeFieldFormat = InitTimeFieldFormat(), LIST_APPEND );
379 aBaseLst.Insert( pColor = InitColor(), LIST_APPEND );
380 aBaseLst.Insert( pMapUnit = InitMapUnit(), LIST_APPEND );
381 aBaseLst.Insert( pKey = InitKey(), LIST_APPEND );
382 aBaseLst.Insert( pTriState = InitTriState(), LIST_APPEND );
383 aBaseLst.Insert( pMessButtons = InitMessButtons(), LIST_APPEND );
384 aBaseLst.Insert( pMessDefButton = InitMessDefButton(), LIST_APPEND );
385
386 aBaseLst.Insert( pGeometry = InitGeometry(), LIST_APPEND );
387 aBaseLst.Insert( pLangGeometry = InitLangGeometry( pGeometry ),
388 LIST_APPEND );
389 aBaseLst.Insert( pStringList = InitStringList(), LIST_APPEND );
390 aBaseLst.Insert( pLangStringList = InitLangStringList( pStringList ),
391 LIST_APPEND );
392 aBaseLst.Insert( pStringTupel = InitStringTupel(), LIST_APPEND );
393 aBaseLst.Insert( pStringTupelList = InitStringTupelList( pStringTupel ),
394 LIST_APPEND );
395 aBaseLst.Insert( pLangStringTupelList =
396 InitLangStringTupelList( pStringTupelList ), LIST_APPEND );
397 aBaseLst.Insert( pStringLongTupel = InitStringLongTupel(), LIST_APPEND );
398 aBaseLst.Insert( pStringLongTupelList = InitStringLongTupelList( pStringLongTupel ),
399 LIST_APPEND );
400 aBaseLst.Insert( pLangStringLongTupelList =
401 InitLangStringLongTupelList( pStringLongTupelList ), LIST_APPEND );
402 }
403 {
404 /********** R E S O U R C E T Y P E N ******************************/
405 /********** R S C M G R **********************************************/
406 pRoot = pClassMgr = InitClassMgr();
407
408 /********** V e r s i o n s k o n t r o l l e ************************/
409 aVersion.pClass = new RscClass( pHS->getID( "VersionControl" ),
410 RSC_VERSIONCONTROL, pClassMgr );
411 aVersion = aVersion.pClass->Create( NULL, RSCINST() );
412
413 /********** S T R I N G **********************************************/
414 pClassString = InitClassString( pClassMgr );
415 pRoot->Insert( pClassString );
416
417 // String als Referenzklasse des Basisstrings einsetzen
418 aString.SetRefClass( pClassString );
419
420 /********** S T R I N G L I S T **************************************/
421 // Klasse anlegen
422 nId = pHS->getID( "StringArray" );
423 pClassStringArray = new RscClass( nId, RSC_STRINGARRAY, pClassMgr );
424 pClassStringArray->SetCallPar( *pStdPar1, *pStdPar2, *pStdParType );
425 aNmTb.Put( nId, CLASSNAME, pClassStringArray );
426 pRoot->Insert( pClassStringArray );
427
428 // Variablen anlegen
429 nId = aNmTb.Put( "ItemList", VARNAME );
430 pClassStringArray->SetVariable( nId, pLangStringLongTupelList );
431
432 /********** B I T M A P **********************************************/
433 pClassBitmap = InitClassBitmap( pClassMgr );
434 pRoot->Insert( pClassBitmap );
435
436 }
437 {
438 /********** C O L O R ************************************************/
439 pClassColor = InitClassColor( pClassMgr, pColor );
440 pRoot->Insert( pClassColor );
441
442 /********** I M A G E ************************************************/
443 pClassImage = InitClassImage( pClassMgr, pClassBitmap, pClassColor );
444 pRoot->Insert( pClassImage );
445
446 /********** I M A G E L I S T ****************************************/
447 pClassImageList = InitClassImageList( pClassMgr, pClassBitmap,
448 pClassColor, pStringLongTupelList );
449 pRoot->Insert( pClassImageList );
450
451 /********** W I N D O W **********************************************/
452 pClassWindow = InitClassWindow( pClassMgr, pMapUnit,
453 pLangGeometry );
454 pRoot->Insert( pClassWindow );
455 }
456 {
457
458 /********** S Y S T E M W I N D O W **********************************/
459 pClassSystemWindow = InitClassSystemWindow( pClassWindow );
460 //aBaseLst.Insert( pClassSystemWindow, LIST_APPEND );
461 pRoot->Insert( pClassSystemWindow );
462
463 /********** W O R K W I N D O W **************************************/
464 pClassWorkWindow = InitClassWorkWindow( pClassSystemWindow );
465 pRoot->Insert( pClassWorkWindow );
466
467 /********** D I A L O G **********************************************/
468 // Klasse anlegen
469 pClassDialog = new RscClass( pHS->getID( "Dialog" ),
470 RSC_DIALOG, pClassSystemWindow );
471 pClassDialog->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
472 aBaseLst.Insert( pClassDialog, LIST_APPEND );
473
474 /********** M O D A L D I A L O G ***********************************/
475 // Klasse anlegen
476 pClassModalDialog = InitClassModalDialog( pClassDialog );
477 pRoot->Insert( pClassModalDialog );
478
479 /********** M O D E L E S S D I A L O G ******************************/
480 // Klasse anlegen
481 pClassModelessDialog = InitClassModelessDialog( pClassDialog );
482 pRoot->Insert( pClassModelessDialog );
483 }
484 {
485 /********** C O N T R O L ********************************************/
486 pClassControl = InitClassControl( pClassWindow );
487 pRoot->Insert( pClassControl );
488
489 /********** B U T T O N **********************************************/
490 // Klasse anlegen
491 nId = pHS->getID( "Button" );
492 pClassButton = new RscClass( nId, RSC_BUTTON, pClassControl );
493 pClassButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
494 aNmTb.Put( nId, CLASSNAME, pClassButton );
495 pRoot->Insert( pClassButton );
496
497 /********** C H E C K B O X ******************************************/
498 pClassCheckBox = InitClassCheckBox( pClassButton );
499 pRoot->Insert( pClassCheckBox );
500
501 /********** P U S H B U T T O N **************************************/
502 // Klasse anlegen
503 pClassPushButton = InitClassPushButton( pClassButton );
504 pRoot->Insert( pClassPushButton );
505
506 /********** H E L P B U T T O N **************************************/
507 // Klasse anlegen
508 nId = pHS->getID( "HelpButton" );
509 pClassHelpButton = new RscClass( nId, RSC_HELPBUTTON,
510 pClassPushButton );
511 pClassHelpButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
512 aNmTb.Put( nId, CLASSNAME, pClassHelpButton );
513 pRoot->Insert( pClassHelpButton );
514
515 /********** O K B U T T O N ******************************************/
516 // Klasse anlegen
517 nId = pHS->getID( "OKButton" );
518 pClassOKButton = new RscClass( nId, RSC_OKBUTTON,
519 pClassPushButton );
520 pClassOKButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
521 aNmTb.Put( nId, CLASSNAME, pClassOKButton );
522 pRoot->Insert( pClassOKButton );
523
524 /********** C A N C E L B U T T O N **********************************/
525 // Klasse anlegen
526 nId = pHS->getID( "CancelButton" );
527 pClassCancelButton = new RscClass( nId, RSC_CANCELBUTTON,
528 pClassPushButton );
529 pClassCancelButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
530 aNmTb.Put( nId, CLASSNAME, pClassCancelButton );
531 pRoot->Insert( pClassCancelButton );
532 }
533 {
534 /********** R A D I O B U T T O N ************************************/
535 pClassRadioButton = InitClassRadioButton( pClassButton );
536 pRoot->Insert( pClassRadioButton );
537
538 /********** I m a g e R a d i o B u t t o n **************************/
539 nId = pHS->getID( "ImageRadioButton" );
540 pClassImageRadioButton = InitClassImageRadioButton( pClassRadioButton,
541 pClassImage );
542 pRoot->Insert( pClassImageRadioButton );
543
544 /********** T R I S T A T E B O X ************************************/
545 pClassTriStateBox = InitClassTriStateBox( pClassControl, pTriState );
546 pRoot->Insert( pClassTriStateBox );
547
548 /********** I M A G E B U T T O N ************************************/
549 pClassImageButton = InitClassImageButton( pClassPushButton,
550 pClassImage, pTriState );
551 pRoot->Insert( pClassImageButton );
552
553 /********** E D I T **************************************************/
554 pClassEdit = InitClassEdit( pClassControl );
555 pRoot->Insert( pClassEdit );
556
557 /********** M U L T I L I N E E D I T ********************************/
558 pClassMultiLineEdit = InitClassMultiLineEdit( pClassEdit );
559 pRoot->Insert( pClassMultiLineEdit );
560
561 /********** S C R O L L B A R ****************************************/
562 pClassScrollBar = InitClassScrollBar( pClassControl );
563 pRoot->Insert( pClassScrollBar );
564
565 }
566 {
567 /********** L I S T B O X ********************************************/
568 pClassListBox = InitClassListBox( pClassControl, pLangStringLongTupelList );
569 pRoot->Insert( pClassListBox );
570
571 /********** M U L T I L I S T B O X **********************************/
572 pClassMultiListBox = InitClassMultiListBox( pClassListBox);
573 pRoot->Insert( pClassMultiListBox );
574
575 /********** C O M B O B O X ******************************************/
576 pClassComboBox = InitClassComboBox( pClassEdit, pLangStringList );
577 pRoot->Insert( pClassComboBox );
578
579 /********** F I X E D T E X T ****************************************/
580 pClassFixedText = InitClassFixedText( pClassControl );
581 pRoot->Insert( pClassFixedText );
582
583 /********** F i x e d B i t m a p ************************************/
584 pClassFixedBitmap = InitClassFixedBitmap( pClassControl, pClassBitmap );
585 pRoot->Insert( pClassFixedBitmap );
586
587 /********** F i x e d I m a g e **************************************/
588 pClassFixedImage = InitClassFixedImage( pClassControl, pClassImage );
589 pRoot->Insert( pClassFixedImage );
590
591 /********** G R O U P B O X ******************************************/
592 // Klasse anlegen
593 nId = pHS->getID( "GroupBox" );
594 pClassGroupBox = new RscClass( nId, RSC_GROUPBOX, pClassControl );
595 pClassGroupBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
596 aNmTb.Put( nId, CLASSNAME, pClassGroupBox );
597 pRoot->Insert( pClassGroupBox );
598
599 /********** K E Y C O D E ********************************************/
600 pClassKeyCode = InitClassKeyCode( pClassMgr, pKey );
601 pRoot->Insert( pClassKeyCode );
602 {
603 pLangClassKeyCode = new RscClassArray( pHS->getID( "LangKeyCode" ),
604 RSC_KEYCODE, pClassKeyCode, &aLangType );
605 aBaseLst.Insert( pLangClassKeyCode );
606 }
607
608 /********** A C C E L I T E M ***************************************/
609 pClassAccelItem = InitClassAccelItem( pClassMgr, pLangClassKeyCode );
610 pRoot->Insert( pClassAccelItem );
611 }
612 {
613 /********** A C C E L E R A T O R ************************************/
614 pClassAccel = InitClassAccel( pClassMgr, pClassAccelItem );
615 pRoot->Insert( pClassAccel );
616 nAcceleratorType = pClassAccel->GetId();
617
618 /********** A C C E L I T E M ***************************************/
619 // pClassAccel ist erst hier definiert
620 nId = aNmTb.Put( "SubAccelerator", VARNAME );
621 pClassAccelItem->SetVariable( nId, pClassAccel, NULL, VAR_SVDYNAMIC,
622 ACCELITEM_ACCEL );
623
624 /********** M E N U I T E M ******************************************/
625 pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap,
626 pLangClassKeyCode );
627 pRoot->Insert( pClassMenuItem );
628
629 /********** M E N U **************************************************/
630 pClassMenu = InitClassMenu( pClassMgr, pClassMenuItem );
631 pRoot->Insert( pClassMenu );
632
633 /********** M E N U I T E M ******************************************/
634 // pClassMenu ist erst hier definiert
635 nId = aNmTb.Put( "SubMenu", VARNAME );
636 pClassMenuItem->SetVariable( nId, pClassMenu, NULL, VAR_SVDYNAMIC,
637 RSC_MENUITEM_MENU );
638
639 /********** M E N U B U T T O N **************************************/
640 pClassMenuButton = InitClassMenuButton( pClassControl, pClassMenu );
641 pRoot->Insert( pClassMenuButton );
642
643 /********** M E S S A G E B O X **************************************/
644 pClassMessBox = InitClassMessBox( pClassMgr, pMessButtons,
645 pMessDefButton );
646 pRoot->Insert( pClassMessBox );
647
648 /********** I N F O B O X ********************************************/
649 // Klasse anlegen
650 nId = pHS->getID( "InfoBox" );
651 pClassInfoBox = new RscClass( nId, RSC_INFOBOX, pClassMessBox );
652 pClassInfoBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
653 aNmTb.Put( nId, CLASSNAME, pClassInfoBox );
654 pRoot->Insert( pClassInfoBox );
655
656 /********** W A R N I N G B O X **************************************/
657 // Klasse anlegen
658 nId = pHS->getID( "WarningBox" );
659 pClassWarningBox = new RscClass( nId, RSC_WARNINGBOX, pClassMessBox );
660 pClassWarningBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
661 aNmTb.Put( nId, CLASSNAME, pClassWarningBox );
662 pRoot->Insert( pClassWarningBox );
663
664 /********** E R R O R B O X ******************************************/
665 // Klasse anlegen
666 nId = pHS->getID( "ErrorBox" );
667 pClassErrorBox = new RscClass( nId, RSC_ERRORBOX, pClassMessBox );
668 pClassErrorBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
669 aNmTb.Put( nId, CLASSNAME, pClassErrorBox );
670 pRoot->Insert( pClassErrorBox );
671
672 /********** Q U E R Y B O X ******************************************/
673 // Klasse anlegen
674 nId = pHS->getID( "QueryBox" );
675 pClassQueryBox = new RscClass( nId, RSC_QUERYBOX, pClassMessBox );
676 pClassQueryBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
677 aNmTb.Put( nId, CLASSNAME, pClassQueryBox );
678 pRoot->Insert( pClassQueryBox );
679 }
680 {
681 /********** S P L I T T E R ******************************************/
682 pClassSplitter = InitClassSplitter( pClassWindow );
683 pRoot->Insert( pClassSplitter );
684
685 /********** S P L I T W I N D O W ************************************/
686 pClassSplitWindow = InitClassSplitWindow( pClassWindow );
687 pRoot->Insert( pClassSplitWindow );
688
689 /********** S P I N B U T T O N **************************************/
690 // Klasse anlegen
691 nId = pHS->getID( "SpinButton" );
692 pClassSpinButton = new RscClass( nId, RSC_SPINBUTTON, pClassControl );
693 pClassSpinButton->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
694 aNmTb.Put( nId, CLASSNAME, pClassSpinButton );
695 {
696 RscClient * pClient;
697
698 // Clientvariablen einfuegen
699 // Sysmodal
700 aBaseLst.Insert(
701 pClient = new RscClient( pHS->getID( "sal_Bool" ), RSC_NOTYPE,
702 &aWinBits, nRepeatId ),
703 LIST_APPEND );
704 nId = aNmTb.Put( "Repeat", VARNAME );
705 pClassSpinButton->SetVariable( nId, pClient, NULL,
706 VAR_NODATAINST, 0, nWinBitVarId );
707 }
708 pRoot->Insert( pClassSpinButton );
709 }
710 {
711 /********** T I M E **************************************************/
712 pClassTime = InitClassTime( pClassMgr );
713 pRoot->Insert( pClassTime );
714
715 /********** D A T E **************************************************/
716 pClassDate = InitClassDate( pClassMgr );
717 pRoot->Insert( pClassDate );
718 }
719 {
720 /********** S P I N F I E L D ****************************************/
721 pClassSpinField = InitClassSpinField( pClassEdit );
722 pRoot->Insert( pClassSpinField );
723 }
724 {
725 /********** P A T T E R N F I E L D **********************************/
726 { // Mehrfachvererbung von Hand
727 RscTop * pClassTmp = InitClassPatternFormatter( pClassSpinField );
728 aBaseLst.Insert( pClassTmp, LIST_APPEND );
729
730 pClassPatternField = InitClassPatternField( pClassTmp );
731 pRoot->Insert( pClassPatternField );
732 }
733 /********** N U M E R I C F I E L D **********************************/
734 { // Mehrfachvererbung von Hand
735 RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
736 aBaseLst.Insert( pClassTmp, LIST_APPEND );
737
738 pClassNumericField = InitClassNumericField( pClassTmp );
739 pRoot->Insert( pClassNumericField );
740 }
741 /********** M E T R I C F I E L D ************************************/
742 { // Mehrfachvererbung von Hand
743 RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
744 aBaseLst.Insert( pClassTmp, LIST_APPEND );
745 pClassTmp = InitClassMetricFormatter( pClassTmp, pFieldUnits );
746 aBaseLst.Insert( pClassTmp, LIST_APPEND );
747
748 pClassMetricField = InitClassMetricField( pClassTmp );
749 pRoot->Insert( pClassMetricField );
750 }
751 /********** C U R R E N C Y F I E L D ********************************/
752 { // Mehrfachvererbung von Hand
753 RscTop * pClassTmp = InitClassNumericFormatter( pClassSpinField );
754 aBaseLst.Insert( pClassTmp, LIST_APPEND );
755 pClassTmp = InitClassCurrencyFormatter( pClassTmp, pFieldUnits );
756 aBaseLst.Insert( pClassTmp, LIST_APPEND );
757
758 pClassCurrencyField = InitClassCurrencyField( "CurrencyField", RSC_CURRENCYFIELD, pClassTmp );
759 pRoot->Insert( pClassCurrencyField );
760
761 pClassLongCurrencyField = InitClassCurrencyField( "LongCurrencyField", RSC_LONGCURRENCYFIELD, pClassTmp );
762 pRoot->Insert( pClassLongCurrencyField );
763
764 }
765 /********** D A T E F I E L D ****************************************/
766 { // Mehrfachvererbung von Hand
767 RscTop * pClassTmp = InitClassDateFormatter( pClassSpinField, pClassDate );
768 aBaseLst.Insert( pClassTmp, LIST_APPEND );
769
770 pClassDateField = InitClassDateField( pClassTmp, pClassDate );
771 pRoot->Insert( pClassDateField );
772 }
773 /********** T I M E F I E L D ****************************************/
774 { // Mehrfachvererbung von Hand
775 RscTop * pClassTmp = InitClassTimeFormatter( pClassSpinField, pClassTime,
776 pTimeFieldFormat );
777 aBaseLst.Insert( pClassTmp, LIST_APPEND );
778
779 pClassTimeField = InitClassTimeField( pClassTmp, pClassTime );
780 pRoot->Insert( pClassTimeField );
781 }
782 /********** P A T T E R N B O X **************************************/
783 { // Mehrfachvererbung von Hand
784 RscTop * pClassTmp = InitClassPatternFormatter( pClassComboBox );
785 aBaseLst.Insert( pClassTmp, LIST_APPEND );
786
787 pClassPatternBox = InitClassPatternBox( pClassTmp );
788 pRoot->Insert( pClassPatternBox );
789 }
790 /********** N U M E R I C B O X **************************************/
791 { // Mehrfachvererbung von Hand
792 RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
793 aBaseLst.Insert( pClassTmp, LIST_APPEND );
794
795 pClassNumericBox = InitClassNumericBox( pClassTmp );
796 pRoot->Insert( pClassNumericBox );
797 }
798 }
799 {
800 /********** M E T R I C B O X ****************************************/
801 { // Mehrfachvererbung von Hand
802 RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
803 aBaseLst.Insert( pClassTmp, LIST_APPEND );
804 pClassTmp = InitClassMetricFormatter( pClassTmp, pFieldUnits );
805 aBaseLst.Insert( pClassTmp, LIST_APPEND );
806
807 pClassMetricBox = InitClassMetricBox( pClassTmp );
808 pRoot->Insert( pClassMetricBox );
809 }
810 /********** C U R R E N C Y B O X ************************************/
811 { // Mehrfachvererbung von Hand
812 RscTop * pClassTmp = InitClassNumericFormatter( pClassComboBox );
813 aBaseLst.Insert( pClassTmp, LIST_APPEND );
814 pClassTmp = InitClassCurrencyFormatter( pClassTmp, pFieldUnits );
815 aBaseLst.Insert( pClassTmp, LIST_APPEND );
816
817 pClassCurrencyBox = InitClassCurrencyBox( "CurrencyBox", RSC_CURRENCYBOX, pClassTmp );
818 pRoot->Insert( pClassCurrencyBox );
819
820 pClassLongCurrencyBox = InitClassCurrencyBox( "LongCurrencyBox", RSC_LONGCURRENCYBOX, pClassTmp );
821 pRoot->Insert( pClassLongCurrencyBox );
822 }
823 /********** D A T E B O X ********************************************/
824 { // Mehrfachvererbung von Hand
825 RscTop * pClassTmp = InitClassDateFormatter( pClassComboBox, pClassDate );
826 aBaseLst.Insert( pClassTmp, LIST_APPEND );
827
828 pClassDateBox = InitClassDateBox( pClassTmp, pClassDate );
829 pRoot->Insert( pClassDateBox );
830 }
831 /********** T I M E B O X ********************************************/
832 { // Mehrfachvererbung von Hand
833 RscTop * pClassTmp = InitClassTimeFormatter( pClassComboBox, pClassTime,
834 pTimeFieldFormat );
835 aBaseLst.Insert( pClassTmp, LIST_APPEND );
836
837 pClassTimeBox = InitClassTimeBox( pClassTmp, pClassTime );
838 pRoot->Insert( pClassTimeBox );
839 }
840 /********** D O C K I N G W I N D O W ********************************/
841 pClassDockingWindow = InitClassDockingWindow( pClassWindow, pMapUnit );
842 pRoot->Insert( pClassDockingWindow );
843
844 /********** T O O L B O X I T E M ************************************/
845 pClassToolBoxItem = InitClassToolBoxItem( pClassMgr, pClassBitmap,
846 pClassImage, pTriState );
847 pRoot->Insert( pClassToolBoxItem );
848
849 /********** T O O L B O X ********************************************/
850 pClassToolBox = InitClassToolBox( pClassDockingWindow, pClassToolBoxItem,
851 pClassImageList );
852 pRoot->Insert( pClassToolBox );
853
854 /********** S T A T U S B A R ****************************************/
855 pClassStatusBar = InitClassStatusBar( pClassWindow );
856 pRoot->Insert( pClassStatusBar );
857
858 /********** M O R E B U T T O N **************************************/
859 pClassMoreButton = InitClassMoreButton( pClassPushButton, pMapUnit );
860 pRoot->Insert( pClassMoreButton );
861
862 /********** F L O A T W I N D O W ************************************/
863 pClassFloatingWindow = InitClassFloatingWindow( pClassSystemWindow,
864 pMapUnit );
865 pRoot->Insert( pClassFloatingWindow );
866
867 /********** T A B P A G E ********************************************/
868 // Klasse anlegen
869 nId = pHS->getID( "TabPage" );
870 pClassTabPage =
871 new RscClass( nId, RSC_TABPAGE, pClassWindow );
872 pClassTabPage->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
873 aNmTb.Put( nId, CLASSNAME, pClassTabPage );
874 pRoot->Insert( pClassTabPage );
875
876 /********** T A B D I A L O G ****************************************/
877 // Klasse anlegen
878 nId = pHS->getID( "TabDialog" );
879 pClassTabDialog =
880 new RscClass( nId, RSC_TABDIALOG, pClassModalDialog );
881 pClassTabDialog->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
882 aNmTb.Put( nId, CLASSNAME, pClassTabDialog );
883 pRoot->Insert( pClassTabDialog );
884
885 /********** T A B C O N T R O L I T E M *******************************/
886 pClassTabControlItem = InitClassTabControlItem( pClassMgr,
887 pClassTabPage );
888 pRoot->Insert( pClassTabControlItem );
889
890 /********** T A B C O N T R O L **************************************/
891 pClassTabControl = InitClassTabControl( pClassControl,
892 pClassTabControlItem );
893 pRoot->Insert( pClassTabControl );
894
895 /********** F I X E D L I N E ****************************************/
896 // Klasse anlegen
897 nId = pHS->getID( "FixedLine" );
898 pClassFixedLine =
899 new RscClass( nId, RSC_FIXEDLINE, pClassControl );
900 pClassFixedLine->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
901
902 INS_WINBIT(pClassFixedLine,Vert)
903
904 aNmTb.Put( nId, CLASSNAME, pClassFixedLine );
905 pRoot->Insert( pClassFixedLine );
906
907 /********** S C R O L L B A R B O X **********************************/
908 // Klasse anlegen
909 nId = pHS->getID( "ScrollBarBox" );
910 pClassScrollBarBox =
911 new RscClass( nId, RSC_SCROLLBARBOX, pClassWindow );
912 pClassScrollBarBox->SetCallPar( *pWinPar1, *pWinPar2, *pWinParType );
913 aNmTb.Put( nId, CLASSNAME, pClassScrollBarBox );
914 pRoot->Insert( pClassScrollBarBox );
915 INS_WINBIT(pClassScrollBarBox,Sizeable)
916
917 /********** S F X S T Y L E F A M I L Y I T E M **********************/
918 pClassSfxStyleFamilyItem = InitClassSfxStyleFamilyItem( pClassMgr,
919 pClassBitmap,
920 pClassImage,
921 pLangStringLongTupelList );
922 pRoot->Insert( pClassSfxStyleFamilyItem );
923
924 /********** S F X T E M P L A T E D I A L O G ************************/
925 pClassSfxTemplateDialog = InitClassSfxTemplateDialog( pClassMgr,
926 pClassSfxStyleFamilyItem );
927 pRoot->Insert( pClassSfxTemplateDialog );
928
929 /********** S F X I N F O I T E M ************************************/
930 pClassSfxSlotInfo = InitClassSfxSlotInfo( pClassMgr );
931 pRoot->Insert( pClassSfxSlotInfo );
932 }
933 NameToVerCtrl( aVersion, pRoot, pClassString );
934
935 aNmTb.SetSort();
936 }
937
938