]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/ria/Application.js
Refactoring
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / ria / Application.js
1 /* ************************************************************************
2
3 Copyright: 2008 Argeo
4
5 License: LGPL
6
7 Authors: Charles du Jeu
8
9 ************************************************************************ */
10
11 /* ************************************************************************
12
13 #asset(slc/*)
14
15 ************************************************************************ */
16
17 /**
18 * This is the main application class of an Argeo RIA.
19 */
20 qx.Class.define("org.argeo.ria.Application",
21 {
22 extend : qx.application.Standalone,
23 settings : {
24 //"slc.Perspective" : "org.argeo.ria.custom.Perspective"
25 },
26
27 /*
28 *****************************************************************************
29 MEMBERS
30 *****************************************************************************
31 */
32
33 members :
34 {
35 /**
36 * This method contains the initial application code and gets called
37 * during startup of the application
38 */
39 main : function()
40 {
41 // Call super class
42 this.base(arguments);
43 this.views = {};
44
45 var viewsManager = org.argeo.ria.components.ViewsManager.getInstance();
46 viewsManager.setApplicationRoot(this.getRoot());
47
48 // Enable logging in debug variant
49 if (qx.core.Variant.isSet("qx.debug", "on"))
50 {
51 qx.log.appender.Native;
52 qx.log.appender.Console;
53 }
54 var winLogger = org.argeo.ria.components.Logger.getInstance();
55 this.getRoot().add(winLogger);
56 qx.log.Logger.register(winLogger);
57
58 // Main layout
59 var layout = new qx.ui.layout.VBox();
60 var container = new qx.ui.container.Composite(layout);
61 viewsManager.setViewPanesContainer(container);
62 // Document is the application root
63 this.getRoot().add(container, {left:0,right:0,top:0,bottom:0});
64
65 var menuBar = new qx.ui.menubar.MenuBar();
66 var toolbar = new qx.ui.toolbar.ToolBar();
67 var commandManager = org.argeo.ria.event.CommandsManager.getInstance();
68 commandManager.createCommands();
69 commandManager.registerMenuBar(menuBar);
70 commandManager.registerToolBar(toolbar);
71 toolbar.setShow("both");
72 commandManager.addToolbarContextMenu(toolbar);
73
74 var stopCommand = commandManager.getCommandById("stop");
75 var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();
76 serviceManager.setStopCommand(stopCommand);
77
78 container.add(menuBar);
79 container.add(toolbar);
80
81 /**
82 * Call GuiLoader to load default perspective and associated views.
83 */
84 var perspectiveClassName = qx.core.Setting.get("ria.Perspective")
85 if(!perspectiveClassName){
86 this.error("Cannot find default perspective setting ! Please check your config.json file! (CUSTOM_PERSPECTIVE, line 23).");
87 return;
88 }
89 var perspectiveClass = qx.Class.getByName(perspectiveClassName);
90 if(!perspectiveClass){
91 this.error("Cannot find class for default perspective ("+perspectiveClassName+"). Please check your config.json file! (CUSTOM_PERSPECTIVE, line 23).");
92 return;
93 }
94 var perspective = new perspectiveClass;
95 perspective.initViewPanes(viewsManager);
96 perspective.initViews(viewsManager);
97 }
98
99 }
100 });