jlevy@arisia.Xerox.COM (Jacob Levy) (04/01/89)
Hi,
I grabbed the Xw stuff from ai.toronto.edu and have it up and
running on Sun 3's and 4's. It's great, except that XtGetValues
doesn't seem to do the right thing for these widgets. Here is an
example program and run (on a Sun 3/260, 3.5, with X11R3+purdue2):
Script started on Fri Mar 31 11:33:08 1989
spock:/herbrand/jlevy/xdev <1> cat test.c
#include <stdio.h>
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/cursorfont.h>
#include <X11/StringDefs.h>
/*
* Xt Intrinsic includes
*/
#include <X11/IntrinsicP.h>
#include <X11/Intrinsic.h>
/*
* Inherited stuff from Athena widgets
*/
#include <X11/Label.h>
#include <X11/Shell.h>
/*
* HP X Widgets includes
*/
#include <Xw/Xw.h>
#include <Xw/PButton.h>
long numargs;
Arg args[256];
#define StartArgs numargs = 0
#define MakeArg(n, v){ args[numargs].name = n; \
args[numargs].value = (XtArgVal)(v);\
numargs++; \
}
selected(w, a, d)
Widget w;
caddr_t a;
caddr_t d;
{
long x1, x2, x3, x4, x5;
StartArgs;
MakeArg(XtNx, &x1);
MakeArg(XtNy, &x2);
MakeArg(XtNwidth, &x3);
MakeArg(XtNheight, &x4);
MakeArg(XtNborderWidth, &x5);
XtGetValues(w, args, numargs);
printf("widget %d has geometry %dx%d+%dx%dx%d\n", w, x1, x2, x3, x4, x5);
exit(0);
}
static XtCallbackRec callbackList[] = { {(XtCallbackProc)selected, NULL},
{NULL, NULL} };
main(ac, av)
char **av;
{
Widget top;
Widget p1;
top = XtInitialize("test", "Test", NULL, NULL, &ac, av);
StartArgs;
MakeArg(XtNallowShellResize, True);
XtSetValues(top, args, numargs);
StartArgs;
MakeArg(XtNx, 300);
MakeArg(XtNy, 300);
MakeArg(XtNwidth, 300);
MakeArg(XtNheight, 300);
MakeArg(XtNselect, callbackList);
p1 = XtCreateManagedWidget("pbutton", XwpushButtonWidgetClass, top,
args, numargs);
XtRealizeWidget(top);
XtMainLoop();
}
spock:/herbrand/jlevy/xdev <2> cc -o test test.c -lXw -lXt -lXmu -lX11
spock:/herbrand/jlevy/xdev <3> test
widget 392880 has geometry 0x42392+19670440x19723920x40992
spock:/herbrand/jlevy/xdev <3>
script done on Fri Mar 31 11:33:25 1989
Does anyone know what's wrong? Has anyone encountered this problem
at all? Do you know where to send bug reports to for Xw widgets?
Any help appreciated.
Thanks, --Jacob