Compliments to Sames for the work on Widgetry and the valuable tutorial
material on his blog. DropDownLists are fairly keyboard-friendly already, but still have room for improvement, IMHO. Currently, text is either entered into the InputField or handled by the ListBox. While this makes sense from a programmer's perspective, users will perceive this widget as a single thingie on the screen and expect a more integrated behavior. - I always have to open the ListBox manually. I guess I can "fix" this myself, as soon as I groked the Announcements being sent around, there must be some way to open the ListBox, when the InputField gets the focus. - If I start entering text, then find that I can't remember the exact sequence, I will open the ListBox. Now, to select a list entry by typing, I have to re-enter the beginning which is still being displayed in the InputField above. I'd suggest setting the initial lookup string to the contents of the text field upon opening the ListBox. - If I type "at" the ListBox, there is almost no visual feedback on what I've actually entered. This is annoying when you fat-finger two keys at once and now don't know what has actually been entered. I'd suggest updating the text field such that the lookup term is displayed. Are there any hooks I could patch into to get these modifications? Thanks, s. |
Stefan,
>- I always have to open the ListBox manually. > I guess I can "fix" this myself, as soon as I groked the Announcements > being sent around, there must be some way to open the ListBox, when > the InputField gets the focus. There is no pane command to open the drop down. However, there is one on the Agent: dropDownList agent buttonClicked This will open the drop down. You could then do: dropDownList when: GettingFocus send: #buttonClicked to: dropDownList agent >- If I start entering text, then find that I can't remember the exact > sequence, I will open the ListBox. Now, to select a list entry by typing, > I have to re-enter the beginning which is still being displayed in the > InputField above. > I'd suggest setting the initial lookup string to the contents of the > text field upon opening the ListBox. That's a good idea. Will do. >- If I type "at" the ListBox, there is almost no visual feedback on what > I've actually entered. This is annoying when you fat-finger two keys > at once and now don't know what has actually been entered. > I'd suggest updating the text field such that the lookup term is > displayed. Interesting thought. I'll look into it. And So It Goes Sames ______________________________________________________________________ Samuel S. Shuster [|] VisualWorks Engineering, GUI Project Smalltalk Enables Success -- What Are YOU Using? |
I just love different time zones ... how else can you get high-level
tech support on a Sunday night? Samuel S. Shuster (2007-06-10 14:45): > >- I always have to open the ListBox manually. > > I guess I can "fix" this myself, as soon as I groked the Announcements > > being sent around, there must be some way to open the ListBox, when > > the InputField gets the focus. > > dropDownList when: GettingFocus send: #buttonClicked to: dropDownList agent Thanks, I hoped it would be something like that :-) > >- If I start entering text, then find that I can't remember the exact > > sequence, I will open the ListBox. Now, to select a list entry by typing, > > I have to re-enter the beginning which is still being displayed in the > > InputField above. > > I'd suggest setting the initial lookup string to the contents of the > > text field upon opening the ListBox. > > That's a good idea. Will do. > > >- If I type "at" the ListBox, there is almost no visual feedback on what > > I've actually entered. This is annoying when you fat-finger two keys > > at once and now don't know what has actually been entered. > > I'd suggest updating the text field such that the lookup term is > > displayed. > > Interesting thought. I'll look into it. That's about the only thing in MS Access which I still like after all these years ... the "Combobox" is soooo convenient, and since I'm aiming at replacing a decade-old homegrown Access frontend I will have to provide something similar. I dug around for a while (of course) in the keyboard handling methods associated with ListBox and DropDownList, but could not find a reference back to the InputField. Am I missing something? Thanks, s. |
Stefan,
>I dug around for a while (of course) in the keyboard handling methods >associated with ListBox and DropDownList, but could not find a reference >back to the InputField. Am I missing something? Heheh... Yeah, sort of. DropDownList, SpinButton, MenuButton, RadioButton and CheckBox are all subclasses of ComponentPair. A ComponentPair has a head part and a tail part. For CheckBox and RadioButton, the head part is the Check/Radio. For the rest, the head part is the "Button" part. So, for a DropDownList, the InputField is the tailPart. And So It Goes Sames ______________________________________________________________________ Samuel S. Shuster [|] VisualWorks Engineering, GUI Project Smalltalk Enables Success -- What Are YOU Using? |
On Mon, 11 Jun 2007 11:06:37 -0500
"Samuel S. Shuster" <[hidden email]> wrote: > > DropDownList, SpinButton, MenuButton, RadioButton and CheckBox are all > subclasses of ComponentPair. > > A ComponentPair has a head part and a tail part. For CheckBox and > RadioButton, the head part is the Check/Radio. For the rest, the head > part is the "Button" part. > > So, for a DropDownList, the InputField is the tailPart. Maybe I'm dense, but we seem to be talking about three components in a DropDownList: - InputField - Button - ListBox DropDownList headPart -> Button tailPart -> InputField Now where does the ListBox fit into this? Confused, s. |
Stefan:
> Now where does the ListBox fit into this? It gets created on the fly and put into an ActiveTransient window when requested. When it is open, the ActiveTransient that hosts it is accessible via dropDown. When it is not open, dropDown is nil. And So It Goes Sames ______________________________________________________________________ Samuel S. Shuster [|] VisualWorks Engineering, GUI Project Smalltalk Enables Success -- What Are YOU Using? |
Free forum by Nabble | Edit this page |