# $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