#DOCUMENTATION by cg
authorClaus Gittinger <cg@exept.de>
Wed, 03 Apr 2019 09:47:54 +0200
changeset 6041 a8c62dc42ff2
parent 6040 a3296ee359af
child 6042 65ee63cf658e
#DOCUMENTATION by cg class: MenuPanel comment/format in: #receiver: changed: #menu: #processMenuSelectItemEvent: class: MenuPanel class comment/format in: #menu:receiver:
MenuPanel.st
--- 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'!