[comp.windows.x] set_values procedure of LabelWidget

yuki@rei.stars.flab.Fujitsu.JUNET (Hiroyuki YOSHIDA) (10/05/88)

When I tried to XtSetSensitive on a LabelWidget, the widget was forced 
to resize to the default width and height!

Hacking the source codes, I found the reason; it is because the 
set_values procedure (SetValues) of LabelWidget *always changes* the 
width and/or height unless new values of them are not specified.  

Since XtSetSensitive calls XtSetValues to set the sensitive field, it 
makes the current widget become the default size.

It's very curious to me!

(Sorry for my poor English, or Janglish :-)
--
Hiroyuki Yoshida
yuki@flab.Fujitsu.JUNET
yuki%flab.Fujitsu.JUNET@uunet.uu.NET

swick@ATHENA.MIT.EDU (Ralph R. Swick) (10/06/88)

> When I tried to XtSetSensitive on a LabelWidget, the widget was forced 
> to resize to the default width and height!

Ok.  I've relented.  I still claim that whether the label actually
changes size or not is a function of the constraints imposed by the
parent.  However, in R3 Xaw/LabelWidgetClass will have an additional
Boolean resource, XtNresize, to allow you to tell Label to not bother
trying to resize in it's SetValues method.  The default will be True,
to remain compatible with existing applications.