[comp.windows.x.motif] Trouble with StripChart...

dcj@AUSTIN.LOCKHEED.COM (David Jacobson rimux) (06/28/91)

Greetings,

I'd like to know if anyone has successfully compiled-in and used
the Athena StripChart widget (X11R4) into Motif 1.1 ?  I have made
my attempt but have witnessed some "strange" behavior within my
application.

I should mention that this is the first time I've tried to compile
an Athena widget into a Motif 1.1 application (I may have done this
wrong).  I basically had to get rid of the vendorShellWidgetClass in
Athena's Intrinsic.h because it conflicted with the Motif libs'
vendorShellWidgetClass.  (Comments ??)

Back to my "strange" StripChart behavior:
The widget displays fine, inherits Motif resources fine (XmNtopAttachment,
etc.), and draws lines fine.  It core dumps, however, far down in the
StripChart widget code while I'm carrying on other activity in other
dialogues while the StripChart is concurrently updating ... and only
until it's drawn about 1/4 of its graph.

Q:  Could the activity of the StripChart widget be overloading the
    XEvent queue?

Q:  Is there something inherently wrong with integrating an Athena
    widget into Motif code as I have done?

Q:  Has anybody experienced this behavior?

Any insight would be greatly appreciated.
A code extract follows:

    .
    .
    .

    XtSetArg(args[n],XmNtopAttachment,XmATTACH_FORM);n++;
    XtSetArg(args[n],XmNleftAttachment,XmATTACH_FORM);n++;
    XtSetArg(args[n],XmNrightWidget,label);n++;
    XtSetArg(args[n],XmNrightAttachment,XmATTACH_WIDGET);n++;
    XtSetArg(args[n],XmNleftOffset,5);n++;
    XtSetArg(args[n],XmNtopOffset,5);n++;
    XtSetArg(args[n], XtNupdate, (int) 1);n++;
    XtSetArg(args[n], XtNborderWidth, (Dimension) 2);n++;
    XtSetArg(args[n], XtNminScale, (int) 0);n++;
    XtSetArg(args[n], XtNjumpScroll, (int) 1);n++;
    ThruPutW[i].StripChart =
       XtCreateManagedWidget("ThroughPut_Graph", stripChartWidgetClass,
                        form,args,n);

    XtAddCallback(ThruPutW[i].StripChart, XtNgetValue, getValueProc, i);

    .
    .
    .

void
getValueProc(widget, CoreProcNum, value)
Widget widget;
int CoreProcNum;
caddr_t value;
{
    .
    .
    .

    *(double *) value = (double) ( (long) AnumberAround200 );

}  /* end getValueProc() */

____________________________________ _______________________________________
             .                      |  David C. Jacobson
=========___/ \___    Lockheed      |  (512) 386-4267
   =======`/ . \'  Austin Division  |  INTERNET:
       ===/'   `\       (LAD)       |    dcj@austin.lockheed.com
____________________________________|_______________________________________
`Nothing of what I say has anything to do with anybody in any way.'