/* $XConsortium: CommText4.c /main/6 1995/07/15 21:11:14 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 */ #include static char string1[] = "One fish\nTwo fish\nRed fish\nBlue fish"; static char string2[] = "1234567890"; static void ShowPosition( Widget w, XtPointer client_data, XtPointer call_data) { printf ("The new cursor position is %d\n", ((XmTextVerifyCallbackStruct *)call_data)->newInsert); } void main_text4 (argc, argv) int argc; char **argv; { Widget PanedWindow1; Widget Text1, Text2; Widget RowColumn1; Widget PButton1, PButton2, PButton3; Pixel red_pixel; Arg args[MAX_ARGS]; int n; XmString tcs; /* initialize toolkit */ CommonTestInit(argc, argv); n = 0; PanedWindow1 = XmCreatePanedWindow(Shell1, "PanedWindow1", args, n); XtManageChild(PanedWindow1); n = 0; XtSetArg(args[n], XmNallowResize, True); n++; XtSetArg(args[n], XmNborderWidth, 0); n++; RowColumn1 = XmCreateRowColumn(PanedWindow1, "RowColumn1", args, n); XtManageChild(RowColumn1); red_pixel = CommonGetColor("red"); n = 0; XtSetArg(args[n], XmNhighlightThickness, 2); n++; XtSetArg(args[n], XmNhighlightColor, red_pixel); n++; XtSetArg(args[n], XmNallowResize, True); n++; XtSetArg(args[n], XmNblinkRate, 0); n++; XtSetArg(args[n], XmNresizeWidth, True); n++; XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++; XtSetArg(args[n], XmNrows, 5); n++; XtSetArg(args[n], XmNvalue, string1 ); n++; XtSetArg(args[n], XmNcursorPosition, 5); n++; Text1 = XmCreateText(PanedWindow1, "Text1", args, n); XtManageChild(Text1); XtAddCallback(Text1, XmNlosingFocusCallback, CommonGenericCB, NULL); n = 0; XtSetArg(args[n], XmNhighlightThickness, 2); n++; XtSetArg(args[n], XmNhighlightColor, red_pixel); n++; XtSetArg(args[n], XmNallowResize, True); n++; XtSetArg(args[n], XmNvalue, string2 );n++; Text2 = XmCreateText(PanedWindow1, "Text2", args, n); XtManageChild(Text2); XtAddCallback(Text2, XmNlosingFocusCallback, CommonGenericCB, NULL); XtAddCallback(Text2, XmNmotionVerifyCallback, ShowPosition, NULL); n = 0; XtSetArg(args[n], XmNhighlightThickness, 2); n++; XtSetArg(args[n], XmNhighlightColor, red_pixel); n++; XtSetArg(args[n], XmNtraversalOn, True); n++; PButton1 = XmCreatePushButton(RowColumn1, "PButton1", args, n); XtManageChild(PButton1); n = 0; XtSetArg(args[n], XmNhighlightThickness, 2); n++; XtSetArg(args[n], XmNhighlightColor, red_pixel); n++; XtSetArg(args[n], XmNtraversalOn, True); n++; PButton2 = XmCreatePushButton(RowColumn1, "PButton2", args, n); XtManageChild(PButton2); n = 0; XtSetArg(args[n], XmNhighlightThickness, 2); n++; XtSetArg(args[n], XmNhighlightColor, red_pixel); n++; XtSetArg(args[n], XmNtraversalOn, True); n++; PButton3 = XmCreatePushButton(RowColumn1, "PButton3", args, n); XtManageChild(PButton3); XmAddTabGroup(Text1); XmAddTabGroup(Text2); XmAddTabGroup(RowColumn1); XtRealizeWidget(Shell1); CommonPause(); /* tab groups, losingFocus, test for PIR 3143 */ CommonPause(); /* grow text widget 1 */ XtAppMainLoop(app_context); }