dont catch all messageNotUnderstoods
(only those which have the aspect as selector)
--- a/MenuPanel.st Mon May 18 21:56:38 1998 +0200
+++ b/MenuPanel.st Tue May 19 19:45:20 1998 +0200
@@ -3353,9 +3353,9 @@
self submenu:subm.
].
- ^ subMenu
-
- "Modified: / 30.1.1998 / 00:00:20 / cg"
+ ^ subMenu
+
+ "Modified: / 19.5.1998 / 19:36:56 / cg"
!
submenuChannel
@@ -4076,34 +4076,55 @@
!
findSubMenuIn:aRecv
- |subm argument|
+ |subm argument sel|
subm := nil.
aRecv notNil ifTrue:[
submenuChannel last ~~ $: ifTrue:[
- Object messageNotUnderstoodSignal handle:[:ex| ] do:[
+ Object messageNotUnderstoodSignal handle:[:ex|
+ ex parameter selector == submenuChannel ifFalse:[
+ ex reject
+ ].
+ ] do:[
subm := aRecv aspectFor:submenuChannel
].
subm isNil ifTrue:[
- Object messageNotUnderstoodSignal handle:[:ex| ] do:[
+ Object messageNotUnderstoodSignal handle:[:ex|
+ ex parameter selector == submenuChannel ifFalse:[
+ ex reject
+ ].
+ ] do:[
subm := aRecv perform:submenuChannel
]
].
subm isNil ifTrue:[
- Object messageNotUnderstoodSignal handle:[:ex| ] do:[
+ Object messageNotUnderstoodSignal handle:[:ex|
+ ex parameter selector == submenuChannel ifFalse:[
+ ex reject
+ ].
+ ] do:[
subm := aRecv class perform:submenuChannel
]
]
] ifFalse:[
(argument := self argument) notNil ifTrue:[
- Object messageNotUnderstoodSignal handle:[:ex| ] do:[
- subm := aRecv perform:submenuChannel asSymbol with:argument
+ sel := submenuChannel asSymbol.
+ Object messageNotUnderstoodSignal handle:[:ex|
+ ex parameter selector == sel ifFalse:[
+ ex reject
+ ].
+ ] do:[
+ subm := aRecv perform:sel with:argument
].
subm isNil ifTrue:[
- Object messageNotUnderstoodSignal handle:[:ex| ] do:[
- subm := aRecv class perform:submenuChannel asSymbol with:argument
+ Object messageNotUnderstoodSignal handle:[:ex|
+ ex parameter selector == sel ifFalse:[
+ ex reject
+ ].
+ ] do:[
+ subm := aRecv class perform:sel with:argument
]
]
]
@@ -4111,6 +4132,7 @@
].
^ subm
+ "Modified: / 19.5.1998 / 19:44:26 / cg"
!
indicationValue
@@ -4409,6 +4431,9 @@
windowGrp := menuPanel topMenu windowGroup.
subMenu := self setupSubmenu.
+ subMenu isNil ifTrue:[
+ ^ self
+ ].
subMenu font:(menuPanel topMenu font).
subMenu becomesActiveMenu.
@@ -4433,7 +4458,7 @@
"/ subMenu selectionIndex:1
"/ ]
- "Modified: / 27.2.1998 / 17:41:27 / cg"
+ "Modified: / 19.5.1998 / 19:37:37 / cg"
!
selected:aState
@@ -4524,6 +4549,6 @@
!MenuPanel class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.82 1998-04-25 22:33:55 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/MenuPanel.st,v 1.83 1998-05-19 17:45:20 cg Exp $'
! !
MenuPanel initialize!