summaryrefslogtreecommitdiff
path: root/automation/source/inc/rcontrol.hxx
blob: db5dc3f8e03cff448dcdb6edc8a3886b48abf120 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

/*************************************************************************
 *
 *	  ATTENTION
 *	  This file is intended to work inside and outside the StarOffice environment.
 *	  Only adaption of file commtypes.hxx should be necessary. Else it is a bug!
 *
 ************************************************************************/

#ifndef _RCONTROL_HXX
#define _RCONTROL_HXX


#define UID_ACTIVE			0


#define SI_IPCCommandBlock	1
#define SI_SocketCommandBlock	SI_IPCCommandBlock	// Zumindest erstmal
#define SI_DirectCommandBlock	2
#define SIControl			3
#define SISlot				4
#define SIFlow				5
#define SICommand			6
#define SIUnoSlot			7
#define SIStringControl		8

#define SIReturnBlock		11
#define SIReturn			12
#define SIReturnError		13

// Typisierung im Stream
#define BinUSHORT			11
#define BinULONG			14
#define BinString			12
#define BinBool				13
#define BinSbxValue			15


// Classes
// !!!Diese Defines duerfen niemals geaendert werden!!!
#define C_NoType			-1
// Maximale 32 einfache Controls
#define C_TabControl        0
#define C_RadioButton       1
#define C_CheckBox          2
#define C_TriStateBox       3
#define C_Edit              4
#define C_MultiLineEdit     5
#define C_MultiListBox      6
#define C_ListBox           7
#define C_ComboBox          8
#define C_PushButton        9

#define C_SpinField         10
#define C_PatternField		11
#define C_NumericField		12
#define C_MetricField		13
#define C_CurrencyField		14
#define C_DateField			15
#define C_TimeField			16

#define C_ImageRadioButton	17
#define C_NumericBox		18
#define C_MetricBox			19
#define C_CurrencyBox		20
#define C_DateBox			21
#define C_TimeBox			22

#define C_ImageButton		23
#define C_MenuButton		24
#define C_MoreButton		25

// Maximale 7 Container
#define	C_TabPage			32
#define C_ModalDlg          33
#define	C_FloatWin			34
#define C_ModelessDlg		35
#define	C_WorkWin			36
#define C_DockingWin        37

// Diese Defines koennen geaendert werden
#define C_MessBox			40
#define C_InfoBox			41
#define C_WarningBox		42
#define C_ErrorBox			43
#define C_QueryBox			44

#define	C_TabDlg			45
#define	C_SingleTabDlg		46

#define C_Window			47


#define C_PatternBox		60
#define C_ToolBox			61
#define C_ValueSet			62
#define C_Control			63
#define C_TreeListBox       64  // Hurray the TreeListBox finally got its own Window Type

#define C_OkButton			65
#define C_CancelButton		66
#define C_ButtonDialog		67

#define C_Dialog			68




#define M_WITH_RETURN		0x0200	// Die Variable wird zum Aufnehmen des Wertes gespeichert
#define M_KEY_STRING		0x0400	// Key Befehle werden umgewandelt i.e. "<return><up>"
#define M_SOFFICE           0x0800  // Command valid for Star/Open Office
#define M_MOZILLA           0x1000  // Command valid for Mozilla
// for MacroRecorder
#define M_RET_NUM_CONTROL   0x2000  // decode ULong as Control (For Tabpages, Toolboxes, ... )

// Methoden
#define M_Select            21
#define M_SetNoSelection    22
#define M_SetText           23
#define M_More              24
#define M_Less              25
#define M_ToMin             26
#define M_ToMax             27
#define M_Check             28
#define M_UnCheck           29
#define M_TriState          30
#define M_SetPage           31
#define M_Click             32

#define M_Close	            33		// Push Buttons on Dialog (Auch More Button)
#define M_Cancel            34
#define M_OK                35
#define M_Help              36
#define M_Default           37		// Push defaultbutton on Dialog

