MenuPanel.st
changeset 4627 905fcf6a9bfc
parent 4617 0922a5f9c84a
child 4628 8b0ef25f1b21
--- a/MenuPanel.st	Mon Jun 23 12:07:00 2014 +0200
+++ b/MenuPanel.st	Mon Jun 23 15:06:57 2014 +0200
@@ -1359,13 +1359,14 @@
     |size|
 
     self disabledRedrawDo:[
-	self removeAll.
-	size := labels size.
-
-	size > 0 ifTrue:[
-	    items := OrderedCollection new:size.
-	    labels do:[:aLabel| items add:(Item in:self label:aLabel) ]
-	]
+        self removeAll.
+        size := labels size.
+
+        size > 0 ifTrue:[
+            items := OrderedCollection new:size.
+            labels do:[:aLabel| items add:(Item in:self label:aLabel) ].
+            preferredExtent := nil.     "/ flush cached preferredExtent
+        ]
     ].
 !
 
@@ -1817,29 +1818,28 @@
 
     "/ If I have an explicit preferredExtent..
     explicitExtent notNil ifTrue:[
-	^ explicitExtent
+        ^ explicitExtent
     ].
     "/ If I have a cached preferredExtent value..
     preferredExtent notNil ifTrue:[
-	^ preferredExtent
+        ^ preferredExtent
     ].
 
     usedExtent := self preferredExtentOfItems.
 
     superView isNil ifTrue:[
-	"/ is standalone
-	preferredWidth notNil ifTrue:[
-	    usedExtent x < preferredWidth ifTrue:[
-		usedExtent := preferredWidth @ usedExtent y.
-	    ]
-	]
+        "/ is standalone
+        preferredWidth notNil ifTrue:[
+            usedExtent x < preferredWidth ifTrue:[
+                usedExtent := preferredWidth @ usedExtent y.
+            ]
+        ]
     ].
 
     maxExtent := self maxExtent.
     maxExtent notNil ifTrue:[
-	usedExtent := usedExtent min:maxExtent.
-    ].
-
+        usedExtent := usedExtent min:maxExtent.
+    ].
     preferredExtent := usedExtent.
     ^ usedExtent
 
@@ -2514,6 +2514,7 @@
     ] ifFalse:[
         items add:item beforeIndex:index
     ].
+    preferredExtent := nil.     "/ flush cached preferredExtent
     self mustRearrange.
     ^ item
 
@@ -2530,6 +2531,7 @@
         items remove:item.
         items := items asNilIfEmpty.
         item destroy.
+        preferredExtent := nil.     "/ flush cached preferredExtent
         self mustRearrange.
     ].
     ^ item
@@ -2541,12 +2543,13 @@
     "remove all items and submenus"
 
     self disabledRedrawDo:[
-	self selection:nil.
-	groupSizes := nil.
-	items notNil ifTrue:[
-	    items copy do:[:el| el destroy ].
-	].
-	items := nil
+        self selection:nil.
+        groupSizes := nil.
+        items notNil ifTrue:[
+            items copy do:[:el| el destroy ].
+        ].
+        items := nil.
+        preferredExtent := nil.     "/ flush cached preferredExtent
     ].
 
     "Modified: / 15.11.2001 / 17:02:51 / cg"
@@ -2612,6 +2615,7 @@
                             ].
             ].
             self groupSizes:(menu groupSizes).
+            preferredExtent := nil.     "/ flush cached preferredExtent
         ]
     ]
 
@@ -8795,11 +8799,11 @@
 !MenuPanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.592 2014-06-11 09:30:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.593 2014-06-23 13:06:57 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.592 2014-06-11 09:30:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.593 2014-06-23 13:06:57 cg Exp $'
 ! !