|
Packit |
b099d7 |
/* $XConsortium: CommScrTxt1.c /main/6 1995/07/15 21:10:33 drk $ */
|
|
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 |
Widget BBoard1;
|
|
Packit |
b099d7 |
Widget Text1, Text2;
|
|
Packit |
b099d7 |
Widget EditLabel, ToggleB1;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char new_string1[] = "\
|
|
Packit |
b099d7 |
As I was going to St. Ives\n\
|
|
Packit |
b099d7 |
I met a man with seven wives\n\
|
|
Packit |
b099d7 |
Each wife had seven sacks,\n\
|
|
Packit |
b099d7 |
Each sack had seven cats,\n\
|
|
Packit |
b099d7 |
Each cat had seven kits\n\
|
|
Packit |
b099d7 |
Kits, cats, sacks, and wives,\n\
|
|
Packit |
b099d7 |
How many were going to St. Ives?";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char new_string2[] = "\
|
|
Packit |
b099d7 |
Jack Sprat could eat no fat\n\
|
|
Packit |
b099d7 |
His wife could eat no lean\n\
|
|
Packit |
b099d7 |
And so between them both\n\
|
|
Packit |
b099d7 |
They licked the platter clean";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char new_string3[] = "\
|
|
Packit |
b099d7 |
john said, jack, enjoy the job";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int EditMode;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char font_name1[] = "8x13bold";
|
|
Packit |
b099d7 |
static char font_name2[] = "variable";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static char render_tag[] = "Render1";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void HelpCB(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget info_box = NULL;
|
|
Packit |
b099d7 |
XmString helpString, titleString, okString;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
helpString = XmStringGenerate ("Help has arrived!",
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG, XmCHARSET_TEXT, NULL );
|
|
Packit |
b099d7 |
titleString = XmStringCreateLtoR ("Info box",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
okString = XmStringCreateLtoR ("Dismiss",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNmessageString, helpString); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNokLabelString, okString); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNdialogTitle, titleString); n++;
|
|
Packit |
b099d7 |
info_box = XmCreateInformationDialog (Shell1, "info_box", args, n);
|
|
Packit |
b099d7 |
XtManageChild (info_box);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree (helpString);
|
|
Packit |
b099d7 |
XmStringFree (titleString);
|
|
Packit |
b099d7 |
XmStringFree (okString);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ChangeString(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int file_length;
|
|
Packit |
b099d7 |
unsigned char *file_string;
|
|
Packit |
b099d7 |
XmString string;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static int swtch = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmTextSetString( Text1, " " );
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if( swtch++ % 2 )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmTextSetString( Text1, new_string2 );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg( args[n], XmNvalue, new_string1 ); n++;
|
|
Packit |
b099d7 |
XtSetValues( Text1, args, n );
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ChangeEditMode(Widget w, XtPointer client_data,
|
|
Packit |
b099d7 |
XtPointer call_data)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
int rows;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
EditMode = XmMULTI_LINE_EDIT + XmSINGLE_LINE_EDIT - EditMode;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, EditMode); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrows, 3); n++;
|
|
Packit |
b099d7 |
XtSetValues(Text2, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (EditMode == XmSINGLE_LINE_EDIT)
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("XmSINGLE_LINE_EDIT",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("XmMULTI_LINE_EDIT",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetValues(w, args, n);
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void
|
|
Packit |
b099d7 |
main_scrtext1(int argc, char **argv)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtTranslations table1;
|
|
Packit |
b099d7 |
static String trans_string1 = "Shift<Key>osfPageDown: activate()";
|
|
Packit |
b099d7 |
XmString tcs, string;
|
|
Packit |
b099d7 |
XmRendition rendition;
|
|
Packit |
b099d7 |
XmRenderTable renderTab = NULL;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* initialize toolkit */
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
table1 = XtParseTranslationTable (trans_string1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
BBoard1 = XmCreateBulletinBoard (Shell1, "BBoard1", args, n);
|
|
Packit |
b099d7 |
XtManageChild (BBoard1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrows, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNscrollVertical, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNscrollHorizontal, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, new_string2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name1)); n++;
|
|
Packit |
b099d7 |
Text1 = XmCreateScrolledText(BBoard1, "Text1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNactivateCallback, ChangeString, NULL);
|
|
Packit |
b099d7 |
XtOverrideTranslations (Text1, table1);
|
|
Packit |
b099d7 |
XtManageChild(Text1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Text1, XmNhelpCallback, HelpCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 2574, see .dat */
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
/* end of test case for PIR 2574 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 2127 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name2)); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, new_string3); n++;
|
|
Packit |
b099d7 |
XtSetValues(Text1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
/* end of test case for PIR 2127 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* test case for PIR 4120 */
|
|
Packit |
b099d7 |
XtUnmanageChild(Text1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditable, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, new_string1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNcolumns, 50); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrows, 3); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNscrollHorizontal, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNscrollVertical, True); n++;
|
|
Packit |
b099d7 |
Text2 = XmCreateScrolledText(BBoard1, "Text2", args, n);
|
|
Packit |
b099d7 |
XtManageChild (Text2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* EditMode togglebutton & label */
|
|
Packit |
b099d7 |
EditMode = XmSINGLE_LINE_EDIT;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("Current EditMode: ",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 95); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
EditLabel = XmCreateLabel(BBoard1, "EditLabel", args, n);
|
|
Packit |
b099d7 |
XtManageChild(EditLabel);
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("XmSINGLE_LINE_EDIT",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 115); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNset, True); n++;
|
|
Packit |
b099d7 |
ToggleB1 = XmCreateToggleButton(BBoard1, "ToggleB1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleB1);
|
|
Packit |
b099d7 |
XtAddCallback(ToggleB1, XmNvalueChangedCallback,
|
|
Packit |
b099d7 |
ChangeEditMode, NULL);
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
/* end of test case for PIR 4120 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
}
|