djb@cbnews.att.com (David J. Bryant) (08/17/90)
According to the X Toolkit Intrinsics manual, page 90, when a widget has
been made dormant through the use of XtSetSensitive():
"...a widget is considered to be insensitive. If a widget
is insensitive, the Event Manager does not dispatch any
events to the widget with an event type of KeyPress,
KeyRelease, ButtonPress, ButtonRelease, MotionNotify,
EnterNotify, LeaveNotify, FocusIn, or FocusOut."
This is certainly clear, but my question is "does the Event Manager simply
discard these events, or can it be persuaded to propagate them up to some
ancestor of the dormant widget?" The documentation doesn't seem to specify
this anywhere I've been able to spot.
What I'd like to do is use XtSetSensitive() to "deactivate" widgets as
part of interactive direct manipulation. Once widget(s) were desensitized,
the user could "pick" one by clicking a mouse button on it, at which point
the ButtonPress would be received by the widget's parent, who would then
do the appropriate thing (e.g. move, destroy, refresh) to the selected
widget. I realize I could accomplish something like this with "overlay"
windows, but I'm looking for an a better, easier, or more straightforward
way to do this, and I like the visual indication that many desensitized
widgets give.
UUCP: att!cbosgd!djb
David Bryant att!cborion!djb
AT&T Bell Laboratories INTERNET: djb@cbosgd.att.com
Room 1B-256 cborion!djb@att.com
6200 East Broad Street PHONE: (614) 860-4516
Columbus, Ohio 43213 FAX: (614) 868-4302