File: TextField5.scr

package info (click to toggle)
motif 2.3.4-13
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 81,160 kB
  • ctags: 51,769
  • sloc: ansic: 596,938; cpp: 3,951; yacc: 2,854; makefile: 2,070; csh: 1,199; sh: 1,070; lex: 455
file content (293 lines) | stat: -rw-r--r-- 8,146 bytes parent folder | download | duplicates (3)
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
# $XConsortium: TextField5.scr /main/5 1995/07/17 20:43:09 drk $
# 
# Motif
#
# Copyright (c) 1987-2012, The Open Group. All rights reserved.
#
# These libraries and programs are free software; you can
# redistribute them and/or modify them under the terms of the GNU
# Lesser General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# These libraries and programs are distributed in the hope that
# they 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 for more
# details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with these librararies and programs; if not, write
# to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
# Floor, Boston, MA 02110-1301 USA
# 
# 
# HISTORY
# 

#  @) A client with a list of functions, a control panel and a TextField to 
#  be acted upon should appear.
#  #) Drag MB1 in the Action TextField widget to make a small selection.
WindowRaise Shell1
LocatePointer TextF1 RTextChar 5
DragComponent TextF1 RTextChar 9

#  #) Select XmTextFieldGetSelectionPosition() and call the function. 
#  The left and right end positions
#  of the selection will
#  correspond to the values shown in the Status/Input widget.
LocatePointer List1 RListItem 0
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1
CompareVisual StatText

#  #) Select the XmTextFieldGetSelection() function, and click Call Function.
#  The selected string from Action TextField should appear
#  in the status widget.
LocatePointer List1 RListItem 1
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText

#  #) Select the XmTextFieldSetSelection() function.
#  Set Num Arg 1 to a low number and Num Arg 2 to a number larger the Num Arg 1.
LocatePointer List1 RListItem 2
ClickMB Btn1
LocatePointer Scale1 RScaleSlider
DragSliderValue Right 2
LocatePointer Scale2 RScaleSlider
DragSliderValue Right 7

#  Click Call Function.  The characters selected in the Action TextField will 
#  correspond to the range between Num Arg 1 and Num Arg 2.
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  #) Select the XmTextFieldGetSelection() function and call it.  The selection
#  made in previous step should appear in the Status/Input widget.
LocatePointer List1 RListItem 1
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText

#  #) Select the XmTextFieldClearSelection() function and call it.  The
#  selection in the Action widget will be deselected.
LocatePointer List1 RListItem 3
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  C)
Continue
WindowRaise Shell1

#  #) Click the Clear Args PushButton to reset the control panel.
LocatePointer ClearB
ClickMB Btn1

#  #) Select the XmTextFieldInsert() function.  Set the Num Arg 1 Scale to 3.
LocatePointer List1 RListItem 0
ClickMB Btn1
LocatePointer Scale1 RScaleSlider
DragSliderValue Right 3

#  #) Click in the Status/Input widget and type in a new string like "NEW".
LocatePointer StatText
ClickMB Btn1
InputString "NEW"

#  #) Click the Call Function PushButton.  The string in the Status/Input
#  widget should get inserted after the third character in the Action TextField 
#  widget.
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  C)
Continue
WindowRaise Shell1

#  #) Make a selection in the Action TextField widget by dragging MB1.
LocatePointer TextF1 RTextChar 3
DragComponent TextF1 RTextChar 9

#  #) Select the XmTextFieldSetAddMode() function and set the True/False
#  ToggleButton to True.  Click Call Function.
LocatePointer List1 RListItem 0
ClickMB Btn1
LocatePointer ToggleB
ClickMB Btn1
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  #) Traverse to the Action TextField widget using the keyboard by pressing
#  osfTab twice.  The insertion cursor should be stippled.
ClickKey KTab
ClickKey KTab
CompareVisual TextF1

#  #) Use the osfLeft or osfRight arrow keys to move the insertion cursor
#  around.  Note that the selection remains selected.
ClickKey KRight
ClickKey KRight
ClickKey KRight
ClickKey KRight
ClickKey KLeft
ClickKey KLeft
ClickKey KLeft
CompareVisual TextF1

