diff -r 6ad1f853d2e9 -r f803a14907b4 FlyByWindowInformation.st --- a/FlyByWindowInformation.st Sat Nov 15 13:16:45 2008 +0100 +++ b/FlyByWindowInformation.st Wed Nov 26 16:32:16 2008 +0100 @@ -50,35 +50,47 @@ ! keyPress:key x:x y:y view:aView - |obj action| + |obj action lcKey| key == #Escape ifTrue:[ self stop. ^ true ]. - key asLowercase == $a ifTrue:[ - obj := lastApplication - ]. - key asLowercase == $o ifTrue:[ - obj := lastView model - ]. - key asLowercase == $m ifTrue:[ - obj := lastApplication masterApplication + key == $? ifTrue:[ + [ + WindowTreeView openOn:(lastView topView) initialSelection:lastView. + ] fork. + self stop. + ^ true. ]. - key asLowercase == $v ifTrue:[ - obj := lastView - ]. - key asLowercase == $t ifTrue:[ - obj := lastView topView - ]. - obj notNil ifTrue:[ - key isLowercase ifTrue:[ - action := [ obj inspect ]. - ] ifFalse:[ - action := [ obj browse ]. + + key isCharacter ifTrue:[ + lcKey := key asLowercase. + + lcKey == $a ifTrue:[ + obj := lastApplication + ]. + lcKey == $o ifTrue:[ + obj := lastView model + ]. + lcKey == $m ifTrue:[ + obj := lastApplication masterApplication ]. - action forkAt:8. + lcKey == $v ifTrue:[ + obj := lastView + ]. + lcKey == $t ifTrue:[ + obj := lastView topView + ]. + obj notNil ifTrue:[ + key isLowercase ifTrue:[ + action := [ obj inspect ]. + ] ifFalse:[ + action := [ obj browse ]. + ]. + action forkAt:8. + ]. ]. ^ true @@ -125,6 +137,7 @@ s cr. s nextPutLine:'Press:'. + s nextPutLine:' ? to show the viewtree'. s nextPutLine:' v to inspect view (V to browse)'. modelToInspect notNil ifTrue:[ s nextPutLine:' o to inspect model (O to browse)'.