--- 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 $'
! !