]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/ria/event/CommandsManager.js
Refactoring
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / ria / event / CommandsManager.js
index 7bd0957dd7d430605674f4ad9c1cc7456b497f87..0f6f1182a9817b3df28e04edc9b632222be533f6 100644 (file)
@@ -35,6 +35,7 @@ qx.Class.define("org.argeo.ria.event.CommandsManager",
                                callback        : function(e){},\r
                                command         : null\r
                        },\r
+                       /*\r
                        "quit" : {\r
                                label           : "Quit", \r
                                icon            : "resource/slc/system-shutdown.png",\r
@@ -45,6 +46,7 @@ qx.Class.define("org.argeo.ria.event.CommandsManager",
                                callback        : function(e){}, \r
                                command         : null\r
                        },\r
+                       */\r
                        "log" : {\r
                                label           : "Show Console", \r
                                icon            : "resource/slc/help-contents.png",\r
@@ -109,15 +111,21 @@ qx.Class.define("org.argeo.ria.event.CommandsManager",
                        if(!definition.command){\r
                                command = new org.argeo.ria.event.Command(key, definition.label, definition.icon, definition.shortcut);\r
                                if(definition.submenu){\r
-                                       var menu = new qx.ui.menu.Menu();\r
-                                       command.setMenu(menu);\r
+                                       command.setMenu(definition.submenu);\r
                                        if(definition.submenuCallback){\r
                                                command.setMenuCallback(definition.submenuCallback);\r
                                                command.setMenuContext((definition.callbackContext?definition.callbackContext:null));\r
                                        }\r
                                }\r
                                command.setEnabled(definition.enabled);\r
+                               if(definition.toggle){\r
+                                       command.setToggle(true);\r
+                               }\r
                                command.addListener("execute", definition.callback, (definition.callbackContext?definition.callbackContext:this));\r
+                               if(definition.init){\r
+                                       var binded = qx.lang.Function.bind(definition.init, command);\r
+                                       binded();\r
+                               }\r
                                definition.command = command;\r
                        }else{\r
                                command = definition.command;\r
@@ -303,6 +311,7 @@ qx.Class.define("org.argeo.ria.event.CommandsManager",
                menu.add(icon);\r
                menu.add(text);\r
                menu.add(both);\r
+               mgr.setSelected(both);\r
                toolbar.setContextMenu(menu);           \r
                mgr.addListener("changeValue", function(e){\r
                        this.setShow(e.getData());\r