[Pkg] The Trunk: Morphic-ul.471.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Oct 27 22:35:29 UTC 2010


Levente Uzonyi uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ul.471.mcz

==================== Summary ====================

Name: Morphic-ul.471
Author: ul
Time: 27 October 2010, 4:10:29.885 am
UUID: 4b5b5062-6173-234b-8895-029389451407
Ancestors: Morphic-eem.470

- integration of the code completion hook to TextMorph >> #keyStroke: using ToolSet
- added TextEditor >> #blinkPrevParen: for compatibility with code completion tools
- TextEditor >> #blinkPrevParen uses #blinkPrevParen:

=============== Diff against Morphic-eem.470 ===============

Item was changed:
  ----- Method: TextEditor>>blinkPrevParen (in category 'parenblinking') -----
  blinkPrevParen
+ 	
+ 	self blinkPrevParen: sensor keyboardPeek!
- 	| openDelimiter closeDelimiter level string here hereChar |
- 	string := paragraph text string.
- 	here := pointBlock stringIndex.
- 	openDelimiter := sensor keyboardPeek.
- 	closeDelimiter := '([{' at: (')]}' indexOf: openDelimiter).
- 	level := 1.
- 	[level > 0 and: [here > 2]]
- 		whileTrue:
- 			[hereChar := string at: (here := here - 1).
- 			hereChar = closeDelimiter
- 				ifTrue:
- 					[level := level - 1.
- 					level = 0
- 						ifTrue: [^ self blinkParenAt: here]]
- 				ifFalse:
- 					[hereChar = openDelimiter
- 						ifTrue: [level := level + 1]]]!

Item was added:
+ ----- Method: TextEditor>>blinkPrevParen: (in category 'parenblinking') -----
+ blinkPrevParen: aCharacter
+ 
+ 	| openDelimiter closeDelimiter level string here hereChar |
+ 	string := paragraph text string.
+ 	here := pointBlock stringIndex.
+ 	openDelimiter := aCharacter.
+ 	closeDelimiter := '([{' at: (')]}' indexOf: openDelimiter).
+ 	level := 1.
+ 	[level > 0 and: [here > 2]]
+ 		whileTrue:
+ 			[hereChar := string at: (here := here - 1).
+ 			hereChar = closeDelimiter
+ 				ifTrue:
+ 					[level := level - 1.
+ 					level = 0
+ 						ifTrue: [^ self blinkParenAt: here]]
+ 				ifFalse:
+ 					[hereChar = openDelimiter
+ 						ifTrue: [level := level + 1]]]!

Item was changed:
  ----- Method: TextMorph>>keyStroke: (in category 'event handling') -----
  keyStroke: evt
  	"Handle a keystroke event."
  	
  	self resetBlinkCursor. "don't blink during type-in"
+ 	ToolSet 
+ 		codeCompletionAround: [
+ 			evt keyValue = 13 ifTrue: [ "CR - check for special action"
+ 				self crAction ifNotNil: [ :action |
+ 					"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.
+ 			"self updateFromParagraph."
+ 			super keyStroke: evt  "sends to keyStroke event handler, if any" ]
+ 		textMorph: self
+ 		keyStroke: evt!
- 	evt keyValue = 13 ifTrue: [ "CR - check for special action"
- 		self crAction ifNotNil: [ :action |
- 			"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.
- 	"self updateFromParagraph."
- 	super keyStroke: evt  "sends to keyStroke event handler, if any"!



More information about the Packages mailing list