--- a/MenuPanel.st Mon Oct 30 12:19:31 2006 +0100
+++ b/MenuPanel.st Tue Nov 07 11:10:04 2006 +0100
@@ -5407,10 +5407,15 @@
!
submenu
- "returns my submenu or nil"
-
- subMenu notNil ifTrue:[^ subMenu].
- ^ self setupSubmenu
+ "returns my submenu or creates it if its defined via a selector or channel.
+ May return nil, if there is really no menu"
+
+ subMenu isNil ifTrue:[
+ self setupSubmenu
+ ].
+ ^ subMenu
+
+ "Modified: / 07-11-2006 / 11:09:49 / cg"
!
submenu:aSubMenu
@@ -5469,6 +5474,14 @@
].
!
+submenuOrNil
+ "returns my submenu or nil if there is none or its defined via a channel or selector"
+
+ ^ subMenu
+
+ "Created: / 07-11-2006 / 11:04:47 / cg"
+!
+
textLabel
"returns my textLabel or nil.
Used internally to select items via initial-character, for example."
@@ -6003,7 +6016,7 @@
openDelayedSubmenu
"called to open now my delayed submenu"
- |subm|
+ |subMenuBeforeOpening|
(self isSelected and:[menuPanel shown]) ifFalse:[^ self].
@@ -6013,15 +6026,17 @@
^ self
].
].
- subm := self setupSubmenu.
- subm isNil ifTrue:[^ self].
-
+ self setupSubmenu.
+ subMenu isNil ifTrue:[^ self].
+ subMenuBeforeOpening := subMenu.
self openSubmenu.
- (subm == subMenu and:[self isSelected]) ifFalse:[
+ (subMenuBeforeOpening == subMenu and:[self isSelected]) ifFalse:[
"/ closed during building or opening the submenu
- self hideSubmenu:subm.
- ].
+ self hideSubmenu:subMenuBeforeOpening.
+ ].
+
+ "Modified: / 07-11-2006 / 11:07:57 / cg"
!
openSubmenu
@@ -6128,12 +6143,15 @@
subMenu notNil ifTrue:[
subMenu shown ifTrue:[^ self hideSubmenu]
] ifFalse:[
- (subMenu := self setupSubmenu) isNil ifTrue:[
+ self setupSubmenu.
+ subMenu isNil ifTrue:[
"/ cannot open a submenu
^ self
]
].
self openSubmenu.
+
+ "Modified: / 07-11-2006 / 11:06:42 / cg"
!
visibleSubmenu
@@ -7492,9 +7510,11 @@
self hasDelayedMenu ifTrue:[
menuPanel openDelayed:self
] ifFalse:[
- subMenu := self setupSubmenu.
+ self setupSubmenu.
subMenu notNil ifTrue:[ self openSubmenu ].
].
+
+ "Modified: / 07-11-2006 / 11:08:03 / cg"
! !
!MenuPanel::Item::Adornment methodsFor:'accessing'!
@@ -7679,7 +7699,7 @@
!MenuPanel class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.435 2006-10-30 11:18:57 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.436 2006-11-07 10:10:04 cg Exp $'
! !
MenuPanel initialize!