[squeak-dev] The Trunk: EToys-dtl.314.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 29 00:04:10 UTC 2017


David T. Lewis uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-dtl.314.mcz

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

Name: EToys-dtl.314
Author: dtl
Time: 25 November 2017, 12:18:54.339694 pm
UUID: 5d8ae2a6-a8d1-4c96-acc8-69ef66a4aa81
Ancestors: EToys-dtl.313

Remove references to global World from SyntaxMorph.

Note: #asMorphicSyntaxIn: is required for SyntaxMorph but not implemented in the ParseNode hierarchy. Presumably this should be harvested from an Etoys image.

=============== Diff against EToys-dtl.313 ===============

Item was changed:
  ----- Method: SyntaxMorph>>offerTilesMenuFor:in: (in category 'menus') -----
  offerTilesMenuFor: aReceiver in: aLexiconModel
  	"Offer a menu of tiles for assignment and constants"
  
  	| menu |
  	menu := MenuMorph new addTitle: 'Hand me a tile for...'.
  	menu addLine.
  	menu add: '(accept method now)' target: aLexiconModel selector: #acceptTiles.
  	menu submorphs last color: Color red darker.
  	menu addLine.
  
  	menu add: 'me, by name' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'<me by name>'. aReceiver}.
  	menu add: 'self' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'self'. VariableNode}.
  	menu add: '_   (assignment)' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'<assignment>'. nil}.
  	menu add: '"a Comment"' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'"a comment"\' withCRs. CommentNode}.
  	menu submorphs last color: Color blue.
  	menu add: 'a Number' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'5'. LiteralNode}.
  	menu add: 'a Character' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'$z'. LiteralNode}.
  	menu add: '''abc''' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'''abc'''. LiteralNode}.
  	menu add: 'a Symbol constant' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'#next'. LiteralNode}.
  	menu add: 'true' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'true'. VariableNode}.
  	menu add: 'a Test' target: self  selector: #attachTileForCode:nodeType: 
  				argumentList: {'true ifTrue: [self] ifFalse: [self]'. MessageNode}.
  	menu add: 'a Loop' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'1 to: 10 do: [:index | self]'. MessageNode}.
  	menu add: 'a Block' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'[self]'. BlockNode}.
  	menu add: 'a Class or Global' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'Character'. LiteralVariableNode}.
  	menu add: 'a Reply' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'| temp | temp'. ReturnNode}.
+ 	menu popUpAt: ActiveHand position forHand: ActiveHand in: self world.
- 	menu popUpAt: ActiveHand position forHand: ActiveHand in: World.
  !

Item was changed:
  ----- Method: SyntaxMorph>>offerVarsMenuFor:in: (in category 'menus') -----
  offerVarsMenuFor: aReceiver in: aLexiconModel
  	"Offer a menu of tiles for assignment and constants"
  
  	| menu instVarList cls |
  	menu := MenuMorph new addTitle: 'Hand me a tile for...'.
  	menu addLine.
  	menu add: '(accept method now)' target: aLexiconModel selector: #acceptTiles.
  	menu submorphs last color: Color red darker.
  	menu addLine.
  	menu add: 'new temp variable' target: self selector: #attachTileForCode:nodeType: 
  				argumentList: {'| temp | temp'. TempVariableNode}.
  
  	instVarList := OrderedCollection new.
  	cls := aReceiver class.
  	[instVarList addAllFirst: cls instVarNames.
  	 cls == aLexiconModel limitClass] whileFalse: [cls := cls superclass].
  	instVarList do: [:nn |
  		menu add: nn target: self selector: #instVarTile: argument: nn].
+ 	menu popUpAt: ActiveHand position forHand: ActiveHand in: self world.
- 	menu popUpAt: ActiveHand position forHand: ActiveHand in: World.
  
  !

Item was changed:
  ----- Method: SyntaxMorph>>showMenu: (in category 'menus') -----
  showMenu: evt
  	| menu |
  	menu := MenuMorph new.
  	self rootTile isMethodNode ifTrue:
  		[menu add: 'accept method' target: self selector: #accept.
  		menu addLine.
  
  		menu add: 'new temp variable' target: self selector: #attachTileForCode:nodeType: 
  					argumentList: {'| temp | temp'. TempVariableNode}.
  		menu addLine.
  
  		self parsedInClass allInstVarNames do: [:nn |
  			menu add: nn,' tile' target: self selector: #instVarTile: argument: nn].
  		menu addLine.
  
  		menu add: 'show code' target: self selector: #showCode.
  		menu add: 'try out' target: self selector: #try.
+ 		menu popUpAt: evt hand position forHand: evt hand in: self world].
- 		menu popUpAt: evt hand position forHand: evt hand in: World].
  
  
  
  !



More information about the Squeak-dev mailing list