[squeak-dev] The Trunk: Morphic-mt.1183.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jun 21 12:06:13 UTC 2016


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1183.mcz

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

Name: Morphic-mt.1183
Author: mt
Time: 21 June 2016, 2:05:38.378974 pm
UUID: 56a07e0a-08c1-6d4b-8275-9c6a2affdba7
Ancestors: Morphic-mt.1182

Fixes regression in docking bar. A simple click now keeps the menu open again.

=============== Diff against Morphic-mt.1182 ===============

Item was changed:
  ----- Method: DockingBarItemMorph>>mouseDown: (in category 'events') -----
  mouseDown: evt
  	"Handle a mouse down event. Menu items get activated when the mouse is over them."
  
  	(evt shiftPressed and:[self wantsKeyboardFocusOnShiftClick]) ifTrue: [ ^super mouseDown: evt ].  "enable label editing" 
  	isSelected
  		ifTrue: [
- 			evt hand newMouseFocus: nil.
  			owner selectItem: nil event: evt. ]
  		ifFalse: [
- 			(self containsPoint: evt position) ifFalse: [ self halt ].
  			owner activate: evt. "Redirect to menu for valid transitions"
  			owner selectItem: self event: evt. ]
  !

Item was changed:
  ----- Method: DockingBarItemMorph>>mouseUp: (in category 'events') -----
  mouseUp: evt
  	"Handle a mouse up event. Menu items get activated when the mouse is over them. Do nothing if we're not in a 'valid menu transition', meaning that the current hand focus must be aimed at the owning menu."
  	
  	evt hand mouseFocus == owner ifFalse: [ ^self ].
  	self contentString ifNotNil: [
  		self contents: self contentString withMarkers: true inverse: true.
  		self refreshWorld.
+ 		(Delay forMilliseconds: 200) wait ].!
- 		(Delay forMilliseconds: 200) wait ].
- 	owner rootMenu selectItem: nil event: evt.
- 	self invokeWithEvent: evt!

Item was added:
+ ----- Method: DockingBarMorph>>indicateKeyboardFocus (in category 'testing') -----
+ indicateKeyboardFocus
+ 	^ false!

Item was changed:
  ----- Method: DockingBarMorph>>mouseDown: (in category 'events-processing') -----
  mouseDown: evt
  
  	(self fullContainsPoint: evt position) ifFalse: [
  		self selectItem: nil event: evt.
+ 		self deleteIfPopUp: evt ]!
- 		evt hand releaseMouseFocus: self ]!

Item was added:
+ ----- Method: DockingBarMorph>>mouseUp: (in category 'events-processing') -----
+ mouseUp: evt
+ 
+ 	evt hand newMouseFocus: self.!

Item was changed:
  ----- Method: MenuMorph>>mouseMove: (in category 'events') -----
  mouseMove: evt
  	" If the mouse moves over an item not selected, we try to set it as selected.
  	If this happens depends on that the current selected item wants to release
  	its selection. "
  
+ 	"Note: The following does not traverse upwards but it's the best I can do for now"
+ 	popUpOwner ifNotNil:[(popUpOwner activateOwnerMenu: evt) ifTrue: [^ self]].
+ 
  	self selectedItem ifNil: [ ^ self ].
  	(self selectedItem containsPoint: evt position) ifTrue: [ ^ self ].
  	self 
  		selectItem: (
  			self items 
  				detect: [ :each | each containsPoint: evt position ] 
  				ifNone: [ nil ])
  		event: evt.
  
  	"Transfer control to *either* the currently active submenu or the pop up owner, if any. Since the active sub menu is always displayed upfront check it first."	
  	selectedItem ifNotNil: [
  		(selectedItem activateSubmenu: evt) 
  			ifTrue: [ ^self ]
  			ifFalse: [ 
  				(self containsPoint: evt position) ifFalse: [ 
+ 					self selectItem: nil event: evt ] ] ].!
- 					self selectItem: nil event: evt ] ] ].
- 	
- 	"Note: The following does not traverse upwards but it's the best I can do for now"
- 	popUpOwner ifNotNil:[popUpOwner activateOwnerMenu: evt]!

Item was changed:
  ----- Method: MenuMorph>>mouseUp: (in category 'events') -----
  mouseUp: evt
  	"Handle a mouse up event.
  	Note: This might be sent from a modal shell."
  	(self fullContainsPoint: evt position) ifFalse:[
+ 		^ self deleteIfPopUp: evt].
- 		"Mouse up outside. Release eventual focus and delete if pop up."
- 		evt hand releaseMouseFocus: self.
- 		^self deleteIfPopUp: evt].
  	stayUp ifFalse:[
  		"Still in pop-up transition; keep focus"
  		evt hand newMouseFocus: self].!



More information about the Squeak-dev mailing list