#  #) Click the True/False ToggleButton to change the state to False.
LocatePointer ToggleB
ClickMB Btn1

#  #) Click the Call Function PushButton to set the Action TextField back to
#  normal mode.
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  #) Again, traverse to the Action TextField widget and then move around with
#  the arrow keys.  Assuming the selection was still there when focus 
#  arrived in the Action TextField widget, the arrow keys should have now
#  deselected the selection.
ClickKey KTab
ClickKey KTab
ClickKey KRight
ClickKey KRight
ClickKey KRight
ClickKey KRight
ClickKey KLeft
ClickKey KLeft
ClickKey KLeft
CompareVisual TextF1

#  C)
Continue
WindowRaise Shell1

#  #) Select and call XmTextFieldGetString() function.  The entire string from
#  the Action TextField widget should appear in Status/Input widget.  Note that
#  the string may be wider than the Status widget width.  Use the arrow
#  keys to move to the hidden text.
LocatePointer List1 RListItem 0
ClickMB Btn1
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText
LocatePointer StatText
ClickMB Btn1
ClickKey KEndData
CompareVisual StatText

#  #) Click the Clear Args PushButton to reset the control panel.
LocatePointer ClearB
ClickMB Btn1

#  #) Select the XmTextFieldSetString() function.  
LocatePointer List1 RListItem 1
ClickMB Btn1

#  #) Click in the Status/Input widget and type "Here is a new string". 
LocatePointer StatText
ClickMB Btn1
InputString "Here is a new string"

#  #) Click the Call Function PushButton.  The new text from the Status
#  widget should replace all the text that was previously in the Action
#  TextField widget.
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1

#  #) Click the Clear Args PushButton.
LocatePointer ClearB
ClickMB Btn1

#  #) Select the XmTextFieldReplace() function.  Set the Num Arg 1 Scale to 2
#  and the Num Arg 2 Scale to 7.
LocatePointer List1 RListItem 2
ClickMB Btn1
LocatePointer Scale1 RScaleSlider
DragSliderValue Right 2
LocatePointer Scale2 RScaleSlider
DragSliderValue Right 7

#  #) Click in the Status/Input widget and type "y wheres".
LocatePointer StatText
ClickMB Btn1
InputString "y wheres"

#  #) Click the Call Function PushButton.  The Action TextField widget should
#  now read "Hey wheres a new string".
LocatePointer ApplyB
ClickMB Btn1
CompareVisual TextF1


#  C)
Continue
WindowRaise Shell1

#  #) Click the Clear Args PushButton.
LocatePointer ClearB
ClickMB Btn1

#  #) Select the XmTextFieldGetSubString() function.
LocatePointer List1 RListItem 0
ClickMB Btn1

#  #) Set the Num Arg 1 Scale to 5, the Num Arg 2 Scale to 4, and
#  the Num Arg 3 Scale to 5.
LocatePointer Scale1 RScaleSlider
DragSliderValue Right 5
LocatePointer Scale2 RScaleSlider
DragSliderValue Right 4
LocatePointer Scale3 RScaleSlider
DragSliderValue Right 5

#  #) Click the Call Function PushButton.  The Status/Input widget should
#  contain the substring "here".
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText

#  #) Set the Num Arg 1 Scale to 20, the Num Arg 2 Scale to 4, and
#  the Num Arg 3 Scale to 5.
LocatePointer Scale1 RScaleSlider
DragSliderValue Right 20

#  #) Click the Call Function PushButton.  The Status/Input widget should
#  contain the substring "(XmCOPY_TRUNCATED) ing".
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText
LocatePointer StatText
ClickMB Btn1
ClickKey KEndData
CompareVisual StatText

#  #) Set the Num Arg 1 Scale to 5, the Num Arg 2 Scale to 4, and
#  the Num Arg 3 Scale to 3.
LocatePointer Scale1 RScaleSlider
DragSliderValue Left 5
LocatePointer Scale3 RScaleSlider
DragSliderValue Left 3

#  #) Click the Call Function PushButton.  The Status/Input widget should
#  contain the substring "Return: XmCOPY_FAILED".
LocatePointer ApplyB
ClickMB Btn1
CompareVisual StatText


#  E)
Exit