/* * @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 */ /* static char rcsid[] = "$XConsortium: Text12.dat /main/6 1995/07/13 19:27:03 drk $" */ @) A client with a list of functions, a control panel and a Text widget to be acted upon should appear. #) Drag MB1 in the Action Text widget to make a small selection. #) Select XmTextGetSelectionPosition() and call the function. The left and right end positions of the selection will correspond to the values shown in the Status/Input widget. #) Select the XmTextGetSelection() function, and click Call Function. The selected string from Action Text should appear in the status widget. #) Select the XmTextSetSelection() function. Set Num Arg 1 to a low number and Num Arg 2 to a number larger the Num Arg 1. Click Call Function. The characters selected in the Action Text will correspond to the range between Num Arg 1 and Num Arg 2. #) Select the XmTextGetSelection() function and call it. The selection made in previous step should appear in the Status/Input widget. #) Select the XmTextClearSelection() function and call it. The selection in the Action widget will be deselected. C) #) Click the Clear Args PushButton to reset the control panel. #) Select the XmTextInsert() function. Set the Num Arg 1 Scale to 3. #) Click in the Status/Input widget and type in a new string like "NEW". #) Click the Call Function PushButton. The string in the Status/Input widget should get inserted after the third character in the Action Text widget. C) #) Make a selection in the Action Text widget by dragging MB1. #) Select the XmTextSetAddMode() function and set the True/False ToggleButton to True. Click Call Function. #) Traverse to the Action Text widget using the keyboard by pressing osfTab twice. The insertion cursor should be stippled. #) Use the osfLeft or osfRight arrow keys to move the insertion cursor around. Note that the selection remains selected. #) Click the True/False ToggleButton to change the state to False. #) Click the Call Function PushButton to set the Action Text back to normal mode. #) Again, traverse to the Action Text widget and then move around with the arrow keys. Assuming the selection was still there when focus arrived in the Action Text widget, the arrow keys should have now deselected the selection. C) #) Select and call the XmTextGetString() function. The entire string from the Action Text widget should appear in the 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. #) Click the Clear Args PushButton to reset the control panel. #) Select the XmTextSetString() function. #) Click in the Status/Input widget and type "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 Text widget. #) Click the Clear Args PushButton. #) Select the XmTextReplace() function. Set the Num Arg 1 Scale to 2 and the Num Arg 2 Scale to 7. #) Click in the Status/Input widget and type "y wheres". #) Click the Call Function PushButton. The Action Text widget should now read "Hey wheres a new string". C) /* test case for PIR 2878 */ #) Drag MB1 in the Action Text widget to make a selection. #) Select and call the XmTextGetSelection() function. The selection string will appear in the status widget. #) Click MB1 in the Action Text widget so that there is no longer a selection. #) Click Call Function again. The status widget should read "No selection found." #) Click MB1 on the Clear Args Pushbutton. #) Click MB1 on the XmTextSetString() function. #) Type "Hey wheres a new string" in the Status/Input widget. #) Click MB1 on the Call Function PushButton. #) The text from the Status/Input widget should display in the Action Text widget. /* end of test case for PIR 2878 */ C) #) Click the Clear Args PushButton. #) Select the XmTextFindString() function. #) Click in the Status/Input widget and type "new". #) Click the Call Function PushButton. The Status/Input widget should indicate the string was found. The Action Text widget should have the search string selected. #) Click the Clear Args PushButton. #) Select the XmTextFindString() function. #) Click in the Status/Input widget and type "old", and click Call Function. #) The Status/Input widget should indicate that the string was not found. #) Click the Clear Args PushButton. #) Select the XmTextFindString() function. #) Set Num Arg 1 to 28. Toggle the Forward/Backward Arg to Backward. #) Click in the Status widget and type "ey", and click Call Function. #) The Status widget should indicate the string was found and the Action Text should have the search string selected. #) Click the Clear Args PushButton. #) Select the XmTextFindString() function. #) Set Num Arg 1 to 28. Toggle the Forward/Backward Arg to Backward. #) Click in the Status widget and type "He", and click Call Function. C) #) Click the Clear Args PushButton. #) Select the XmTextGetSubString() function. #) Set the Num Arg 1 Scale to 5, the Num Arg 2 Scale to 4, and the Num Arg 3 Scale to 5. #) Click the Call Function PushButton. The Status/Input widget should contain the substring "here". #) Set the Num Arg 1 Scale to 20, the Num Arg 2 Scale to 4, and the Num Arg 3 Scale to 5. #) Click the Call Function PushButton. The Status/Input widget should contain the substring "(XmCOPY_TRUNCATED) ing". #) Set the Num Arg 1 Scale to 5, the Num Arg 2 Scale to 4, and the Num Arg 3 Scale to 3. #) Click the Call Function PushButton. The Status/Input widget should contain the substring "Return: XmCOPY_FAILED". C) #) Click the Clear Args Pushbutton. #) Select the XmTextDisableRedisplay() function and call it. The Action Text widget now has its display updating disabled. The insertion cursor should not be visible. #) Select the XmTextSetString() function. #) Click in the Status/Input widget and type "This won't show up". #) Click the Call Function PushButton. The Action Text widget should remain exactly as it was - unchanged. #) Select the XmTextEnableRedisplay() function and call it. The new text from the Status widget should replace all the text that was previously in the Action Text widget. The insertion cursor should be visible once again. E)