Re: GtkComboBox design -- first draftThis, of course, brings up the somewhat philosophical question of "what is a combo". About the only commonality between all the examples that have been raised so far is that there is a widget of some type with some type of arrow next to, or on it that, when clicked on causes some type of popup.



| This, of course, brings up the somewhat philosophical question of
| "what is a combo". About the only commonality between all the
| examples that have been raised so far is that there is a widget of
| some type with some type of arrow next to, or on it that, when clicked
| on causes some type of popup.

A combo is a behavior pattern; not a true widget per se. Informational dialogs, file selection panels, color selection wheels all fall into that category. What's interesting is that there's little low-level coding involved; these are metawidgets comprised of several pre-written widgets.

The commonality in the different forms of comboboxes, in terms of event handling, etc., will be realized in the "factory" widgets I proposed before. (Factory #1: the list of strings as labels enclosed in a list; Factory #2, the menu with pushbuttons, Factory #3, the grid of iconic boxes)

The differences in can be generalized via ... traits. See: STL. After going nuts, revisit the thought and consider whether I'm right or no.

Some things don't fit into this scheme:

 - The drop down GtkCalender in GnomeDateEdit


Gee, thousands of copies of Quicken sell for the ease of the pulldown calendar. Quick! What's the date of two weeks from next Tuesday? It's not a data validation widget, it's a convenience widget!

Along the same vein, if a ComboBox were to bring up a little calculator, because I don't want to force the user to remember that 20*20 is 400, why not? It too is a non-validating ComboBox...

- Popdowns allowing multiple selection, and an explict "OK" to pop back up. (Use a dialog!)

Okay, I'll use a dialog. What do I care? But!

1. It's more inconvenient for me to program a dialog with 20, 30 checkboxes than one widget with a GList of values. It's also slightly harder to use by touch typists. 2. The users want to see what was selected by looking at a single widget on the main panel (w/o bringing up the dialog)

So, what you are looking at is the pop-up, pop-down, and single-source widget for browsing. Name the usage pattern...
-oo-

I agree with you about the style guide and key/mouse navigation issues. But you take a risk. The code is open, and anyone can write a mutated widget that behaves differently than yours. Market conventions will direct what they do...

--
____               .:.                 ____
Bryan W. Headley - bwheadley earthlink net




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