|
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: Baseline2.c /main/5 1995/07/13 18:28:48 drk $"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* (c) Copyright 1987, 1988, 1989 HEWLETT-PACKARD COMPANY */
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
#include "gnu.bmp"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
char multi_value[] = "This is a\nmulti line text\nwidget\nthat appears on\n\
|
|
Packit |
b099d7 |
5 lines";
|
|
Packit |
b099d7 |
char textf_value[] = "This is a Text Field Widget - One Line";
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget Form, Frame, RowColumn;
|
|
Packit |
b099d7 |
Widget PushButton1, PushButton2;
|
|
Packit |
b099d7 |
Widget Label1, Label2;
|
|
Packit |
b099d7 |
Widget PushButtonGad1, PushButtonGad2;
|
|
Packit |
b099d7 |
Widget LabelG1, LabelG2;
|
|
Packit |
b099d7 |
Widget ToggleButton1, ToggleButton2;
|
|
Packit |
b099d7 |
Widget ToggleButtonGad1, ToggleButtonGad2;
|
|
Packit |
b099d7 |
Widget Text, TextF;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget Frame2, RowColumn2, RadioBox1;
|
|
Packit |
b099d7 |
Widget Toggle_Top, Toggle_Bottom;
|
|
Packit |
b099d7 |
Widget Toggle_Con_Bottom, Toggle_Con_Top;
|
|
Packit |
b099d7 |
Widget Toggle_Center;
|
|
Packit |
b099d7 |
Widget Scale;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Pixmap pixmap1;
|
|
Packit |
b099d7 |
Pixmap pixmap2;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreatePanel();
|
|
Packit |
b099d7 |
static void ColumnsCB();
|
|
Packit |
b099d7 |
static void AlignCB();
|
|
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 |
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Form = XmCreateForm(Shell1, "Form", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Form);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
Frame = XmCreateFrame(Form, "Frame", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNnumColumns, 2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpacking, XmPACK_COLUMN); n++;
|
|
Packit |
b099d7 |
RowColumn = XmCreateRowColumn(Frame, "RowColumn", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RowColumn);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("PushButton1");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushButton1 = XmCreatePushButton(RowColumn, "PushButton1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushButton1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("PushButtonGadget1");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushButtonGad1 = XmCreatePushButtonGadget(RowColumn, "PushButtonGad1",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushButtonGad1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("PushButtonGadget2\n\n - A Longer\n multi line\n Label String",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushButtonGad2 = XmCreatePushButtonGadget(RowColumn, "PushButtonGad2",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushButtonGad2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Label");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Label1 = XmCreateLabel(RowColumn, "Label1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Label1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
pixmap1 = XmGetPixmap(XtScreenOfObject(Shell1), "woman",
|
|
Packit |
b099d7 |
CommonGetColor("black"), CommonGetColor("white"));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelType, XmPIXMAP); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelPixmap, pixmap1); n++;
|
|
Packit |
b099d7 |
Label2 = XmCreateLabel(RowColumn, "Label2", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Label2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("LabelGadget");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
LabelG1 = XmCreateLabel(RowColumn, "LabelG1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(LabelG1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
pixmap2 = XCreatePixmapFromBitmapData(display,
|
|
Packit |
b099d7 |
DefaultRootWindow(display),
|
|
Packit |
b099d7 |
gnu_bits, gnu_width, gnu_height,
|
|
Packit |
b099d7 |
WhitePixel(display,DefaultScreen(display)),
|
|
Packit |
b099d7 |
BlackPixel(display,DefaultScreen(display)),
|
|
Packit |
b099d7 |
DefaultDepth(display,DefaultScreen(display)));
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelType, XmPIXMAP); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelPixmap, pixmap2); n++;
|
|
Packit |
b099d7 |
ToggleButton1 = XmCreateToggleButton(RowColumn, "ToggleButton1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleButton1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateLtoR("ToggleB\n - Longer\n Label\n String",
|
|
Packit |
b099d7 |
XmSTRING_DEFAULT_CHARSET);
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleButton2 = XmCreateToggleButton(RowColumn, "ToggleButton2", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleButton2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("ToggleButtonGadget");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleButtonGad1 = XmCreateToggleButtonGadget(RowColumn, "ToggleButtonGad1",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleButtonGad1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, multi_value); n++;
|
|
Packit |
b099d7 |
Text = XmCreateText(RowColumn, "Text", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Text);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, textf_value); n++;
|
|
Packit |
b099d7 |
TextF = XmCreateTextField(RowColumn, "TextF", args, n);
|
|
Packit |
b099d7 |
XtManageChild(TextF);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CreatePanel();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpacking, XmPACK_TIGHT); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNresizeHeight, False); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNheight, 250); n++;
|
|
Packit |
b099d7 |
XtSetValues(RowColumn, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonPause();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreatePanel()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget formdia;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNgeometry, "+300+0"); n++;
|
|
Packit |
b099d7 |
formdia = XmCreateFormDialog (Form, "formdia", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Frame2 = XmCreateFrame(formdia, "Frame2", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNspacing, 10); n++;
|
|
Packit |
b099d7 |
RowColumn2 = XmCreateRowColumn(Frame2, "RowColumn2", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RowColumn2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Number of Columns");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtitleString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNminimum, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmaximum, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, 2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNshowValue, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
Scale = XmCreateScale(RowColumn2, "Scale", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Scale);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Scale, XmNvalueChangedCallback, ColumnsCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
RadioBox1 = XmCreateRadioBox(RowColumn2, "RadioBox1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RadioBox1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("XmALIGNMENT_BASELINE_BOTTOM");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Toggle_Bottom = XmCreateToggleButton(RadioBox1, "Toggle_Bottom", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Toggle_Bottom);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Toggle_Bottom, XmNarmCallback, AlignCB,
|
|
Packit |
b099d7 |
(XtPointer) XmALIGNMENT_BASELINE_BOTTOM);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("XmALIGNMENT_BASELINE_TOP");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Toggle_Top = XmCreateToggleButton(RadioBox1, "Toggle_Top", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Toggle_Top);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Toggle_Top, XmNarmCallback, AlignCB,
|
|
Packit |
b099d7 |
(XtPointer) XmALIGNMENT_BASELINE_TOP);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("XmALIGNMENT_CONTENTS_BOTTOM");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Toggle_Con_Bottom = XmCreateToggleButton(RadioBox1, "Toggle_Con_Bottom",
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
XtManageChild(Toggle_Con_Bottom);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Toggle_Con_Bottom, XmNarmCallback, AlignCB,
|
|
Packit |
b099d7 |
(XtPointer) XmALIGNMENT_CONTENTS_BOTTOM);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("XmALIGNMENT_CONTENTS_TOP");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Toggle_Con_Top = XmCreateToggleButton(RadioBox1, "Toggle_Con_Top", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Toggle_Con_Top);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Toggle_Con_Top, XmNarmCallback, AlignCB,
|
|
Packit |
b099d7 |
(XtPointer) XmALIGNMENT_CONTENTS_TOP);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("XmALIGNMENT_CENTER");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Toggle_Center = XmCreateToggleButton(RadioBox1, "Toggle_Center", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Toggle_Center);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(Toggle_Center, XmNarmCallback, AlignCB,
|
|
Packit |
b099d7 |
(XtPointer) XmALIGNMENT_CENTER);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
XtManageChild(Frame2);
|
|
Packit |
b099d7 |
XtManageChild (formdia);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void AlignCB(widget, client_data, call_data)
|
|
Packit |
b099d7 |
Widget widget;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[1];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[0], XmNentryVerticalAlignment, (unsigned char) client_data);
|
|
Packit |
b099d7 |
XtSetValues(RowColumn, args, 1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ColumnsCB(widget, client_data, call_data)
|
|
Packit |
b099d7 |
Widget widget;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[1];
|
|
Packit |
b099d7 |
int value;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[0], XmNvalue, &value);
|
|
Packit |
b099d7 |
XtGetValues(Scale, args, 1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[0], XmNnumColumns, value);
|
|
Packit |
b099d7 |
XtSetValues(RowColumn, args, 1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|