# $XConsortium: ScrollText3h.scr /main/5 1995/07/17 20:41:08 drk $ # # @OPENGROUP_COPYRIGHT@ # COPYRIGHT NOTICE # Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc. # Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group # ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for # the full copyright text. # # This software is subject to an open license. It may only be # used on, with or for operating systems which are themselves open # source systems. You must contact The Open Group for a license # allowing distribution and sublicensing of this software on, with, # or for operating systems which are not Open Source programs. # # See http://www.opengroup.org/openmotif/license for full # details of the license agreement. Any use, reproduction, or # distribution of the program constitutes recipient's acceptance of # this agreement. # # EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS # PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY # WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY # OR FITNESS FOR A PARTICULAR PURPOSE # # EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT # NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE # EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGES. # # # HISTORY # # /* test case for PIR 3768 */ # #) Make a small selection in the TextField widget. Click MB2 elsewhere # in the TextField to copy the primary selection. The original selection # should remain highlighted. LocatePointer Text4 RTextChar 5 DragComponent Text4 RTextChar 7 LocatePointer Text4 RTextChar 22 ClickMB Btn2 CompareVisual Text4 # #) Click MB2 several more times to copy the selection several times. # Confirm that the original selection remains highlighted the whole time. LocatePointer Text4 RTextChar 20 ClickMB Btn2 LocatePointer Text4 RTextChar 18 ClickMB Btn2 LocatePointer Text4 RTextChar 16 ClickMB Btn2 CompareVisual Text4 # /* end of test case for PIR 3768 */ # C) Continue # /* test case for PIR 1983 */ # #) Click MB1 on the ScrolledText widget. It should now have focus. LocatePointer Text1 RTextChar 24 ClickMB Btn1 # #) Now press Ctrl-Tab twice to get the focus to the MultiLine Text widget. ClickKey KTab ClickKey KTab # #) Holding the Shift key, drag MB1 in the ScrolledText widget to select # some text there. As this text is selected, the focus should also move # off of the MultiLine Text widget and onto this widget. LocatePointer Text1 RTextChar 34 DragComponent Text1 RTextChar 38 Btn1 # #) Try typing some text to confirm that the selected text in # the ScrolledText widget is # replaced with the newly typed text. InputString "New Text" CompareVisual Text1 # /* end of test case for PIR 1983 */ # C) Continue # /* Test case for CR 5186. */ # #) In Normal Mode, select a collection of text. KDelete should # delete the selection. LocatePointer Text1 RTextChar 3 ClickMB Btn1 ClickKey KSelect ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KExtend ClickKey KDelete CompareVisual Text1 # #) Select another collection of text. KBackSpace should # also delete the selection. LocatePointer Text1 RTextChar 5 ClickMB Btn1 ClickKey KSelect ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KExtend ClickKey KBackSpace CompareVisual Text1 # #) Switch into Add Mode and select a collection of text. # #) While the cursor is within the selection, KDelete or KBackSpace # should delete the selection. # #) While the cursor is within the selection, KDelete or KBackSpace # should delete the selection. LocatePointer Text1 RTextChar 0 ClickMB Btn1 ClickKey KSelect ClickKey KAddMode ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KExtend ClickKey KDelete CompareVisual Text1 LocatePointer Text1 RTextChar 0 ClickMB Btn1 ClickKey KSelect ClickKey KAddMode ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KExtend ClickKey KBackSpace CompareVisual Text1 # #) Switch back into Add Mode and select another collection of text. # #) Move the cursor outside the current selection. # #) KDelete should delete one character forward. # #) KBackSpace should delete one character backward. LocatePointer Text1 RTextChar 7 ClickMB Btn1 ClickKey KSelect ClickKey KAddMode ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KExtend ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KRight ClickKey KDelete CompareVisual Text1 ClickKey KBackSpace CompareVisual Text1 # /* End of test case for CR 5186 */ # C) Continue # #) Each of the four widgets now have their XmNsensitive resource set to # False. They should all be grayed out and inaccessible from the keyboard # or the mouse. LocatePointer Text1 RTextChar 10 ClickMB Btn1 ClickKey Ka CompareVisual Text1 LocatePointer Text2 RTextChar 10 ClickMB Btn1 ClickKey Ka CompareVisual Text2 LocatePointer Text3 RTextChar 10 ClickMB Btn1 ClickKey Ka CompareVisual Text3 LocatePointer Text4 RTextChar 10 ClickMB Btn1 ClickKey Ka CompareVisual Text4 # C) Continue # @) Each of the text widgets is now sensitive again. Additionally, # they have callbacks set for focus and losingFocus. # #) Click the mouse pointer in each of the four widget and confirm # the callback messages for focus and losingFocus for each widget. LocatePointer Text1 ClickMB Btn1 LocatePointer Text2 ClickMB Btn1 LocatePointer Text3 ClickMB Btn1 LocatePointer Text4 ClickMB Btn1 # C) Continue # @) Each of the text widgets now has callbacks set for valueChanged, # modifyVerify, and motionVerify. # #) Click the mouse pointer in each of the four widgets and modify # the text in some way. Confirm that the appropriate callback messages # appear on the stdout. LocatePointer Text1 RTextChar 10 ClickMB Btn1 ClickKey KLeft ClickKey KLeft ClickKey KBackSpace ClickKey KBackSpace LocatePointer Text2 RTextChar 10 ClickMB Btn1 ClickKey KLeft ClickKey KLeft ClickKey KBackSpace ClickKey KBackSpace LocatePointer Text3 RTextChar 10 ClickMB Btn1 ClickKey KLeft ClickKey KLeft ClickKey KBackSpace ClickKey KBackSpace LocatePointer Text4 RTextChar 10 ClickMB Btn1 ClickKey KLeft ClickKey KLeft ClickKey KBackSpace ClickKey KBackSpace # /* test case for PIR 3199 */ LocatePointer Text1 RTextChar 10 ClickMB Btn1 LocatePointer Text4 RTextChar 4 DragComponent Text4 RTextChar 9 Btn2 # /* end of test case for PIR 3199 */ # C) Continue # @) Each of the text widgets now has callbacks set for gainPrimary, # losePrimary, activate and help. # #) In each of the four widgets, click the mouse pointer, press # the Help key, and press the activate key. Confirm that the appropriate # callback messages appear. LocatePointer Text1 RTextChar 10 DragComponent Text1 RTextChar 6 ClickKey KHelp ClickKey KActivate LocatePointer Text2 RTextChar 10 DragComponent Text2 RTextChar 6 ClickKey KHelp ClickKey KActivate LocatePointer Text3 RTextChar 10 DragComponent Text3 RTextChar 6 ClickKey KHelp ClickKey KActivate LocatePointer Text4 RTextChar 10 DragComponent Text4 RTextChar 6 ClickKey KHelp ClickKey KActivate # C) Continue # #) The action toggle-overstrike has been bound to the keys -i. # #) Click MB1 in the MultiLine Text Widget after the first word, \"As\". # Type the words \"Pluto and\". Both words should be inserted into the # existing text. Click MB1 prior to the word \"was\". Click -i # to toggle into overstrike mode. Type the word \"were\". The word \"were\" # should have replaced \"was \". Click -i to toggle back into # insertion mode and insert a space character. Click -i again to # switch into overstrike mode and type \"walking\". The word \"walking\" # should have replaced \"going\". LocatePointer Text3 RTextChar 3 ClickMB Btn1 InputString "Pluto and " CompareVisual Text3 LocatePointer Text3 RTextChar 15 ClickMB Btn1 ClickKey Ki InputString "were" CompareVisual Text3 ClickKey Ki ClickKey KSpace CompareVisual Text3 ClickKey Ki InputString "walking" CompareVisual Text3 ClickKey Ki # #) Repeat the above steps in the TextField widget. LocatePointer Text4 RTextChar 3 ClickMB Btn1 InputString "Pluto and " CompareVisual Text4 LocatePointer Text4 RTextChar 15 ClickMB Btn1 ClickKey Ki InputString "were" CompareVisual Text4 ClickKey Ki # E) Exit