Blob Blame History Raw
# $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