]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/argeo-ria-src/class/org/argeo/ria/Application.js
move "source" to "argeo-ria-src"
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / argeo-ria-src / class / org / argeo / ria / Application.js
diff --git a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-src/class/org/argeo/ria/Application.js b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-src/class/org/argeo/ria/Application.js
new file mode 100644 (file)
index 0000000..ce299c4
--- /dev/null
@@ -0,0 +1,100 @@
+/* ************************************************************************\r
+\r
+  Copyright: 2008 Argeo\r
+\r
+   License: LGPL\r
+\r
+   Authors: Charles du Jeu\r
+\r
+************************************************************************ */\r
+\r
+/* ************************************************************************\r
+\r
+#asset(slc/*)\r
+\r
+************************************************************************ */\r
+\r
+/**\r
+ * This is the main application class of an Argeo RIA.\r
+ */\r
+qx.Class.define("org.argeo.ria.Application",\r
+{\r
+  extend : qx.application.Standalone,\r
+  settings : {\r
+       //"slc.Perspective" : "org.argeo.ria.custom.Perspective"\r
+  },\r
+  \r
+  /*\r
+  *****************************************************************************\r
+     MEMBERS\r
+  *****************************************************************************\r
+  */\r
+\r
+  members :\r
+  {\r
+    /**\r
+     * This method contains the initial application code and gets called \r
+     * during startup of the application\r
+     */\r
+    main : function()\r
+    {\r
+      // Call super class\r
+      this.base(arguments);\r
+      this.views = {};\r
+      \r
+      var viewsManager = org.argeo.ria.components.ViewsManager.getInstance();\r
+      viewsManager.setApplicationRoot(this.getRoot());\r
+      \r
+      // Enable logging in debug variant\r
+      if (qx.core.Variant.isSet("qx.debug", "on"))\r
+      {\r
+        qx.log.appender.Native;\r
+        qx.log.appender.Console;\r
+      }\r
+      var winLogger = org.argeo.ria.components.Logger.getInstance();\r
+      this.getRoot().add(winLogger);\r
+      qx.log.Logger.register(winLogger);\r
+\r
+      // Main layout\r
+      var layout = new qx.ui.layout.VBox();\r
+      var container = new qx.ui.container.Composite(layout);\r
+      viewsManager.setViewPanesContainer(container);\r
+      // Document is the application root      \r
+      this.getRoot().add(container, {left:0,right:0,top:0,bottom:0});      \r
+         \r
+      var menuBar = new qx.ui.menubar.MenuBar();\r
+      var toolbar = new qx.ui.toolbar.ToolBar();\r
+      var commandManager = org.argeo.ria.event.CommandsManager.getInstance();\r
+      commandManager.createCommands();\r
+      commandManager.registerMenuBar(menuBar);\r
+      commandManager.registerToolBar(toolbar);\r
+      toolbar.setShow("both");\r
+      commandManager.addToolbarContextMenu(toolbar);\r
+\r
+      var stopCommand = commandManager.getCommandById("stop");\r
+      var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
+      serviceManager.setStopCommand(stopCommand);\r
+\r
+      container.add(menuBar);\r
+      container.add(toolbar);      \r
+\r
+      /**\r
+       * Call GuiLoader to load default perspective and associated views.\r
+       */\r
+      var perspectiveClassName  = qx.core.Setting.get("ria.Perspective")\r
+      if(!perspectiveClassName){\r
+       this.error("Cannot find default perspective setting ! Please check your config.json file! (CUSTOM_PERSPECTIVE, line 23).");\r
+       return;\r
+      }\r
+      var perspectiveClass = qx.Class.getByName(perspectiveClassName);\r
+      if(!perspectiveClass){\r
+       this.error("Cannot find class for default perspective ("+perspectiveClassName+"). Please check your config.json file! (CUSTOM_PERSPECTIVE, line 23).");\r
+       return;\r
+      }\r
+      var perspective = new perspectiveClass;\r
+      perspective.initViewPanes(viewsManager);\r
+      perspective.initViews(viewsManager);      \r
+    }\r
+               \r
+  }\r
+});
\ No newline at end of file