The Trunk: Morphic-mt.985.mcz

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

The Trunk: Morphic-mt.985.mcz

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

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

Name: Morphic-mt.985
Author: mt
Time: 27 May 2015, 2:13:49.6 pm
UUID: c315a5f2-a6af-d34c-809a-c14702a96423
Ancestors: Morphic-mt.984

Fixes a bug with the selection highlight in ObjectExplorer (and all other tools that use a tree widget).

See: http://forum.world.st/BUG-ObjectExplorer-menu-td4827121.html

=============== Diff against Morphic-mt.984 ===============

Item was changed:
  ----- Method: SimpleHierarchicalListMorph>>mouseDown: (in category 'event handling') -----
  mouseDown: evt
  | aMorph selectors |
  aMorph := self itemFromPoint: evt position.
  evt yellowButtonPressed  "First check for option (menu) click"
  ifTrue: [
  (PluggableListMorph menuRequestUpdatesSelection and: [model okToChange]) ifTrue: [
  aMorph == selectedMorph
  ifFalse: [self setSelectedMorph: aMorph]].
  ^ self yellowButtonActivity: evt shiftPressed].
  (aMorph notNil and:[aMorph inToggleArea: (aMorph point: evt position from: self)])
  ifTrue:[^self toggleExpandedState: aMorph event: evt].
  aMorph ifNil:[^super mouseDown: evt].
+
  aMorph highlightForMouseDown.
+ self setProperty: #highlightedMorph toValue: aMorph.
+
  selectors := Array
  with: #click:
  with: nil
  with: nil
  with: (self dragEnabled ifTrue:[#startDrag:] ifFalse:[nil]).
  evt hand waitForClicksOrDrag: self event: evt selectors: selectors threshold: HandMorph dragThreshold "pixels".!

Item was changed:
  ----- Method: SimpleHierarchicalListMorph>>mouseUp: (in category 'event handling') -----
+ mouseUp: event
+  
+ | clickedMorph highlightedMorph |
+ clickedMorph := self itemFromPoint: event position.
+ highlightedMorph := self valueOfProperty: #highlightedMorph ifAbsent: [].
+ self removeProperty: #highlightedMorph.
+
+ ((model okToChange not
+ or: [clickedMorph isNil])
+ or: [clickedMorph ~~ highlightedMorph]) ifTrue: [
+ highlightedMorph ifNotNil: [:m | m highlightForMouseDown: false].
+ ^ self].
+
+ ((autoDeselect isNil or: [autoDeselect]) and: [clickedMorph == selectedMorph])
- mouseUp: event
- | aMorph |
- aMorph := self itemFromPoint: event position.
- aMorph ifNil: [^self].
- aMorph highlightedForMouseDown ifFalse: [^self].
- aMorph highlightForMouseDown: false.
- model okToChange ifFalse: [^self].
- "No change if model is locked"
- ((autoDeselect isNil or: [autoDeselect]) and: [aMorph == selectedMorph])
  ifTrue: [self setSelectedMorph: nil]
+ ifFalse: [self setSelectedMorph: clickedMorph].
+
+ highlightedMorph highlightForMouseDown: false.
- ifFalse: [self setSelectedMorph: aMorph].
  event hand newKeyboardFocus: self.
+ Cursor normal show.!
- Cursor normal show!