[Pkg] The Trunk: Morphic-kb.410.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Apr 5 14:23:38 UTC 2010
Balázs Kósi uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-kb.410.mcz
==================== Summary ====================
Name: Morphic-kb.410
Author: kb
Time: 5 April 2010, 4:22:43.288 pm
UUID: e7381b65-efe2-470b-8388-840148e7c55a
Ancestors: Morphic-cmm.409
- SearchBarMorph >> smartSearch: retains keyboard focus if no match was found.
=============== Diff against Morphic-cmm.409 ===============
Item was changed:
----- Method: SearchBarMorph>>initialize (in category 'initialize') -----
initialize
super initialize.
text := Text new.
backgroundColor := TranslucentColor gray alpha: 0.3.
self width: 200.
+ self crAction: (MessageSend receiver: self selector: #smartSearch:).
- self crAction: (MessageSend receiver: self selector: #smartSearch).
self setBalloonText: 'Searches for globals and methods'.!
Item was added:
+ ----- Method: SearchBarMorph>>smartSearch: (in category 'search') -----
+ smartSearch: evt
+ "Take the user input and perform an appropriate search"
+ | input newContents |
+ input := self contents asString ifEmpty:[^self].
+ (Smalltalk bindingOf: input) ifNotNil:[:assoc| | global |
+ "It's a global or a class"
+ global := assoc value.
+ ^ToolSet browse: (global isBehavior ifTrue:[global] ifFalse:[global class]) selector: nil.
+ ].
+ (SystemNavigation new allImplementorsOf: input asSymbol) ifNotEmpty:[:list|
+ ^SystemNavigation new
+ browseMessageList: list
+ name: 'Implementors of ' , input
+ ].
+ input first isUppercase ifTrue:[
+ (Utilities classFromPattern: input withCaption: '') ifNotNil:[:aClass|
+ ^ToolSet browse: aClass selector: nil.
+ ].
+ ] ifFalse:[
+ ^ToolSet default browseMessageNames: input
+ ].
+ newContents := input, ' -- not found.'.
+ self
+ newContents: newContents;
+ selectFrom: input size+1 to: newContents size.
+ evt hand newKeyboardFocus: self!
Item was changed:
----- Method: TextMorph>>keyStroke: (in category 'event handling') -----
keyStroke: evt
"Handle a keystroke event."
+
- | action |
self resetBlinkCursor. "don't blink during type-in"
+ evt keyValue = 13 ifTrue: [ "CR - check for special action"
+ self crAction ifNotNil: [ :action |
- evt keyValue = 13 ifTrue:["CR - check for special action"
- action := self crAction.
- action ifNotNil:[
"Note: Code below assumes that this was some
input field reacting on CR. Break the keyboard
focus so that the receiver can be safely deleted."
evt hand newKeyboardFocus: nil.
+ ^action valueWithEnoughArguments: { evt } ] ].
+ self handleInteraction: [ editor readKeyboard ] fromEvent: evt.
- ^action value]].
- self handleInteraction: [editor readKeyboard] fromEvent: evt.
"self updateFromParagraph."
super keyStroke: evt "sends to keyStroke event handler, if any"!
Item was removed:
- ----- Method: SearchBarMorph>>smartSearch (in category 'search') -----
- smartSearch
- "Take the user input and perform an appropriate search"
- | input newContents |
- input := self contents asString ifEmpty:[^self].
- (Smalltalk bindingOf: input) ifNotNil:[:assoc| | global |
- "It's a global or a class"
- global := assoc value.
- ^ToolSet browse: (global isBehavior ifTrue:[global] ifFalse:[global class]) selector: nil.
- ].
- (SystemNavigation new allImplementorsOf: input asSymbol) ifNotEmpty:[:list|
- ^SystemNavigation new
- browseMessageList: list
- name: 'Implementors of ' , input
- ].
- input first isUppercase ifTrue:[
- (Utilities classFromPattern: input withCaption: '') ifNotNil:[:aClass|
- ^ToolSet browse: aClass selector: nil.
- ].
- ] ifFalse:[
- ^ToolSet default browseMessageNames: input
- ].
- newContents := input, ' -- not found.'.
- self
- newContents: newContents;
- selectFrom: input size+1 to: newContents size!
More information about the Packages
mailing list