The Trunk: EToys-dtl.314.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: EToys-dtl.314.mcz

commits-2
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].
 
 
 
  !