>> Or does the user need to scan the list of near-matches for some reason?
Yes, exactly. When you have 20K customer records, you don't remember how each was entered, or how spelled. You may need to type a letter or 2 and then scroll the list. It may take a few tries: Smith Company? Smyth Company? The Smith Company? Josephine Smith & Co? Our customer database has dozens of duplicate names, so they might be entered as Smith Company NY and Smith Company CA. Sometimes one has no idea what's in the list, so it really helps to be able to scroll. A popup is probably better for that, but not when in hands-on-keyboard mode. NSComboBox is so close. That one sentence in the docs is so tantalizing! Thanks, Casey McDermott Turtle Creek Software http://www.turtlesoft.com 607 220-4514 -------------------------------------------- On Wed, 7/25/18, Quincey Morris <quinceymor...@rivergatesoftware.com> wrote: Subject: Re: NSComboBox To: "Casey McDermott" <supp...@turtlesoft.com> Cc: "Cocoa-Dev List" <cocoa-dev@lists.apple.com> Date: Wednesday, July 25, 2018, 7:55 PM On Jul 25, 2018, at 15:40 , Casey McDermott <supp...@turtlesoft.com> wrote: > > I forgot to mention that the lists may contain 10,000s of items. Maybe 100,000s. > Typing to select from NSPopUpButton works OK for short lists. I just made a test > popup with 300 items and it's already awkward. 10K would be absurd. > > These are business records, and users may data enter hundreds a day. They want > to tab, type a few letters to select a customer, tab to the next field, type a bit to > select an inventory item, etc. Type a customer that doesn't exist and it should beep > and ignore the keystrokes. If they need to enter a new customer, it's a right-click, > then a panel to enter more than just the name. > > Our current interface does use popup buttons for some things, but people complain > about them. They don't want to take hands off keyboard. We plan to convert those > to combo boxes so it can be completely mouseless. If that’s your use case, there’s something else gong on at the heart of this. What value — if there are tens of thousands of items — is there in popping anything up at all, whether it’s a combo-box-style popup or a menu-style popup? It seems that you should just validate the text field every stroke, and provide the rest of the field as soon as what is typed becomes unique. Or does the user need to scan the list of near-matches for some reason? Another approach to this might be to be something like autocomplete, but where you don’t start offering autocompletions until enough text has been entered to limit the possibilities to a manageable number of choices. Text fields have built-in support for autocomplete, although IIRC it gets a bit harder if the completions are context sensitive — if typing more characters changes the list of possibilities, rather than just limiting it. (Xcode’s autocompletions are content sensitive in this sense, but Xcode has its own implementation unrelated to NSTextField’s.) Or, use a table view next to the text field, and programmatically scroll to the area of the list that matches what the user has typed so far. NSTableView is essentially optimized for displaying small fragments of huge lists, so it might be better than trying to stuff all those entries in a combo box. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com