[squeak-dev] The Trunk: Morphic-tonyg.1899.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Feb 16 14:44:28 UTC 2022
Tony Garnock-Jones uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-tonyg.1899.mcz
==================== Summary ====================
Name: Morphic-tonyg.1899
Author: tonyg
Time: 16 February 2022, 3:33:03.719368 pm
UUID: 0c424705-35f2-4062-a306-8bab3d613ee9
Ancestors: Morphic-mt.1898
Remove unwanted reimplementations of `handleMouseMove:` in PluggableListMorph and SimpleHierarchicalListMorph.
Looking at the available history, it seems that `handleMouseMove:` was copied-and-modified in these two classes from the main Morph implementation sometime before `handlesMouseMove:` was introduced to the image.
Compared to Morph's implementation, the list morphs both update some notion of a hover row, and then decide whether or not to proceed in a way that can be captured by a `handlesMouseMove:` implementation.
This change therefore changes the two classes' `handleMouseMove:` implementations to delegate back to Morph's implementation, after managing their hover row logic. It also moves the custom "should we proceed?" logic into `handlesMouseMove:` implementations.
=============== Diff against Morphic-mt.1898 ===============
Item was changed:
- SystemOrganization addCategory: #'Morphic-Balloon'!
- SystemOrganization addCategory: #'Morphic-Basic'!
SystemOrganization addCategory: #'Morphic-Basic-NewCurve'!
+ SystemOrganization addCategory: #'Morphic-Pluggable Widgets'!
- SystemOrganization addCategory: #'Morphic-Borders'!
SystemOrganization addCategory: #'Morphic-Collections-Arrayed'!
+ SystemOrganization addCategory: #'Morphic-Widgets'!
- SystemOrganization addCategory: #'Morphic-Demo'!
- SystemOrganization addCategory: #'Morphic-Events'!
SystemOrganization addCategory: #'Morphic-Explorer'!
+ SystemOrganization addCategory: #'Morphic-Borders'!
- SystemOrganization addCategory: #'Morphic-Kernel'!
- SystemOrganization addCategory: #'Morphic-Layouts'!
- SystemOrganization addCategory: #'Morphic-Menus'!
SystemOrganization addCategory: #'Morphic-Menus-DockingBar'!
+ SystemOrganization addCategory: #'Morphic-Menus'!
- SystemOrganization addCategory: #'Morphic-Pluggable Widgets'!
- SystemOrganization addCategory: #'Morphic-Sound-Synthesis'!
SystemOrganization addCategory: #'Morphic-Support'!
- SystemOrganization addCategory: #'Morphic-Text Support'!
SystemOrganization addCategory: #'Morphic-TrueType'!
+ SystemOrganization addCategory: #'Morphic-Basic'!
+ SystemOrganization addCategory: #'Morphic-Demo'!
- SystemOrganization addCategory: #'Morphic-Widgets'!
SystemOrganization addCategory: #'Morphic-Windows'!
+ SystemOrganization addCategory: #'Morphic-Balloon'!
+ SystemOrganization addCategory: #'Morphic-Kernel'!
+ SystemOrganization addCategory: #'Morphic-Sound-Synthesis'!
SystemOrganization addCategory: #'Morphic-Worlds'!
+ SystemOrganization addCategory: #'Morphic-Layouts'!
+ SystemOrganization addCategory: #'Morphic-Text Support'!
+ SystemOrganization addCategory: #'Morphic-Events'!
Item was changed:
----- Method: PluggableListMorph>>handleMouseMove: (in category 'events-processing') -----
handleMouseMove: anEvent
+ anEvent wasHandled ifFalse: [self hoverRow: (self rowAtLocation: anEvent position)].
+ super handleMouseMove: anEvent.!
- "Reimplemented because we really want #mouseMove when a morph is dragged around"
- anEvent wasHandled ifTrue:[^self]. "not interested"
- self hoverRow: (self rowAtLocation: anEvent position).
- (anEvent anyButtonPressed and:[anEvent hand mouseFocus == self]) ifFalse:[^self].
- anEvent wasHandled: true.
- self mouseMove: anEvent.
- (self handlesMouseStillDown: anEvent) ifTrue:[
- "Step at the new location"
- self startStepping: #handleMouseStillDown:
- at: Time millisecondClockValue
- arguments: {anEvent copy resetHandlerFields}
- stepTime: 1].
- !
Item was added:
+ ----- Method: PluggableListMorph>>handlesMouseMove: (in category 'event handling') -----
+ handlesMouseMove: anEvent
+ ^ anEvent anyButtonPressed and: [anEvent hand mouseFocus == self]!
Item was changed:
----- Method: SimpleHierarchicalListMorph>>handleMouseMove: (in category 'events-processing') -----
handleMouseMove: anEvent
+ anEvent wasHandled ifFalse: [self hoveredMorph: (self itemFromPoint: anEvent position)].
+ super handleMouseMove: anEvent.!
- "Reimplemented because we really want #mouseMove when a morph is dragged around"
- anEvent wasHandled ifTrue:[^self]. "not interested"
- self hoveredMorph: (self itemFromPoint: anEvent position).
- (anEvent anyButtonPressed and:[anEvent hand mouseFocus == self]) ifFalse:[^self].
- anEvent wasHandled: true.
- self mouseMove: anEvent.
- (self handlesMouseStillDown: anEvent) ifTrue:[
- "Step at the new location"
- self startStepping: #handleMouseStillDown:
- at: Time millisecondClockValue
- arguments: {anEvent copy resetHandlerFields}
- stepTime: 1].
- !
Item was added:
+ ----- Method: SimpleHierarchicalListMorph>>handlesMouseMove: (in category 'event handling') -----
+ handlesMouseMove: anEvent
+ ^ anEvent anyButtonPressed and: [anEvent hand mouseFocus == self]!
More information about the Squeak-dev
mailing list
|