|
From: Jeff H. <je...@Ac...> - 2005-08-22 04:57:04
|
Joe English wrote: > I use the core [scale] widget a lot, and am perpetually > frustrated by various quirks and irregularities, so > I'd like to propose that the [ttk::scale] widget > *not* be completely compatible with it :-) While I tend to agree some widgets could be "fixed", this is one of those that I have a hard time agreeing with. Most of your arguments seem simply preferential, so my gut response is ... making these changes will only make it harder for Tk users to move between tk and ttk. It may well end up being just as head scratching for them each time another person hits the subtle differences. It really comes down to (and this will be true for other widget design decisions at this point), what degree of changes should we make to improve a widget, balanced against the cost of confusion since classic Tk widgets will remain the same. > First: I think it's safe to desupport '-showvalue true'. > No other toolkit uses this visual idiom that I'm aware of, > and there are more effective ways to achieve the same effect. Hmmm ... maybe, but unless you are saying that some native toolkits simply have no support for it, I think we should leave this in. For example, I rewrote the vu::dial widget and realized that it really is a scale with a different look (several looks, actually). There the showing of the value can be very important regards to placement. > The [scale] widget tends to invoke the -command at unusual > times, and it's unpredictable when the linked -variable is > adjusted to match -from, -to, and -resolution. This makes it > difficult to use [scale]s as input/output widgets. > > (Even worse: the behavior has changed between Tk 8.4 and > the current CVS HEAD, and I can't find any clue as to why.) Handling of rounding perhaps? > Vertical [scale]s move the slider from the top of the widget > to the bottom as the value changes between -from and -to. > While this is consistent with Tk's coordinate system -- > the Y axis points downwards -- it runs contrary to user > expectations. IOW: horizontal scales should set -from=min > and -to=max, while vertical scales should set -from=max > and -to=min. The [ttk::scale] widget should rectify this. Hmmm, this seems like a perfect example of how to really confuse people. 2 identically purposed widgets that use different coord systems ... > The scale has "-length" and "-width" options, where "-width" > actually specifies the height of horizontal scales. This > option should be renamed "-thickness" (or left out entirely > and let the theme decide, like the [ttk:scrollbar] does). We need to control the thickness, I would think. This is a good example of changing something to improve clarity, but -width is only confusing here in width/height, whereas length/width is just as valid a name pairing. > Finally: scale widgets and spinboxes have a similar function -- > both are "valuator" widgets -- so it would be a good idea to > make the widget API's as similar as possible. And a dial widget! ;) Jeff |