# HG changeset patch # User tz # Date 888154562 -3600 # Node ID b3596157f97dde648d6182997ffa7cb97e0c205d # Parent 9ae43992a603df12798d38e885c23010b4b56e5c register the icons and put them into a caching dict diff -r 9ae43992a603 -r b3596157f97d SelTreeV.st --- a/SelTreeV.st Sat Feb 21 19:26:47 1998 +0100 +++ b/SelTreeV.st Sun Feb 22 14:36:02 1998 +0100 @@ -17,7 +17,7 @@ lineColor openIndicator computeResources closeIndicator showRoot extentOpenIndicator extentCloseIndicator showDirectoryIndicator showDirectoryIndicatorForRoot indicatorExtentDiv2 imageOpened - imageClosed imageItem discardMotionEvents' + imageClosed imageItem discardMotionEvents registeredImages' classVariableNames:'ImageOpened ImageClosed ImageItem OpenIndicator CloseIndicator' poolDictionaries:'' category:'Views-Text' @@ -946,14 +946,10 @@ " super initialize. self bitGravity:#NorthWest. - showLines := true. - showRoot := true. - computeResources := true. - showDirectoryIndicator := false. - showDirectoryIndicatorForRoot := true. - discardMotionEvents := false. + showRoot := showDirectoryIndicatorForRoot := showLines := computeResources := true. + showDirectoryIndicator := discardMotionEvents := false. lineMask := Form width:2 height:2 fromArray:#[16rAA 16r55]. - + registeredImages := IdentityDictionary new. textInset := 4. imageInset := 0. "/ set during indication enabled imageWidth := 8. "/ default: will change during startup @@ -1270,18 +1266,19 @@ figureFor:aNode "access figure for a node " - |icon| - (icon := aNode icon) notNil + |unregisteredImage registeredImage| + + (unregisteredImage := aNode icon) notNil ifTrue: [ - icon device ~= device - ifTrue: - [ - icon := icon onDevice: device. - aNode icon: icon. - icon clearMaskedPixels + (registeredImage := registeredImages at: unregisteredImage ifAbsent: nil) isNil + ifTrue: + [ + registeredImage := unregisteredImage on: device. + registeredImage clearMaskedPixels. + registeredImages at: unregisteredImage put: registeredImage ]. - ^icon + ^registeredImage ]. aNode hasChildren ifTrue:[ @@ -1557,5 +1554,5 @@ !SelectionInTreeView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/Attic/SelTreeV.st,v 1.42 1998-02-20 18:35:45 cg Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/Attic/SelTreeV.st,v 1.43 1998-02-22 13:36:02 tz Exp $' ! ! diff -r 9ae43992a603 -r b3596157f97d SelectionInTreeView.st --- a/SelectionInTreeView.st Sat Feb 21 19:26:47 1998 +0100 +++ b/SelectionInTreeView.st Sun Feb 22 14:36:02 1998 +0100 @@ -17,7 +17,7 @@ lineColor openIndicator computeResources closeIndicator showRoot extentOpenIndicator extentCloseIndicator showDirectoryIndicator showDirectoryIndicatorForRoot indicatorExtentDiv2 imageOpened - imageClosed imageItem discardMotionEvents' + imageClosed imageItem discardMotionEvents registeredImages' classVariableNames:'ImageOpened ImageClosed ImageItem OpenIndicator CloseIndicator' poolDictionaries:'' category:'Views-Text' @@ -946,14 +946,10 @@ " super initialize. self bitGravity:#NorthWest. - showLines := true. - showRoot := true. - computeResources := true. - showDirectoryIndicator := false. - showDirectoryIndicatorForRoot := true. - discardMotionEvents := false. + showRoot := showDirectoryIndicatorForRoot := showLines := computeResources := true. + showDirectoryIndicator := discardMotionEvents := false. lineMask := Form width:2 height:2 fromArray:#[16rAA 16r55]. - + registeredImages := IdentityDictionary new. textInset := 4. imageInset := 0. "/ set during indication enabled imageWidth := 8. "/ default: will change during startup @@ -1270,18 +1266,19 @@ figureFor:aNode "access figure for a node " - |icon| - (icon := aNode icon) notNil + |unregisteredImage registeredImage| + + (unregisteredImage := aNode icon) notNil ifTrue: [ - icon device ~= device - ifTrue: - [ - icon := icon onDevice: device. - aNode icon: icon. - icon clearMaskedPixels + (registeredImage := registeredImages at: unregisteredImage ifAbsent: nil) isNil + ifTrue: + [ + registeredImage := unregisteredImage on: device. + registeredImage clearMaskedPixels. + registeredImages at: unregisteredImage put: registeredImage ]. - ^icon + ^registeredImage ]. aNode hasChildren ifTrue:[ @@ -1557,5 +1554,5 @@ !SelectionInTreeView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/SelectionInTreeView.st,v 1.42 1998-02-20 18:35:45 cg Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/SelectionInTreeView.st,v 1.43 1998-02-22 13:36:02 tz Exp $' ! !