class: HierarchicalListView
authorClaus Gittinger <cg@exept.de>
Tue, 05 Nov 2013 12:32:42 +0100
changeset 4443 c7f5e10435e9
parent 4442 6a48150110be
child 4444 17e98954dad5
class: HierarchicalListView changed: #validateDrawableIconFor:
HierarchicalListView.st
--- a/HierarchicalListView.st	Mon Oct 28 15:16:03 2013 +0100
+++ b/HierarchicalListView.st	Tue Nov 05 12:32:42 2013 +0100
@@ -1049,27 +1049,32 @@
     "
     |width needMore icon maxLevel startOfText oldX newX|
 
-    icon := self iconFor:anItem.
+    Error handle:[:ex |
+        Transcript showCR:'error in redraw'.
+        ^ nil.
+    ] do:[
+        icon := self iconFor:anItem.
+    ].
     icon isNil ifTrue:[^ nil].
 
     width := icon width.
 
     (constantHeight notNil and:[icon height > constantHeight]) ifTrue:[
-	constantHeight := icon height + lineSpacing.
-	self recomputeHeightOfContents.
+        constantHeight := icon height + lineSpacing.
+        self recomputeHeightOfContents.
 
-	width <= imageWidth ifTrue:[
-	    self contentsChanged.
-	    StopRedrawSignal raiseRequest
-	].
+        width <= imageWidth ifTrue:[
+            self contentsChanged.
+            StopRedrawSignal raiseRequest
+        ].
     ] ifFalse:[
-	width <= imageWidth ifTrue:[ ^ icon ].
+        width <= imageWidth ifTrue:[ ^ icon ].
     ].
 
     maxLevel := 1.
 
     self list criticalDo:[
-	self list do:[:el| maxLevel := maxLevel max:(el level) ].
+        self list do:[:el| maxLevel := maxLevel max:(el level) ].
     ].
 
     needMore        := (width - imageWidth) max:2.
@@ -1079,22 +1084,24 @@
     alignTextRightX := alignTextRightX max:newX.
 
     widthOfContents notNil ifTrue:[
-	alignTextRight ifTrue:[
-	    widthOfContents := alignTextRightX + maxWidthOfText
-	] ifFalse:[
-	    widthOfContents := widthOfContents + (newX - oldX)
-	].
-	width           := listRenderer widthFor:anItem.
-	startOfText     := self xVisibleOfTextAtLevel:(anItem level).
-	widthOfContents := widthOfContents max:(startOfText + width).
+        alignTextRight ifTrue:[
+            widthOfContents := alignTextRightX + maxWidthOfText
+        ] ifFalse:[
+            widthOfContents := widthOfContents + (newX - oldX)
+        ].
+        width           := listRenderer widthFor:anItem.
+        startOfText     := self xVisibleOfTextAtLevel:(anItem level).
+        widthOfContents := widthOfContents max:(startOfText + width).
 
-	width > maxWidthOfText ifTrue:[
-	    maxWidthOfText := width
-	].
+        width > maxWidthOfText ifTrue:[
+            maxWidthOfText := width
+        ].
     ].
     self contentsChanged.
     StopRedrawSignal raiseRequest.
     ^ icon
+
+    "Modified: / 05-11-2013 / 12:32:32 / cg"
 ! !
 
 !HierarchicalListView methodsFor:'event handling'!
@@ -1673,10 +1680,10 @@
 !HierarchicalListView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalListView.st,v 1.127 2013-04-18 09:10:45 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalListView.st,v 1.128 2013-11-05 11:32:42 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalListView.st,v 1.127 2013-04-18 09:10:45 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalListView.st,v 1.128 2013-11-05 11:32:42 cg Exp $'
 ! !