[Pkg] The Trunk: ToolBuilder-Morphic-pre.194.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon May 15 19:36:47 UTC 2017
Patrick Rein uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-pre.194.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-pre.194
Author: pre
Time: 15 May 2017, 9:36:39.991328 pm
UUID: a559fcce-f05d-6044-ba8f-67a103756188
Ancestors: ToolBuilder-Morphic-topa.193
Adds double click capabilities to PluggableTreeMorph
=============== Diff against ToolBuilder-Morphic-topa.193 ===============
Item was changed:
SimpleHierarchicalListMorph subclass: #PluggableTreeMorph
+ instanceVariableNames: 'rootWrappers selectedWrapper getRootsSelector getChildrenSelector hasChildrenSelector getLabelSelector getIconSelector getSelectedPathSelector setSelectedParentSelector getHelpSelector dropItemSelector wantsDropSelector dragItemSelector dragTypeSelector nodeClass lastKeystrokeTime lastKeystrokes dragStartedSelector doubleClickSelector'
- instanceVariableNames: 'rootWrappers selectedWrapper getRootsSelector getChildrenSelector hasChildrenSelector getLabelSelector getIconSelector getSelectedPathSelector setSelectedParentSelector getHelpSelector dropItemSelector wantsDropSelector dragItemSelector dragTypeSelector nodeClass lastKeystrokeTime lastKeystrokes dragStartedSelector'
classVariableNames: 'FilterByLabelsOnly MaximumSearchDepth'
poolDictionaries: ''
category: 'ToolBuilder-Morphic'!
!PluggableTreeMorph commentStamp: 'ar 2/12/2005 04:38' prior: 0!
A pluggable tree morph.!
Item was added:
+ ----- Method: PluggableTreeMorph>>doubleClick: (in category 'event handling') -----
+ doubleClick: evt
+
+ | aMorph |
+ aMorph := self itemFromPoint: evt position.
+ self model perform: self doubleClickSelector with: aMorph withoutListWrapper
+ !
Item was added:
+ ----- Method: PluggableTreeMorph>>doubleClickEnabled (in category 'accessing') -----
+ doubleClickEnabled
+
+ ^ self doubleClickSelector notNil!
Item was added:
+ ----- Method: PluggableTreeMorph>>doubleClickSelector (in category 'accessing') -----
+ doubleClickSelector
+
+ ^ doubleClickSelector!
Item was added:
+ ----- Method: PluggableTreeMorph>>doubleClickSelector: (in category 'accessing') -----
+ doubleClickSelector: anObject
+
+ doubleClickSelector := anObject!
Item was added:
+ ----- Method: PluggableTreeMorph>>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: (self doubleClickEnabled ifTrue: [#doubleClick:] ifFalse: [nil])
+ with: nil
+ with: (self dragEnabled ifTrue:[#startDrag:] ifFalse:[nil]).
+ evt hand waitForClicksOrDrag: self event: evt selectors: selectors threshold: HandMorph dragThreshold "pixels".!
More information about the Packages
mailing list