|
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 |
#ifdef REV_INFO
|
|
Packit |
b099d7 |
#ifndef lint
|
|
Packit |
b099d7 |
static char rcsid[] = "$XConsortium: PushBGad4.c /main/8 1995/07/13 17:29:58 drk $"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1987, 1988, 1989 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
Test was written for PIR629
|
|
Packit |
b099d7 |
PIR748,
|
|
Packit |
b099d7 |
PIR903,
|
|
Packit |
b099d7 |
and PIR637
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
#include <X11/Xlib.h>
|
|
Packit |
b099d7 |
#include <X11/Xatom.h>
|
|
Packit |
b099d7 |
#include <X11/StringDefs.h>
|
|
Packit |
b099d7 |
#include <Xm/XmP.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Global Variables */
|
|
Packit |
b099d7 |
Widget PBGadget1;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Private Functions */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void ActCB();
|
|
Packit |
b099d7 |
static void DestroyCB();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void main (argc, argv)
|
|
Packit |
b099d7 |
int argc;
|
|
Packit |
b099d7 |
char **argv;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
register int n;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
Pixel red_pixel, blue_pixel;
|
|
Packit |
b099d7 |
Widget Form1, PushB1, Cascade1, PushButton1;
|
|
Packit |
b099d7 |
Widget Pulldown1, MenuBar1, PushButton2, PushButton3;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
blue_pixel = CommonGetColor("cadetblue");
|
|
Packit |
b099d7 |
red_pixel = CommonGetColor("maroon");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNmarginWidth, 2); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNmarginHeight, 2); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNbackground, blue_pixel); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNwidth, 150); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 175); n++;
|
|
Packit |
b099d7 |
Form1 = XmCreateForm (Shell1, "Form1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Form1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtraversalOn, True); n++;
|
|
Packit |
b099d7 |
MenuBar1 = XmCreateMenuBar (Form1, "MenuBar1", args, n);
|
|
Packit |
b099d7 |
XtManageChild (MenuBar1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Pulldown1 = XmCreatePulldownMenu (MenuBar1, "Pulldown1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, Pulldown1); n++;
|
|
Packit |
b099d7 |
Cascade1 = XmCreateCascadeButton(MenuBar1, "Cascade1", args, n);
|
|
Packit |
b099d7 |
XtManageChild (Cascade1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Destroy PushButton", XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNwidth, 150); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 50); n++;
|
|
Packit |
b099d7 |
PushButton1 = XmCreatePushButton(Pulldown1, "PushButton1", args, n);
|
|
Packit |
b099d7 |
XmStringFree (tcs);
|
|
Packit |
b099d7 |
XtManageChild (PushButton1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Destroy Form", XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNwidth, 150); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 50); n++;
|
|
Packit |
b099d7 |
PushButton2 = XmCreatePushButton(Pulldown1, "PushButton2", args, n);
|
|
Packit |
b099d7 |
XmStringFree (tcs);
|
|
Packit |
b099d7 |
XtManageChild (PushButton2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
tcs = XmStringLtoRCreate("Destroy PushButtonGadget",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNwidth, 150); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 50); n++;
|
|
Packit |
b099d7 |
PushButton3 = XmCreatePushButton(Pulldown1, "PushButton3", args, n);
|
|
Packit |
b099d7 |
XmStringFree (tcs);
|
|
Packit |
b099d7 |
XtManageChild (PushButton3);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild (PushButton2);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, MenuBar1); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNbackground, red_pixel); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtraversalOn, True); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNhighlightOnEnter, True); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNhighlightThickness, 2); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNhighlightColor, CommonGetColor("orangered")); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 75); n++;
|
|
Packit |
b099d7 |
PushB1 = XmCreatePushButton(Form1, "PushB1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushB1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmAddTabGroup(PushB1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Add Tab Group again to test PIR637 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmAddTabGroup(PushB1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, PushB1); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 5); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtraversalOn, True); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNhighlightOnEnter, True); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNhighlightThickness, 2); n++;
|
|
Packit |
b099d7 |
PBGadget1 = XmCreatePushButtonGadget (Form1, "PBGadget1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PBGadget1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmAddTabGroup(PBGadget1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PBGadget1, XmNactivateCallback, ActCB, "PushButtonGadget");
|
|
Packit |
b099d7 |
XtAddCallback(PushB1, XmNactivateCallback, ActCB, "PushButton");
|
|
Packit |
b099d7 |
XtAddCallback(PushButton1, XmNactivateCallback, DestroyCB, PushB1);
|
|
Packit |
b099d7 |
XtAddCallback(PushButton2, XmNactivateCallback, DestroyCB, Form1);
|
|
Packit |
b099d7 |
XtAddCallback(PushButton3, XmNactivateCallback, DestroyCB, PBGadget1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
XtDestroyWidget(MenuBar1);
|
|
Packit |
b099d7 |
XtDestroyWidget(Form1);
|
|
Packit |
b099d7 |
XtDestroyWidget(Cascade1);
|
|
Packit |
b099d7 |
XtDestroyWidget(Pulldown1);
|
|
Packit |
b099d7 |
XtDestroyWidget(PushButton1);
|
|
Packit |
b099d7 |
XtDestroyWidget(PushButton2);
|
|
Packit |
b099d7 |
XtDestroyWidget(PushButton3);
|
|
Packit |
b099d7 |
XtDestroyWidget(PushB1);
|
|
Packit |
b099d7 |
XtDestroyWidget(PBGadget1);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void ActCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
caddr_t client_data;
|
|
Packit |
b099d7 |
caddr_t call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[5];
|
|
Packit |
b099d7 |
int n = 0;
|
|
Packit |
b099d7 |
Pixel yellow, green;
|
|
Packit |
b099d7 |
char *name;
|
|
Packit |
b099d7 |
Widget parent;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
parent = XtParent(w);
|
|
Packit |
b099d7 |
name = (char *) client_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf("...Setting the background color of the Form to Yellow\n");
|
|
Packit |
b099d7 |
yellow = CommonGetColor("Yellow");
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbackground, yellow); n++;
|
|
Packit |
b099d7 |
XtSetValues(parent, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* CR 1139 fix begin */
|
|
Packit |
b099d7 |
XmChangeColor(w, yellow);
|
|
Packit |
b099d7 |
/* CR 1139 fix end */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
green = CommonGetColor("forestgreen");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf("...Setting the background color of %s to Green\n\n", name);
|
|
Packit |
b099d7 |
XtSetArg (args[0], XmNbackground, green);
|
|
Packit |
b099d7 |
XtSetValues (w, args, 1);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void DestroyCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
caddr_t client_data;
|
|
Packit |
b099d7 |
caddr_t call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Widget PushB;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
PushB = (Widget) client_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtDestroyWidget(PushB);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|