Hi Jura,

I had a short look (kind of hard at the moment) and I noticed that Ctrl+tab was 
working to switch the focus around correctly, but maybe in an incorrect order. 
This could be fixed by adding the morphs at creation time in a different order. 
However, Ctrl+Shift+Tab wasn't working :( And tab has no effect in the filter 
(neither focus change nor text input).

Your solution is a bit heavy handed for me, I was thinking of something more 
like:

searchWidget onKeyCombination: Character tab asKeyCombination do: [self 
giveFocusToPackage].

Don't forget that, as you're touching the focus tab order, you have a duty to 
make it complete (i.e. all widgets can be tabbed to starting from any widget).

Thierry

________________________________
De : Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de Juraj Kubelka 
[juraj.kube...@gmail.com]
Date d'envoi : vendredi 27 décembre 2013 18:49
À : Pharo Development List
Objet : Re: [Pharo-dev] Nautilus: tab key change focus

Thanks for the advice.

I have just tried to add my own key stroke handling and I face interesting 
issue. The first time I enter the package filter input field, everything works. 
When I press down-key, it change focus to package list. But since then whenever 
I enter again the filter, any key stroke change the focus back to package list. 
I do not see any glue right now. The code is like this:

buildPackageSearch
"It is an search dialog which filters package list"

searchWidget := SearchMorph new
model: self;
updateSelector: #packageSearchUpdate:;
ghostText: 'Type: Pkg1|^Pkg2|Pk.*Core$';
list: SharedValueHolder instance;
useSelectionIndex: false;
setIndexSelector: #packageSearchUpdate:;
keystrokeSelector: #packageSearchKeyStroke:;
yourself.
^ searchWidget

packageSearchKeyStroke: anEvent
(anEvent keyCharacter = Character arrowDown)
ifTrue: [ self giveFocusToPackage. ^ true ].
^ false

Thanks.
Jura


Reply via email to