[Pkg] The Trunk: EToys-tfel.248.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Sep 23 13:10:21 UTC 2016


Tim Felgentreff uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-tfel.248.mcz

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

Name: EToys-tfel.248
Author: tfel
Time: 23 September 2016, 3:08:59.783418 pm
UUID: 4e5fd879-c6b4-624b-9380-e84b180eaeb2
Ancestors: EToys-tfel.247

- also don't allow grabbing a tile morph out of the viewer line
- add a convenient way to add a name watcher to a player's morph through the viewer menu

=============== Diff against EToys-tfel.247 ===============

Item was changed:
  ----- Method: Player>>offerViewerMenuFor:event: (in category 'misc') -----
  offerViewerMenuFor: aViewer event: evt
  	"Put up the Viewer menu on behalf of the receiver.  If the shift key is held down, put up the alternate menu. The menu omits the 'add a new variable' item when in eToyFriendly mode, as per request from teachers using Squeakland in 2003 once the button for adding a new variable was added to the viewer"
  
  	| aMenu aWorld  |
  	(evt notNil and: [evt shiftPressed and: [Preferences eToyFriendly not]]) ifTrue:
  		[^ self offerAlternateViewerMenuFor: aViewer event: evt].
  
  	aWorld := aViewer world.
  	aMenu := MenuMorph new defaultTarget: self.
  	aMenu title: self externalName.
  	aMenu addStayUpItem.
  
  	self costume renderedMorph offerCostumeViewerMenu: aMenu.
  
  	Preferences eToyFriendly ifFalse: "exclude this from squeakland-like UI "
  		[aMenu add: 'add a new variable' translated target: self action: #addInstanceVariable.
  		aMenu balloonTextForLastItem: 'Add a new variable to this object and all of its siblings.  You will be asked to supply a name for it.' translated].
  
  	aMenu add: 'add a new script' translated target: aViewer action: #newPermanentScript.
  	aMenu balloonTextForLastItem: 'Add a new script that will work for this object and all of its siblings' translated.
  	aMenu addLine.
  	aMenu add: 'grab this object' translated target: self selector: #grabPlayerIn: argument: aWorld.
  	aMenu balloonTextForLastItem: 'This will actually pick up the object this Viewer is looking at, and hand it to you.  Click the (left) button to drop it' translated.
  
  	aMenu add: 'reveal this object' translated target: self selector: #revealPlayerIn: argument: aWorld.
  	aMenu balloonTextForLastItem: 'If you have misplaced the object that this Viewer is looking at, use this item to (try to) make it visible' translated.
  
  	aMenu add: 'tile representing this object' translated action: #tearOffTileForSelf.
  	aMenu balloonTextForLastItem: 'choose this to obtain a tile which represents the object associated with this script' translated.
  	aMenu addLine.
  
  	aMenu add: 'add a search pane' translated target: aViewer action: #addSearchPane.
+ 	aMenu add: 'Toggle showing name' translated target: self action: #toggleShowName.
  	Preferences eToyFriendly ifFalse: [
  		aMenu addLine.
  		aMenu add: 'more...' translated target: self selector: #offerAlternateViewerMenuFor:event: argumentList: {aViewer. evt}].
  
  	aMenu popUpEvent: evt in: aWorld
  !

Item was added:
+ ----- Method: Player>>toggleShowName (in category 'as yet unclassified') -----
+ toggleShowName
+ 	| watcher |
+ 	self costume ifNil: [^ self].
+ 	watcher := self costume valueOfProperty: #nameWatcher ifAbsent: [nil].
+ 	watcher
+ 		ifNil: [
+ 			watcher := FollowingWatcher new unlabeledForPlayer: self getter: #externalName.
+ 			watcher openInWorld.]
+ 		ifNotNil: [
+ 			watcher delete.
+ 			watcher := nil].
+ 	self costume setProperty: #nameWatcher toValue: watcher.!

Item was changed:
  ----- Method: TileMorph>>aboutToBeGrabbedBy: (in category 'dropping/grabbing') -----
  aboutToBeGrabbedBy: aHand
  	"do not allow grabbing me out of a tile or out of a tile pad morph (which itself is in a tile)"
+ 	^ (self owner isTileLike or:
+ 		[self owner owner notNil and: [self owner owner isTileLike]] or:
+ 		[self owner isAlignmentMorph])
- 	^ (self owner isTileLike or: [self owner owner notNil and: [self owner owner isTileLike]])
  			ifTrue: [nil] ifFalse: [self]
  !



More information about the Packages mailing list