/* * @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 */ #ifdef REV_INFO #ifndef lint static char rcsid[] = "$TOG: CommScrTxt3.c /main/7 1997/10/02 15:48:46 csn $" #endif #endif #include static char new_string1[] = "\ As I was going to St. Ives\n\ I met a man with seven wives\n\ How many were going to St. Ives?\n\ \n\ I don't know but...\n\ Jack Sprat could eat no fat\n\ His wife could eat no lean"; Widget BBoard1; Widget PushB1; Widget Text1, Text2, Text3, Text4; Widget Label1, Label2, Label3, Label4; Arg args[MAX_ARGS]; int n; static char font_name1[] = "8x13"; static char render_tag[] = "render1"; static void ResetStrings(Widget w, XtPointer client_data, XtPointer call_data) { n = 0; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); XtSetValues(Text4, args, n); } void main_scrtext3(argc, argv) int argc; char **argv; { XmRendition rendition; XmRenderTable renderTab = NULL; XtTranslations new_table; static char translations[] = "Ctrli: toggle-overstrike() "; /* initialize toolkit */ CommonTestInit(argc, argv); /* Create Compound String version of new_string1. */ n = 0; BBoard1 = XmCreateBulletinBoard(Shell1, "BBoard1", args, n); XtManageChild(BBoard1); /* ScrolledText widget */ n = 0; XtSetArg(args[n], XmNlabelString, XmStringCreateLtoR("ScrolledText widget", XmSTRING_DEFAULT_CHARSET)); n++; Label1 = XmCreateLabel(BBoard1, "Label1", args, n); XtManageChild(Label1); n = 0; XtSetArg(args[n], XmNcolumns, 25); n++; XtSetArg(args[n], XmNrows, 5); n++; XtSetArg(args[n], XmNscrollVertical, True); n++; XtSetArg(args[n], XmNscrollHorizontal, True); n++; XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name1)); n++; Text1 = XmCreateScrolledText(BBoard1, "Text1", args, n); XtManageChild(Text1); n = 0; XtSetArg(args[n], XmNy, 30); n++; XtSetValues(XtParent(Text1), args, n); /* Single Line Text widget */ n = 0; XtSetArg(args[n], XmNy, 150); n++; XtSetArg(args[n], XmNlabelString, XmStringCreateLtoR("SingleLine Text widget", XmSTRING_DEFAULT_CHARSET)); n++; Label2 = XmCreateLabel(BBoard1, "Label2", args, n); XtManageChild(Label2); n = 0; XtSetArg(args[n], XmNy, 170); n++; XtSetArg(args[n], XmNcolumns, 25); n++; XtSetArg(args[n], XmNrows, 1); n++; XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name1)); n++; Text2 = XmCreateText(BBoard1, "Text2", args, n); XtManageChild(Text2); /* Multi Line Text widget */ n = 0; XtSetArg(args[n], XmNy, 220); n++; XtSetArg(args[n], XmNlabelString, XmStringCreateLtoR("MultiLine Text widget", XmSTRING_DEFAULT_CHARSET)); n++; Label3 = XmCreateLabel(BBoard1, "Label3", args, n); XtManageChild(Label3); n = 0; XtSetArg(args[n], XmNy, 240); n++; XtSetArg(args[n], XmNcolumns, 25); n++; XtSetArg(args[n], XmNrows, 3); n++; XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetArg(args[n], XmNfontList, CommonGetFontList(font_name1)); n++; Text3 = XmCreateText(BBoard1, "Text3", args, n); XtManageChild(Text3); /* TextField widget */ n = 0; XtSetArg(args[n], XmNy, 320); n++; XtSetArg(args[n], XmNlabelString, XmStringCreateLtoR("TextField widget", XmSTRING_DEFAULT_CHARSET)); n++; Label4 = XmCreateLabel(BBoard1, "Label4", args, n); XtManageChild(Label4); n = 0; XtSetArg(args[n], XmNy, 340); n++; XtSetArg(args[n], XmNcolumns, 25); n++; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetArg(args[n], XmNfontList, CommonGetFontList("8x13")); n++; Text4 = XmCreateTextField(BBoard1, "Text4", args, n); XtManageChild(Text4); /* Reset String pushbutton */ n = 0; XtSetArg(args[n], XmNy, 390); n++; XtSetArg(args[n], XmNlabelString, XmStringCreateLtoR("Reset Strings", XmSTRING_DEFAULT_CHARSET)); n++; PushB1 = XmCreatePushButton(BBoard1, "PushB1", args, n); XtAddCallback(PushB1, XmNactivateCallback, ResetStrings, NULL); XtManageChild(PushB1); XtRealizeWidget(Shell1); CommonPause(); n = 0; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetValues(Text4, args, n); XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); CommonPause(); CommonPause(); /* Test case CR 5186 */ n = 0; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetValues(Text4, args, n); XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); n = 0; XtSetArg( args[n], XmNsensitive, False ); n++; XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); XtSetValues(Text4, args, n); CommonPause(); XtAddCallback(Text1, XmNfocusCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNlosingFocusCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text2, XmNfocusCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNlosingFocusCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text3, XmNfocusCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNlosingFocusCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text4, XmNfocusCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNlosingFocusCallback, CommonGenericCB, "TextField"); n = 0; XtSetArg( args[n], XmNsensitive, True ); n++; XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); XtSetValues(Text4, args, n); CommonPause(); XtRemoveAllCallbacks(Text1, XmNfocusCallback); XtRemoveAllCallbacks(Text1, XmNlosingFocusCallback); XtAddCallback(Text1, XmNvalueChangedCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNmodifyVerifyCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNmotionVerifyCallback, CommonGenericCB, "ScrolledText"); XtRemoveAllCallbacks(Text2, XmNfocusCallback); XtRemoveAllCallbacks(Text2, XmNlosingFocusCallback); XtAddCallback(Text2, XmNvalueChangedCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNmodifyVerifyCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNmotionVerifyCallback, CommonGenericCB, "SingleLine"); XtRemoveAllCallbacks(Text3, XmNfocusCallback); XtRemoveAllCallbacks(Text3, XmNlosingFocusCallback); XtAddCallback(Text3, XmNvalueChangedCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNmodifyVerifyCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNmotionVerifyCallback, CommonGenericCB, "MultiLine"); XtRemoveAllCallbacks(Text4, XmNfocusCallback); XtRemoveAllCallbacks(Text4, XmNlosingFocusCallback); XtAddCallback(Text4, XmNvalueChangedCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNmodifyVerifyCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNmotionVerifyCallback, CommonGenericCB, "TextField"); CommonPause(); XtRemoveAllCallbacks(Text1, XmNvalueChangedCallback); XtRemoveAllCallbacks(Text1, XmNmodifyVerifyCallback); XtRemoveAllCallbacks(Text1, XmNmotionVerifyCallback); XtAddCallback(Text1, XmNgainPrimaryCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNlosePrimaryCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNactivateCallback, CommonGenericCB, "ScrolledText"); XtAddCallback(Text1, XmNhelpCallback, CommonGenericCB, "ScrolledText"); XtRemoveAllCallbacks(Text2, XmNvalueChangedCallback); XtRemoveAllCallbacks(Text2, XmNmodifyVerifyCallback); XtRemoveAllCallbacks(Text2, XmNmotionVerifyCallback); XtAddCallback(Text2, XmNgainPrimaryCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNlosePrimaryCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNactivateCallback, CommonGenericCB, "SingleLine"); XtAddCallback(Text2, XmNhelpCallback, CommonGenericCB, "SingleLine"); XtRemoveAllCallbacks(Text3, XmNvalueChangedCallback); XtRemoveAllCallbacks(Text3, XmNmodifyVerifyCallback); XtRemoveAllCallbacks(Text3, XmNmotionVerifyCallback); XtAddCallback(Text3, XmNgainPrimaryCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNlosePrimaryCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNactivateCallback, CommonGenericCB, "MultiLine"); XtAddCallback(Text3, XmNhelpCallback, CommonGenericCB, "MultiLine"); XtRemoveAllCallbacks(Text4, XmNvalueChangedCallback); XtRemoveAllCallbacks(Text4, XmNmodifyVerifyCallback); XtRemoveAllCallbacks(Text4, XmNmotionVerifyCallback); XtAddCallback(Text4, XmNgainPrimaryCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNlosePrimaryCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNactivateCallback, CommonGenericCB, "TextField"); XtAddCallback(Text4, XmNhelpCallback, CommonGenericCB, "TextField"); CommonPause(); /* Remove remaining callbacks. */ XtRemoveAllCallbacks(Text4, XmNgainPrimaryCallback); XtRemoveAllCallbacks(Text4, XmNlosePrimaryCallback); XtRemoveAllCallbacks(Text4, XmNactivateCallback); XtRemoveAllCallbacks(Text4, XmNhelpCallback); /* Reset strings. */ n = 0; XtSetArg(args[n], XmNvalue, new_string1); n++; XtSetValues(Text4, args, n); XtSetValues(Text1, args, n); XtSetValues(Text2, args, n); XtSetValues(Text3, args, n); /* Override translation table with translation for toggle-overstrike. */ new_table = XtParseTranslationTable( translations ); XtOverrideTranslations( Text1, new_table ); XtOverrideTranslations( Text2, new_table ); XtOverrideTranslations( Text3, new_table ); XtOverrideTranslations( Text4, new_table ); /* Test toggle-overstrike() */ CommonPause(); XtAppMainLoop(app_context); }