#define M_Yes				38
#define M_No				39
#define M_Repeat			40

#define M_Open				41
#define M_Pick				42
#define M_Move				43
#define M_Size				44
#define M_Minimize			45
#define M_Maximize			46
#define M_Dock				47
#define M_Undock			48



#define M_TypeKeys			( M_KEY_STRING | 50 )
#define M_MouseDown			51
#define M_MouseUp			52
#define M_MouseMove			53
#define M_MouseDoubleClick	54
#define M_SnapShot			55
#define M_SetNextToolBox	56
#define M_OpenContextMenu	57
#define M_MultiSelect		58

// Filedialog
#define M_SetPath			60
#define M_SetCurFilter 		61

// Printdialog
#define M_SetPrinter		70
#define M_CheckRange		71
#define M_SetRangeText		72
#define M_SetFirstPage		73
#define M_SetLastPage		74
#define M_CheckCollate		75
#define M_SetPageId			76
#define M_SetPageNr			77

#define M_AnimateMouse		78
#define M_TearOff			79

#define M_FadeIn			80
#define M_FadeOut			81
#define M_Pin				82

#define M_UseMenu           83      // Use the menu of the next possible parent of given Window

#define M_OpenMenu          84      // MenuButtons and Menus in ToolBoxes

#define M_Restore           85      // Window Control together with M_Maximize and M_Minimize

#define M_DisplayPercent	200		// Zum Anzeigen der Prozente des Windows

#define M_LAST_NO_RETURN	200

#if ( M_LAST_NO_RETURN >= M_WITH_RETURN )
#error "Bereich überschritten"
#endif

#define M_Exists			( M_WITH_RETURN |  1 )
#define M_NotExists			( M_WITH_RETURN |  2 )
#define M_IsEnabled			( M_WITH_RETURN |  3 )
#define M_IsVisible			( M_WITH_RETURN |  4 )
#define M_IsWritable		( M_WITH_RETURN |  5 )

#define M_GetPage			( M_WITH_RETURN |  6 )
#define M_IsChecked			( M_WITH_RETURN |  7 )
#define M_IsTristate		( M_WITH_RETURN |  8 )
#define M_GetState			( M_WITH_RETURN |  9 )
#define M_GetText			( M_WITH_RETURN | 10 )
#define M_GetSelCount		( M_WITH_RETURN | 11 )
#define M_GetSelIndex		( M_WITH_RETURN | 12 )
#define M_GetSelText		( M_WITH_RETURN | 13 )
#define M_GetItemCount		( M_WITH_RETURN | 14 )
#define M_GetItemText		( M_WITH_RETURN | 15 )
#define M_IsOpen			( M_WITH_RETURN | 16 )
#define M_Caption			( M_WITH_RETURN | 17 )
#define M_IsMax				( M_WITH_RETURN | 18 )
#define M_IsDocked			( M_WITH_RETURN | 19 )
#define M_GetRT				( M_WITH_RETURN | 20 )
#define M_GetPageId			( M_WITH_RETURN | 21 )
#define M_GetPageCount		( M_WITH_RETURN | 22 )
#define M_GetPosX			( M_WITH_RETURN | 23 )
#define M_GetPosY			( M_WITH_RETURN | 24 )
#define M_GetSizeX			( M_WITH_RETURN | 25 )
#define M_GetSizeY			( M_WITH_RETURN | 26 )
#define M_GetNextToolBox	( M_WITH_RETURN | 27 )
#define M_GetButtonCount	( M_WITH_RETURN | 28 )
#define M_GetButtonId		( M_WITH_RETURN | 29 )

#define M_IsFadeIn			( M_WITH_RETURN | 30 )
#define M_IsPin				( M_WITH_RETURN | 31 )

// Statusbar
#define M_StatusGetText		( M_WITH_RETURN | 32 )
#define M_StatusIsProgress	( M_WITH_RETURN | 33 )
#define M_StatusGetItemCount ( M_WITH_RETURN | 34 )
#define M_StatusGetItemId	( M_WITH_RETURN | 35 )

