|
Packit |
b099d7 |
/* $TOG: CommText6.c /main/7 1997/10/02 16:23:51 csn $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Global variables.
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char string1[] = "Sample Text";
|
|
Packit |
b099d7 |
static char string2[] = "Sample Text2";
|
|
Packit |
b099d7 |
static char string3[] = "The <Return> key was pressed.";
|
|
Packit |
b099d7 |
static char string4[] = "Changed the string.";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char font_name1[] = "8x13";
|
|
Packit |
b099d7 |
static char font_name2[] = "8x13bold";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char render_tag[] = "render1";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ChangeString(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString tcs = (XmString)0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, string3 ); n++;
|
|
Packit |
b099d7 |
XtSetValues(w, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if ( tcs ) XmStringFree( tcs );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ChangeString2(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString tcs = (XmString)0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, string4); n++;
|
|
Packit |
b099d7 |
XtSetValues(w, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (tcs) XmStringFree(tcs);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void SetStringCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data;
|
|
Packit |
b099d7 |
XtPointer call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString string;
|
|
Packit |
b099d7 |
static char new_string[] = "New\nset\nvalue";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmTextSetString((Widget)client_data, new_string);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void InsertStringCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data;
|
|
Packit |
b099d7 |
XtPointer call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString string;
|
|
Packit |
b099d7 |
static char new_string[] = "+123+";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmTextInsert((Widget)client_data, 3, new_string);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void main_text6 (argc, argv)
|
|
Packit |
b099d7 |
int argc;
|
|
Packit |
b099d7 |
char **argv;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget PanedWindow;
|
|
Packit |
b099d7 |
Widget Text1;
|
|
Packit |
b099d7 |
Widget Text2;
|
|
Packit |
b099d7 |
Widget BBoard1;
|
|
Packit |
b099d7 |
XtTranslations new_table;
|
|
Packit |
b099d7 |
static String new_translation = "Ctrl<Key>r: activate()";
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
void *ret_val;
|
|
Packit |
b099d7 |
Widget SetStringPB = NULL;
|
|
Packit |
b099d7 |
Widget InsertStringPB = NULL;
|
|
Packit |
b099d7 |
XmString string;
|
|
Packit |
b099d7 |
char temp_string[100], *text2_return;
|
|
Packit |
b099d7 |
XmStringContext *context;
|
|
Packit |
b099d7 |
XmStringCharSet tag;
|
|
Packit |
b099d7 |
XmStringDirection direction;
|
|
Packit |
b099d7 |
XmStringComponentType unknown_tag;
|
|
Packit |
b099d7 |
unsigned short unknown_length;
|
|
Packit |
b099d7 |
unsigned char unknown_value;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* initialize toolkit */
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, 400); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, 300); n++;
|
|
Packit |
b099d7 |
XtSetValues(Shell1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 3677 - realized here, not after children mngd */
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
/* end of test case for PIR 3677 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
PanedWindow = XmCreatePanedWindow(Shell1, "PanedWindow", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PanedWindow);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, string1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name1)); n++;
|
|
Packit |
b099d7 |
Text1 = XmCreateText(PanedWindow, "Text1", args, n);
|
|
Packit |
b099d7 |
XtManageChild (Text1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name2)); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, string2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
Text2 = XmCreateText(PanedWindow, "Text2", args, n);
|
|
Packit |
b099d7 |
XtManageChild (Text2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* begin test for CR */
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* The instructions ask the user to change Text1 in a way that
|
|
Packit |
b099d7 |
can mess up the focus, then modify Text2 by adding a "2" at
|
|
Packit |
b099d7 |
the end.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Check the contents of the strings and print out a warning if
|
|
Packit |
b099d7 |
the value of the second string is not now "Sample Text22" */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ret_val = XmTextGetString(Text2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
text2_return = (char *)ret_val;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (!strcmp(text2_return, "The Sample Text2") == 0)
|
|
Packit |
b099d7 |
printf ("\n+++\n.Test FAILS. String in Text2 does not match expected value.\n+++\n");
|
|
Packit |
b099d7 |
else printf ("+++\nTest PASSES. No error.\n");
|
|
Packit |
b099d7 |
fflush(stdout);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtFree ((char *)ret_val);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* end test for CR */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNactivateCallback, CommonGenericCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNactivateCallback, ChangeString, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Text2, XmNactivateCallback, ChangeString2, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 3677 - this realize is commented out
|
|
Packit |
b099d7 |
XtRealizeWidget (Shell1);
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n=0;
|
|
Packit |
b099d7 |
new_table = XtParseTranslationTable (new_translation);
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtranslations, new_table); n++;
|
|
Packit |
b099d7 |
XtSetValues (Text2, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 1772, PIR 1058 */
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNvalueChangedCallback, CommonGenericCB, NULL);
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNmodifyVerifyCallback, CommonGenericCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
/* end of test case for PIR 1772, PIR 1058 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Begin testing CR 6141 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtDestroyWidget( PanedWindow );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNallowShellResize, True); n++;
|
|
Packit |
b099d7 |
XtSetValues( Shell1, args, n );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, 200); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, 200); n++;
|
|
Packit |
b099d7 |
BBoard1 = XmCreateBulletinBoard( Shell1, "BBoard1", args, n );
|
|
Packit |
b099d7 |
XtManageChild( BBoard1 );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
string = XmStringCreate("", XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNx, 0 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNy, 0 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNrows, 5 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNcolumns, 40 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNeditMode, XmMULTI_LINE_EDIT ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNvalue, "" ); n++;
|
|
Packit |
b099d7 |
Text1 = XmCreateText( BBoard1, "Text1", args, n );
|
|
Packit |
b099d7 |
XtManageChild( Text1 );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
string = XmStringCreate("Set String", XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNx, 0 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNy, 100 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNwidth, 100 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNheight, 30 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
SetStringPB = XmCreatePushButton(BBoard1, "SetStringPB", args, n);
|
|
Packit |
b099d7 |
XtAddCallback(SetStringPB, XmNactivateCallback, SetStringCB, Text1);
|
|
Packit |
b099d7 |
XtManageChild (SetStringPB);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
string = XmStringCreate("Insert", XmFONTLIST_DEFAULT_TAG );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNx, 110 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNy, 100 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNwidth, 90 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNheight, 30 ); n++;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNlabelString, string ); n++;
|
|
Packit |
b099d7 |
InsertStringPB = XmCreatePushButton(BBoard1, "InsertStringPB", args, n);
|
|
Packit |
b099d7 |
XtAddCallback(InsertStringPB, XmNactivateCallback,
|
|
Packit |
b099d7 |
InsertStringCB, Text1);
|
|
Packit |
b099d7 |
XtManageChild (InsertStringPB);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree( string );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
/* End testing CR 6141 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
}
|