--- /dev/null
+/* ************************************************************************\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