Hi,
I've been looking into replacing the Gimp Spin Slider widget (e.g Blur/Opacity in the Fill and Stroke dialog). The widget is licensed under GPLv3 and is the only reason Inkscape as a whole is licensed under GPLv3 rather GPLv2.. The board sometime ago agree that being a GPLv2 program was desirable (I don't remember the exact reasoning).
A normal Gtk Spin Slider (aka Gtk::SpinButton) has an option to show the "progress" of slider, that is the percentage (defined in some arbitrary way) between a minimum and maximum value. This in Gtk 2 is shown as a solid blue bar with width proportional to the value that covers the widget from top to bottom. In Gtk 3 the solid blue bar is replaced by a thin blue bar at the bottom of the widget.
As far as I can tell, the Gimp version of the slider makes three changes:
1. It allows for a label inside the widget. This is a nice space saving feature. The widget handles changing the label text from black to white as the progress bar moves across the label.
2. It allows for a non-uniform scale by adding a "gamma" factor.
3. It adds the ability to drag the progress bar to change the value. If one drags from the top (down arrow cursor) the change follows the cursor directly. If one drags along the bottom half (double headed cursor) the change is finer and relative to the current value.
I've always found that dragging the progress bar to be a bit awkward. One problem is that one can not start the drag at the far right of the widget as that area is reserved for typing a value directly in. Also, the different functionality of starting the drag in the top of the widget vs. the bottom of the widget is confusing.
Since I am rewriting this widget, I can adjust it to what people want:
* Do you want the progress bar?
* If so, should it be the full height of the widget (quite a bit more complicated)?
* Do you want to be able to drag the bar? With one/two methods?
* Any other changes?
Thanks,
Tav