//
#define M_GetMouseStyle		( M_WITH_RETURN | 36 )

// support for Messagebox with checkbox
#define M_GetCheckBoxText	( M_WITH_RETURN | 37 )

// Scrollbars
#define M_HasScrollBar		( M_WITH_RETURN | 38 )
#define M_IsScrollBarEnabled ( M_WITH_RETURN | 39 )

// Dieser befehl wird nur intern im Controller (sts library) verwendet. Sie tauchen nicht im Testtool auf!
#define _M_IsEnabled		( M_WITH_RETURN | 50 )


#define M_GetFixedTextCount	( M_WITH_RETURN | 51 )
#define M_GetFixedText		( M_WITH_RETURN | 52 )


#define M_IsMin				( M_WITH_RETURN | 53 )
#define M_IsRestore         ( M_WITH_RETURN | 54 )

#define M_GetItemType       ( M_WITH_RETURN | 55 )

// Commands for (Edit)BrowseBox
#define M_GetColumnCount    ( M_WITH_RETURN | 56 )
#define M_GetRowCount       ( M_WITH_RETURN | 57 )
#define M_IsEditing         ( M_WITH_RETURN | 58 )

#define M_IsItemEnabled     ( M_WITH_RETURN | 59 )

//#define M_SOFFICE           0x0800  // Command valid for Star/Open Office
//#define M_MOZILLA           0x1000  // Command valid for Mozilla


// RemoteCommands
#define RC_AppAbort			( M_SOFFICE | M_MOZILLA | 1 )
#define RC_SetClipboard		( M_SOFFICE | M_MOZILLA | 2 )
#define RC_NoDebug			( M_SOFFICE | M_MOZILLA | 3 )
#define RC_Debug			( M_SOFFICE | M_MOZILLA | 4 )
#define RC_GPF				( M_SOFFICE | M_MOZILLA | 5 )
#define RC_DisplayHid		( M_SOFFICE | M_MOZILLA | 6 )
#define RC_AppDelay			( M_SOFFICE | M_MOZILLA | 7 )
#define RC_UseBindings		( M_SOFFICE             | 8 )
#define RC_Profile			( M_SOFFICE | M_MOZILLA | 9 )
// (Popup)Menu
#define RC_MenuSelect		( M_SOFFICE | M_MOZILLA | 10 )
#define RC_SetControlType	( M_SOFFICE             | 11 )
// RemoteFileAccess
#define RC_Kill				( M_SOFFICE             | 12 )
#define RC_RmDir			( M_SOFFICE             | 13 )
#define RC_MkDir			( M_SOFFICE             | 14 )
#define RC_FileCopy			( M_SOFFICE             | 15 )
#define RC_Name				( M_SOFFICE             | 16 )

#define RC_CaptureAssertions (M_SOFFICE | M_MOZILLA | 17 )
#define RC_Assert			( M_SOFFICE | M_MOZILLA | 18 )

#define RC_MenuOpen			( M_SOFFICE | M_MOZILLA | 19 )

#define RC_TypeKeysDelay	( M_SOFFICE | M_MOZILLA | 20 )

#define RC_ShowBar       	(             M_MOZILLA | 21 )

#define RC_LoadURL          (             M_MOZILLA | 22 )

#define RC_CloseSysDialog	( M_SOFFICE             | 23 )

#define RC_SAXRelease		( M_SOFFICE             | 24 )

#define RC_RecordMacro      ( M_SOFFICE             | 25 )

#define RC_ActivateDocument ( M_SOFFICE             | 26 )

#define RC_CatchGPF         ( M_SOFFICE             | 27 )

#define _RC_LAST_NO_RETURN	                          27

#if ( _RC_LAST_NO_RETURN >= M_WITH_RETURN )
#error "Bereich überschritten"
#endif

