One more thing: Collection>>flatCollect: is already in Pharo3, so you do not need it in the Spotlight package anymore :) Doru On Tue, Dec 31, 2013 at 11:56 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi Sean,
Thanks for this! I wanted a widget like this for a long time.
Indeed, Ben worked on a similar idea, but I think your rendering works much better and your code is at the Morphic level. It would certainly be interesting to join forces here.
I reviewed a bit your code. Here is what I liked: - I like it that you have explicit models for each section. - I like the rendering of the sections. - I like the Announcements. - I like the fluent API for defining results.
Here is what I think could be improved: - Computing the result list should not block the UI (it can take long). - The amount of items in a section should be limited and if there are more of them they should be seen in a separate list or something like that. The idea would be to limit the vertical size of the widget. - The input text should be a field (so, no enter should be allowed). - The widget should be dismissible with Esc. - The list of results should not allow editing (it now does so). - Pressing the up/down arrows should move in the list. Any other typed character should continue modifying the text field area. - The first element in the list should be selected all the time. Like this, you can type and then press Enter without using arrows and the mouse. - "SpotlightCompletionExample open" does not seem work.
What do you say? I would be happy to review more code.
Cheers, Doru
On Mon, Dec 30, 2013 at 3:23 PM, Sean DeNigris <sean@clipperadams.com>wrote:
I needed an entry completion with groups, like Mac's Spotlight. While I was at it, I figured it would also be useful as a UI for the existing Spotlight. So I made a SpotlightMorph, which is a very Mac-like stand-alone Morph, which is a textField + results morph, and an adaptor for EntryCompetion, SpotlightEntryCompletion, which can be passed to #entryCompletion:
A short screencast will be available at https://vimeo.com/82953583 in about 45 minutes.
And here's a screenshot for the impatient ;)
To load (tested in Pharo 2.0 latest): Gofer it smalltalkhubUser: 'SeanDeNigris' project: 'SeansPlayground'; package: 'Spotlight'; load.
Then try: SpotlightCompletionExample open. or SpotlightMorphExample exampleFileSearch. or SpotlightMorphExample exampleSmalltalkSearch.
-- www.tudorgirba.com
"Every thing has its own flow"
-- www.tudorgirba.com "Every thing has its own flow"