Re: XForms: redrawing and freezing

Steve Lamont (spl@szechuan.ucsd.edu)
Sun, 19 Jul 98 15:19:22 PDT

# To subscribers of the xforms list from spl@szechuan.ucsd.edu (Steve Lamont) :

> I have a form with about 300 objects on it.

That's rather a lot, isn't it?

> Under certain circumstances, I have to reset attributes and sometimes
> even visibility of about one third of them. The changed objects are
> gathered into 8 groups (not using fl_bgn_group, just "visually
> arranged").

Do all of them have to be visible simultaneously? It might be that
you could use a TabbedFolder object to both simplify the display and
to ease the burden on XForms and X wrt object handling.

Other than that, I'm not sure there's a way around your problem.

> ps. In addition, two of the objects that are altered are *not* redrawn
> correctly (or rather, fully), and this isn't fixed by adding XSync,
> XFlush or fl_redraw_object() calls. Both are counters, and in both
> cases, neither the labels nor any of the increment/decrement buttons
> are redrawn. Moving the mouse over the area where the label should be
> will cause the buttons to reappear, but only if there is some
> interactions with the object will the label be redrawn. This seems
> like a bug, but I'm willing to bet its something I'm doing/not
> doing. This is a very asynchronous program (its gets SIGALRM every
> 1/100th second).

Are you making XForms calls from within your SIGALRM handler? If so,
this will cause all sorts of badness, including inexplicable crashes,
etc.

If you need to make updates of the form in response to the SIGALRM,
should use the fl_add_signal_callback() interface to register a
callback handler. This callback will be invoked by the XForms main
loop shortly after the signal occurs (if this delay is unacceptable,
since, as you probably know, you don't want to be programming under
Unix but under some real time OS anyhow since, under Unix, signals,
including SIGALRM, are delivered somewhat unreliably).

spl
_________________________________________________
To unsubscribe, send the message "unsubscribe" to
xforms-request@bob.usuf2.usuhs.mil or see
http://bob.usuf2.usuhs.mil/mailserv/xforms.html
XForms Home Page: http://bragg.phys.uwm.edu/xforms
List Archive: http://bob.usuf2.usuhs.mil/mailserv/list-archives/