Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.99.mcz==================== Summary ====================
Name: ToolBuilder-Morphic-mt.99
Author: mt
Time: 13 March 2015, 10:33:47.95 am
UUID: 7fbe0317-9cd3-5640-9c1d-467986d1f7e9
Ancestors: ToolBuilder-Morphic-cmm.98
Tree will only filter after a timeout and not after each key press.
Tree filtering considers current selection and its sub-tree now. Supports separate exploartion activities in a large tree structure. (Backspace key will still make all hidden nodes visible again)
=============== Diff against ToolBuilder-Morphic-cmm.98 ===============
Item was changed:
----- Method: PluggableTreeMorph>>basicKeyPressed: (in category 'event handling') -----
basicKeyPressed: aChar
self updateLastKeystrokes: aChar.
model okToChange ifFalse: [^ false].
PluggableListMorph filterableLists
+ ifTrue: [self triggerFilterTree]
- ifTrue: [self filterTree]
ifFalse: [self selectNextMorphByFilter].
^ true!
Item was changed:
----- Method: PluggableTreeMorph>>filterTree (in category 'filtering') -----
filterTree
self hasFilter ifFalse: [
self removeFilter.
^ self].
self indicateFiltered.
"Clean up the tree."
+ (self selectedMorph
+ ifNil: [self roots]
+ ifNotNil: [:m | {m}]) do: [:item |
+ item applyFilter: lastKeystrokes.
+ item visible ifFalse: [
+ "Do not hide the item where the filter is based on."
+ item show.
+ item isExpanded ifTrue: [item toggleExpandedState]]].
+
- self roots do: [:root |
- root applyFilter: lastKeystrokes].
-
self adjustSubmorphPositions.!
Item was added:
+ ----- Method: PluggableTreeMorph>>triggerFilterTree (in category 'filtering') -----
+ triggerFilterTree
+
+ self removeAlarm: #filterTree.
+ self addAlarm: #filterTree after: 300.!