--- a/UIPainter.st Thu Aug 07 16:16:59 2008 +0200
+++ b/UIPainter.st Thu Aug 07 17:04:18 2008 +0200
@@ -5490,13 +5490,25 @@
addProperty:aProperty
"adds a new item"
- |parent|
+ ^ self addProperty:aProperty beforeIndex:nil.
+!
+
+addProperty:aProperty beforeIndex:anIndex
+ "adds a new item"
+
+ |parent treeItem index|
parent := self detectItemCorespondingToView:(aProperty view superView).
-
- parent notNil ifTrue:[
- model add:(TreeItem new contents:aProperty) below:parent
- ]
+ parent isNil ifTrue:[^ nil ].
+
+ treeItem := TreeItem new contents:aProperty.
+ index := parent numberOfChildren + 1.
+
+ (anIndex notNil and:[anIndex > 0]) ifTrue:[
+ index := anIndex min:index.
+ ].
+ model add:treeItem beforeIndex:index below:parent.
+ ^ treeItem
!
removeAll