#DOCUMENTATION by cg
class: MenuPanel
comment/format in: #receiver:
changed:
#menu:
#processMenuSelectItemEvent:
class: MenuPanel class
comment/format in: #menu:receiver:
--- a/MenuPanel.st Tue Apr 02 18:02:15 2019 +0200
+++ b/MenuPanel.st Wed Apr 03 09:47:54 2019 +0200
@@ -328,25 +328,27 @@
!
menu:aMenu receiver:aReceiver
- |mview|
-
- mview := self new.
+ |mPanel|
+
+ "/ cg: the reasoning behind this code is absolutely unclear.
+ "/ @ca: please add some comment...
+
+ mPanel := self new.
(aMenu notNil and:[aMenu receiver isNil]) ifTrue:[
- "/ no receiver specified in the menu; thus set the receiver immediately
- mview receiver:aReceiver
- ].
-
- mview menu:aMenu.
-
-
-"/ a menu itself may contain a receiver
-"/ thus we do not overwrite the receiver
-
+ "/ no receiver specified in the menu; set the receiver immediately
+ mPanel receiver:aReceiver
+ ].
+
+ mPanel menu:aMenu.
+
+ "/ set the receiver late
aReceiver notNil ifTrue:[
- mview receiver:aReceiver
- ].
- ^ mview
+ mPanel receiver:aReceiver
+ ].
+ ^ mPanel
+
+ "Modified (format): / 03-04-2019 / 08:48:29 / Claus Gittinger"
! !
!MenuPanel class methodsFor:'class initialization'!
@@ -1459,7 +1461,9 @@
"set the menu-receiver. That's the one who gets the messages ( both from myself and
from all submenus no specific receiver is defined )."
- receiver := anObject
+ receiver := anObject.
+
+ "Modified: / 03-04-2019 / 09:47:29 / Claus Gittinger"
!
shortcutKeyAt:stringOrNumber
@@ -2716,8 +2720,8 @@
self removeAll.
(menu := aMenu) notNil ifTrue:[
- (aMenu isCollection) ifTrue:[
- menu := Menu decodeFromLiteralArray:aMenu.
+ (menu isCollection) ifTrue:[
+ menu := Menu decodeFromLiteralArray:menu.
] ifFalse:[
menuReceiver := menu receiver.
menuReceiver notNil ifTrue:[
@@ -2739,7 +2743,7 @@
]
"Modified: / 09-11-2010 / 11:52:28 / cg"
- "Modified: / 09-11-2018 / 20:16:32 / Claus Gittinger"
+ "Modified: / 03-04-2019 / 08:44:16 / Claus Gittinger"
! !
!MenuPanel methodsFor:'dependents access'!
@@ -4384,7 +4388,7 @@
!
processMenuSelectItemEvent:ev
- |winGrp masterGroup winGrpForBusyCursor item itemIndex itemValue menuReceiver acceptAction|
+ |winGrp masterGroup winGrpForBusyCursor item itemIndex itemValue menuReceiver|
winGrp := self windowGroup.
winGrp notNil ifTrue:[
@@ -4397,17 +4401,18 @@
itemValue := ev itemValue.
menuReceiver := ev menuReceiver.
- acceptAction := [ self accept:item index:itemIndex toggle:itemValue receiver:menuReceiver ].
-
(item showBusyCursorWhilePerforming
- and:[winGrpForBusyCursor notNil])
- ifTrue:[
- winGrpForBusyCursor withWaitCursorDo:acceptAction
+ and:[winGrpForBusyCursor notNil]
+ ) ifTrue:[
+ winGrpForBusyCursor withWaitCursorDo:[
+ self accept:item index:itemIndex toggle:itemValue receiver:menuReceiver
+ ].
] ifFalse:[
- acceptAction value
+ self accept:item index:itemIndex toggle:itemValue receiver:menuReceiver
].
"Modified: / 29-06-2011 / 16:32:36 / cg"
+ "Modified: / 03-04-2019 / 08:38:34 / Claus Gittinger"
! !
!MenuPanel methodsFor:'focus handling'!