In many applications the size of the data, and therefore also the window, has no particular maximum size. This include vector based drawing applications, mathematical graph or fractal viewers and midi sequencers. Since it makes sense to scroll as much as you like in at least one direction, the common scrollbar is not suitable, I believe. I think a new widget is needed. What do other people think? I have seen some different ways to work around this, but none of them seem optimal to me: * The min/max values are set to the smallest/biggest possible (for an integer to have). Thus this might be considered correct, it makes the scrollbar quite useless since it scrolls the canvas WAY too much if you drag it. * The min/max values are constantly changed to be slightly smaller/bigger than the smallest/biggest value selected by the user. This makes the scrollbar shrink (and in some cases also grow again) as you drag it. * The min/max values are constantly changed to reflect a portion of a canvas that contains "something interesting". * The scrollbar doesn't reflect the position and size of the canvas but always snaps back to middle position. * The scrollbar indicates that the whole canvas is visible (and can wherefore not be dragged) and only the stepper buttons can be used to scroll the canvas. * There is no scrolling widget at all, and only the cursor keys and/or the mouse can be used to scroll the canvas. A few applications have special widgets for this kind of thing: * Irix (which uses a motif based gui) has a widget which looks like a wheel (picture attached). The small button is used to reset to the default value. I think this is very good except that it doesn't have stepper buttons, and is not resizable. * Gnumexp (http://numexp.sourcefourge.net/) has a modification of the ruler widget which can be dragged to scroll the window (and also zoom it in a neat way). Note that you drag in the opposite direction compared to the scrollbar. This works very well (at least for a mathematical application like this), but is it appropriate for a more general purpose use? I personally think it's too different from a standard scrollbar, and should rather be a complement to than a replacement for a scrollbar-like widget (what ever that should be).
Attachment:
irix-scrollwheel.png
Description: Binary data