// Befehle mit Returnwert
#define RC_GetClipboard		( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 1 )
#define RC_WinTree			( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 2 )
#define RC_ResetApplication	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 3 )
#define RC_GetNextCloseWindow ( M_SOFFICE             | M_WITH_RETURN | 4 )
#define RC_ApplicationBusy	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 5 )
// (Popup)Menu
#define RC_MenuGetItemCount	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 6 )
#define RC_MenuGetItemId	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 7 )
#define RC_MenuGetItemPos	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 8 )
#define RC_MenuIsSeperator	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 9 )
#define RC_MenuIsItemChecked ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 10 )
#define RC_MenuIsItemEnabled ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 11 )
#define RC_MenuGetItemText	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 12 )
// RemoteFileAccess
#define RC_Dir				( M_SOFFICE             | M_WITH_RETURN | 18 )
#define RC_FileLen			( M_SOFFICE             | M_WITH_RETURN | 19 )
#define RC_FileDateTime		( M_SOFFICE             | M_WITH_RETURN | 20 )

#define RC_Translate		( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 21 )
#define RC_GetMouseStyle	( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 22 )
#define RC_UnpackStorage	( M_SOFFICE             | M_WITH_RETURN | 23 )

#define RC_IsBarVisible 	(             M_MOZILLA | M_WITH_RETURN | 24 )

#define RC_MenuGetItemCommand ( M_SOFFICE | M_MOZILLA | M_WITH_RETURN | 25 )

#define RC_ExistsSysDialog  ( M_SOFFICE             | M_WITH_RETURN | 26 )

#define RC_SAXCheckWellformed ( M_SOFFICE             | M_WITH_RETURN | 27 )
#define RC_SAXReadFile		( M_SOFFICE             | M_WITH_RETURN | 28 )

#define RC_SAXGetNodeType   ( M_SOFFICE             | M_WITH_RETURN | 29 )
#define RC_SAXGetElementName ( M_SOFFICE             | M_WITH_RETURN | 30 )
#define RC_SAXGetChars      ( M_SOFFICE             | M_WITH_RETURN | 31 )
#define RC_SAXGetChildCount ( M_SOFFICE             | M_WITH_RETURN | 32 )
#define RC_SAXGetAttributeCount ( M_SOFFICE             | M_WITH_RETURN | 33 )
#define RC_SAXGetAttributeName ( M_SOFFICE             | M_WITH_RETURN | 34 )
#define RC_SAXGetAttributeValue ( M_SOFFICE             | M_WITH_RETURN | 35 )
#define RC_SAXSeekElement   ( M_SOFFICE             | M_WITH_RETURN | 36 )
#define RC_SAXHasElement    ( M_SOFFICE             | M_WITH_RETURN | 37 )
#define RC_SAXGetElementPath ( M_SOFFICE             | M_WITH_RETURN | 38 )

#define RC_GetDocumentCount ( M_SOFFICE             | M_WITH_RETURN | 39 )

#define RC_GetSystemLanguage ( M_SOFFICE             | M_WITH_RETURN | 40 )

#define RC_IsProduct        ( M_SOFFICE             | M_WITH_RETURN | 41 )

#define RC_MenuHasSubMenu   ( M_SOFFICE             | M_WITH_RETURN | 42 )

#define RC_UsePostEvents    ( M_SOFFICE             | M_WITH_RETURN | 43 )

#define RC_WaitSlot         ( M_SOFFICE             | M_WITH_RETURN | 44 )

// Flow Control
#define F_EndCommandBlock	101			// Initiiert Rückmeldung des Status
#define F_Sequence			102			// Übergibt Sequence Nummer (1. in jedem Stream)

// Return codes
#define RET_Sequence		132			// Übergibt Sequence Nummer (1. in jedem Stream)
#define RET_Value			133			// Übergibt Return-wert
#define RET_WinInfo			134			// Information über aktuelles Fenster/Control
#define RET_ProfileInfo		135			// Profile Information
#define RET_DirectLoging	136			// Direktes Übertragen von Informationen in das Log
#define RET_MacroRecorder	137			// MakroRecorder Befehl übertragen



