use hasItems
authorClaus Gittinger <cg@exept.de>
Wed, 17 Dec 2008 14:41:27 +0100
changeset 2448 eec01c02868e
parent 2447 017ac2e500f7
child 2449 5ef668d71314
use hasItems
MenuEditor.st
--- a/MenuEditor.st	Wed Dec 17 14:18:33 2008 +0100
+++ b/MenuEditor.st	Wed Dec 17 14:41:27 2008 +0100
@@ -4848,36 +4848,36 @@
     |expanded item menu|
 
     self criticalDo:[
-	self isRootItem ifTrue:[ expanded := true ]
-		       ifFalse:[ expanded := isExpanded ].
-
-	self removeAll.
-	self rawLabel:aString.
-
-	menu := aMenu value.
-
-	(menu isNil or:[menu isString]) ifTrue:[
-	    menu := nil
-	] ifFalse:[
-	    aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ]
-			      ifFalse:[ menu := aMenu ].
-
-	    menu numberOfItems == 0 ifTrue:[
-		menu := nil
-	    ].
-	].
-	menu ifNotNil:[
-	    isExpanded := false.        "/ discard change notifications
-	    children   := OrderedCollection new.
-
-	    menu itemsDo:[:el|
-		item := self class menuItem:el.
-		item parent:self.
-		children add:item.
-	    ].
-	    expanded ifTrue:[ self expand ].
-	].
-	isExpanded := expanded.
+        self isRootItem ifTrue:[ expanded := true ]
+                       ifFalse:[ expanded := isExpanded ].
+
+        self removeAll.
+        self rawLabel:aString.
+
+        menu := aMenu value.
+
+        (menu isNil or:[menu isString]) ifTrue:[
+            menu := nil
+        ] ifFalse:[
+            aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ]
+                              ifFalse:[ menu := aMenu ].
+
+            menu hasItems ifFalse:[
+                menu := nil
+            ].
+        ].
+        menu ifNotNil:[
+            isExpanded := false.        "/ discard change notifications
+            children   := OrderedCollection new.
+
+            menu itemsDo:[:el|
+                item := self class menuItem:el.
+                item parent:self.
+                children add:item.
+            ].
+            expanded ifTrue:[ self expand ].
+        ].
+        isExpanded := expanded.
     ].
     self changed