|
From: Joe E. <jen...@fl...> - 2005-02-24 20:57:29
|
We've had a progress bar widget for a while now,
but it's lacking documentation and is missing a few
features. Some things I can think of that it needs:
+ An "indeterminate" (aka "barber-pole") mode. Currently
only the "determinate" (aka "thermometer") mode is supported.
Note that "barber-pole" mode doesn't always look like
a barber pole; Windows and GTK+ display a rectangle that
bounces back and forth instead.
+ Linked -variables. The current implementation has a
-variable option, but it goes in the wrong direction --
setting the progress bar updates the -variable, but
setting the variable doesn't change the widget value.
+ Animation. On Aqua and on some KDE themes (depending on
the user's preferred eye candy level) thermometer-style
progress bars have an additional pulsing/throbbing effect,
presumably to let the user know that the program hasn't
locked up even if the bar isn't otherwise moving.
Michael Kirkham (muonics) has a patch that implements this
on OSX.
Anyway, I've put up another strawmanpage describing a
possible interface:
<URL: http://tktable.sourceforge.net/tile/doc/progress.html >
Questions: Are the 'set' and 'get' methods really needed?
They're equivalent to [$w configure -value] and [$w cget -value],
respectively; or you can just access the linked -variable.
And if so, would a 'step' method be useful for indeterminate
progress bars, where [$w step] is equivalent to:
$w configure -value [expr {[$w cget -value] + [$w cget -stepsize]}]
or
incr $linkedVariable $stepSize
Anything else missing?
The current implementation also has -font, -foreground,
and -showvalue options (which don't do anything at the moment);
and -command and -width options, which I don't think are
needed either -- -width should be taken from the style,
and -command isn't really useful for output-only widgets
like this one.
--Joe English
jen...@fl...
|