changed:
authorClaus Gittinger <cg@exept.de>
Mon, 08 Nov 2010 14:07:00 +0100
changeset 2819 89d5ee9bc2d0
parent 2818 6d5a0ea87cb7
child 2820 301557d950e6
changed: #addTab: #buildFromTabList: #loadFromClass:andSelector: allow editing a method which returns a literal array (instead of a tabListItem-collection)
TabListEditor.st
--- a/TabListEditor.st	Wed Nov 03 07:44:01 2010 +0100
+++ b/TabListEditor.st	Mon Nov 08 14:07:00 2010 +0100
@@ -1264,9 +1264,14 @@
     self selection:0.
     listOfTabs removeAll.
 
-    aTabList do:[:aTabItem| listOfTabs add: aTabItem ].
+    aTabList do:[:aTabItem| 
+        self assert:(aTabItem isKindOf:TabItem).
+        listOfTabs add: aTabItem 
+    ].
     self clearModified.
     listOfTabs notEmpty ifTrue:[ self selection:1 ].
+
+    "Modified: / 08-11-2010 / 13:57:27 / cg"
 !
 
 loadFromClass:aClass andSelector:aSelector
@@ -1293,8 +1298,16 @@
                     spec := cls perform: aSelector.
                 ].
                 spec size ~~ 0 ifTrue:[
-                    spec do:[:aTab|
-                        listOfTabs add:aTab.
+                    spec do:[:aTabOrArray|
+                        |tab|
+
+                        aTabOrArray isArray ifTrue:[  
+                            tab := aTabOrArray decodeAsLiteralArray
+                        ] ifFalse:[
+                            tab := aTabOrArray.
+                        ].
+                        self assert:(tab isKindOf:TabItem).
+                        listOfTabs add:tab.
                     ].
                     self addHistoryEntryForClass:cls selector:specSelector.
                 ]
@@ -1304,6 +1317,8 @@
         self clearModified.
     ].
     listOfTabs notEmpty ifTrue:[ self selection:1 ].
+
+    "Modified: / 08-11-2010 / 13:59:09 / cg"
 ! !
 
 !TabListEditor methodsFor:'change & update'!
@@ -1439,6 +1454,7 @@
     |idx|
 
     aTab notNil ifTrue:[
+        self assert:(aTab isKindOf:TabItem).
         self testMode value: false.
 
         (idx := self selection) == 0 ifTrue:[
@@ -1449,6 +1465,8 @@
         ].
         self setModified.
     ].
+
+    "Modified: / 08-11-2010 / 13:55:27 / cg"
 !
 
 cancel