// Subcodes die in nUId geliefert werden
// für F_ProfileInfo
#define S_ProfileReset		201			// nNr1 = Anzahl Borders
    // Achtung!! Diese Defines müssen aufeinanderfolgende Nummern haben!!
#define S_ProfileBorder1	202			// nNr1 = Border1 in ms
#define S_ProfileBorder2	203			// nNr1 = Border2 in ms
#define S_ProfileBorder3	204			// nNr1 = Border3 in ms
#define S_ProfileBorder4	205			// nNr1 = Border4 in ms
    // Achtung Ende
#define S_ProfileTime		210			// nNr1 = remote Zeit des Befehls
#define S_ProfileDump		211			// Gibt die daten aus.

// für F_DirectLoging
#define S_AssertError		220
#define S_AssertWarning		221
#define S_AssertTrace		222
#define S_QAError			223



// Konstanten die im Basic zur Verfügung stehen sollen

// Verschiedene Typen von Controls für den Befehl SetControlType
// !!!!!!!!!!!  Müssen alle bei SetControlType eingetragen werden  !!!!!!!!!!!!
#define CONST_CTBrowseBox		100
#define CONST_CTValueSet		103
#define CONST_CTORoadmap        104
#define CONST_CTIExtensionListBox 105
#define CONST_CTUnknown			199

// Konstanten für das ALignment des gesuchten Splitters
#define CONST_ALIGN_LEFT		120
#define CONST_ALIGN_TOP			121
#define CONST_ALIGN_RIGHT		122
#define CONST_ALIGN_BOTTOM		123

/// What dialog to use in RC_CloseSysDialog or RC_ExistsSysDialog
#define CONST_FilePicker        301
#define CONST_FolderPicker      302

/// NodeTypes of the SAX Parser
#define CONST_NodeTypeCharacter 555
#define CONST_NodeTypeElement   556
#define CONST_NodeTypeComment   557

/// ItemTypes for TreeListBox and maybe others
#define CONST_ItemTypeText          602
#define CONST_ItemTypeBMP           601
#define CONST_ItemTypeCheckbox      600
#define CONST_ItemTypeContextBMP    603
#define CONST_ItemTypeUnknown       604

/// Return values for WaitSlot
#define CONST_WSTimeout             701
#define CONST_WSAborted             702
#define CONST_WSFinished            703

// Beschreibt die Parametertypen als Bitfeld  Reihenfolge immer!
// wie hier Aufgelistet
#define PARAM_NONE              0x0000
#define PARAM_USHORT_1          0x0001
#define PARAM_USHORT_2          0x0002
#define PARAM_USHORT_3          0x0100		// Nicht in der Reihe!!
#define PARAM_USHORT_4          0x0200		// Nicht in der Reihe!!
#define PARAM_ULONG_1           0x0004
#define PARAM_ULONG_2           0x0008
#define PARAM_STR_1             0x0010
#define PARAM_STR_2             0x0020
#define PARAM_BOOL_1            0x0040
#define PARAM_BOOL_2            0x0080
#define PARAM_SBXVALUE_1		0x0400		// hier mit 0x0400 Weiter!!! Siehe Oben!

// Zusätzliche Beschreibung!! wird auch mit dem Rest verodert
//#define PARAM_STR_RAW           0x8000		// Der Zeichensatz der Strings wird nicht konvertiert(für Fareastern)


#define ERR_SEND_TIMEOUT		100
#define ERR_EXEC_TIMEOUT		101
#define ERR_RESTART_FAIL		102
#define ERR_RESTART				103
#define ERR_NO_WIN				104		// Keine *.Win Dateien gefunden
#define ERR_NO_SID				105		// Keine *.Sid Dateien gefunden
#define ERR_NO_FILE				106		// Datei nicht gefunden

#endif