Re: Thoughts on combo replacement



On Fri, Mar 22, 2002 at 08:39:37AM +0100, ERDI Gergo wrote:
> A menu suggests a static set of options, while a list suggests a dynamic
> one -- which is the case in history combos, since the list always changes
> based on your input.
	
	IIRC (and it might have changed in OS X), the Macintosh
approached this sort of widget from a composite standpoint.  They didn't
have a combo widget, just an entry with a button next to it that popped
up a list of choices.  Even history combos have a menu.  The benefits of
simply using buttons and menus add to consistency for users.  Apple
calls it a "pop-up menu button" or the like.  MacKiDo has a nice
discussion of it at http://www.mackido.com/Interface/ComboBox.html.
	No, I'm not buying "It is good because the Mac does it" logic.
There are actual reasons here.  Even given display styles (which may or
may not be theme controlled), thinking about the underlying operation
makes sense when designing this API.
	Fundamentally we are taking an entry (whether editable or not)
and putting a button next to it that says "Hey, we have some precomputed
choices you might want to look at."  I think an API, and what you can do
with it, should be driven by this paradigm.  The grid-oriented color
picker fits into this, as does an option menu.  Lists are uglier, but
also fit.
	Given that the operations are "pop-up choices" and "set selected
choice", we might want to consider generic API points that allow someone
to set up their widget.  The person provides a widget to display or a
function to call when the combo box's button is pressed, and the API
provides a way for that widget to set the combo box's value when it's
done.  This solves all the strange widgets without grid APIs and other
stuff being added to the main widget.
	A simple set of operations (the "normal" combo box usage)
should, of course, be provided.  Which combo box types (gridded colors,
list-like, menu, whatever) are provided and which are left to the
application can be debated.
	Just $0.02.

Joel

-- 

"You must remember this:
 A kiss is just a kiss,
 A sigh is just a sigh.
 The fundamental rules apply
 As time goes by."

			http://www.jlbec.org/
			jlbec evilplan org



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]