--- a/UIPainterView.st Wed Feb 17 12:35:34 1999 +0100
+++ b/UIPainterView.st Wed Feb 17 21:15:58 1999 +0100
@@ -158,34 +158,44 @@
!
selectNames:aStringOrCollection
- |prop coll s|
+ |prop coll s n newSel|
+
+ (aStringOrCollection size == 0) ifTrue:[
+ newSel := nil.
+ ] ifFalse:[
+ (s := aStringOrCollection) isString ifFalse:[
+ s size == 1 ifTrue:[
+ s := s first
+ ] ifFalse:[
+ coll := OrderedCollection new.
- (aStringOrCollection isNil or:[aStringOrCollection isEmpty]) ifTrue:[
- ^ self select:nil
+ s do:[:aName|
+ (prop := self propertyOfName:aName) notNil ifTrue:[
+ coll add:(prop view)
+ ]
+ ].
+ (n := coll size) == 1 ifTrue:[
+ newSel := coll at:1
+ ] ifFalse:[
+ n == 0 ifTrue:[
+ newSel := nil
+ ] ifFalse:[
+ newSel := coll
+ ]
+ ].
+ ^ self select:newSel.
+ ]
+ ].
+
+ prop := self propertyOfName:s.
+ prop isNil ifTrue:[
+ newSel := nil
+ ] ifFalse:[
+ newSel := prop view
+ ].
].
- (s := aStringOrCollection) isString ifFalse:[
- s size == 1 ifTrue:[
- s := s first
- ] ifFalse:[
- coll := OrderedCollection new.
-
- s do:[:aName|
- (prop := self propertyOfName:aName) notNil ifTrue:[
- coll add:(prop view)
- ]
- ].
- coll size == 1 ifTrue:[ ^ self select:(coll at:1) ].
- coll size == 0 ifTrue:[ ^ self select:nil ].
-
- ^ self select:coll.
- ]
- ].
-
- prop := self propertyOfName:s.
- prop isNil ifTrue:[^ self select:nil]
- ifFalse:[^ self select:(prop view)]
-
+ ^ self select:newSel
! !
!UIPainterView methodsFor:'change & update'!