]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Application.js
Generic add actions from applet / Generic fold/unfold split pane.
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / slc / web / Application.js
index a7764cc4a7f632dec14b19d3ef4dd09d8fc2d3fc..0852399fa61be17a296250bfc90e2810651cc45c 100644 (file)
@@ -25,7 +25,9 @@ qx.Class.define("org.argeo.slc.web.Application",
   properties : \r
   {\r
        model : {nullable:true},\r
-       commandManager : {}\r
+       commandManager : {\r
+               init: null\r
+       }\r
   },\r
 \r
   /*\r
@@ -60,35 +62,43 @@ qx.Class.define("org.argeo.slc.web.Application",
          \r
       var menuBar = new qx.ui.menubar.MenuBar();\r
       var toolbar = new qx.ui.toolbar.ToolBar();\r
-      this.commandManager = new org.argeo.slc.web.event.CommandsManager(this);\r
-      this.commandManager.createCommands();\r
-      this.commandManager.createMenuButtons(menuBar);\r
-      this.commandManager.createToolbarParts(toolbar);\r
+      var commandManager = new org.argeo.slc.web.event.CommandsManager(this);\r
+      this.setCommandManager(commandManager);\r
+      commandManager.createCommands();\r
+      commandManager.registerMenuBar(menuBar);\r
+      commandManager.registerToolBar(toolbar);\r
       toolbar.setShow("icon");\r
-      this.commandManager.addToolbarContextMenu(toolbar);\r
+      commandManager.addToolbarContextMenu(toolbar);\r
 \r
-      var stopCommand = this.commandManager.getCommandById("stop");\r
+      var stopCommand = commandManager.getCommandById("stop");\r
       var serviceManager = org.argeo.slc.web.util.RequestManager.getInstance();\r
       serviceManager.setStopCommand(stopCommand);\r
       \r
       var splitPane = new qx.ui.splitpane.Pane("horizontal");\r
          var splitLeft = new qx.ui.splitpane.Pane("vertical").set({\r
            width: 300,\r
-           minWidth:100            \r
+           minWidth:36     \r
          });\r
          splitLeft.setDecorator(null);\r
-         var topLeft = new org.argeo.slc.web.components.View("list", "Test Cases");\r
+         var topLeft = new org.argeo.slc.web.components.View(this, "list", "Test Cases", {\r
+               orientation : "horizontal",\r
+               min : 36,\r
+               object : splitLeft\r
+         });\r
          this.registerView(topLeft);\r
          \r
-         var bottomLeft = new org.argeo.slc.web.components.View("details", "Details");\r
-         bottomLeft.set({minHeight:200});\r
+         var bottomLeft = new org.argeo.slc.web.components.View(this, "details", "Details", {\r
+               orientation : "vertical",\r
+               min : 30\r
+         });\r
+         bottomLeft.set({height: 200});\r
          this.registerView(bottomLeft);\r
 \r
          splitLeft.add(topLeft, 1);\r
          splitLeft.add(bottomLeft, 0);\r
          \r
          splitPane.add(splitLeft, 0);\r
-         this.rightPane = new org.argeo.slc.web.components.View("applet", "Test");       \r
+         this.rightPane = new org.argeo.slc.web.components.View(this, "applet", "Test");         \r
          this.registerView(this.rightPane);\r
          splitPane.add(this.rightPane, 1);\r
       \r
@@ -112,7 +122,7 @@ qx.Class.define("org.argeo.slc.web.Application",
        registerView : function(view){\r
                this.views[view.getViewId()] = view;\r
                view.getViewSelection().addListener("changeSelection", function(e){\r
-                       this.commandManager.refreshCommands(e.getData());\r
+                       this.getCommandManager().refreshCommands(e.getData());\r
          }, this);\r
                \r
        },\r
@@ -124,7 +134,7 @@ qx.Class.define("org.argeo.slc.web.Application",
                this.error("Cannot find view '"+viewId+"'");\r
                return null;\r
        },\r
-    \r
+       \r
     /**************************\r
       CLIENT METHODS\r
      ************************/\r
@@ -142,11 +152,11 @@ qx.Class.define("org.argeo.slc.web.Application",
                statusBarVisible: false,\r
                showCellFocusIndicator:false,\r
                columnVisibilityButtonVisible:false,\r
-               contextMenu : this.commandManager.createMenuFromIds(["opentest", "deletetest", "copytocollection"]),\r
+               contextMenu : this.getCommandManager().createMenuFromIds(["opentest", "deletetest", "copytocollection"]),\r
                decorator : new qx.ui.decoration.Background("#fff")\r
          });\r
          this.table.addListener("dblclick", function(e){\r
-       this.commandManager.executeCommand("opentest");\r
+       this.getCommandManager().executeCommand("opentest");\r
          }, this);\r
          var columnModel = this.table.getTableColumnModel(); \r
          columnModel.getBehavior().setWidth(0, "60%");\r
@@ -190,9 +200,14 @@ qx.Class.define("org.argeo.slc.web.Application",
     },\r
     \r
        createTestApplet : function(xmlNode){\r
-               var applet = new org.argeo.slc.web.components.Applet();\r
+               var applet = new org.argeo.slc.web.components.Applet(this.rightPane);\r
                applet.initData(xmlNode);\r
+               var commands = applet.getCommands();\r
                this.rightPane.empty();\r
+               if(commands){\r
+                       this.rightPane.setCommands(commands);\r
+                       this.getCommandManager().addCommands(commands);\r
+               }\r
                this.rightPane.setContent(applet, false);               \r
        }       \r
   }\r