1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
/* ************************************************************************
Copyright:
License:
Authors:
************************************************************************ */
/* ************************************************************************
#asset(hello_world/*)
************************************************************************ */
/**
* This is the main application class of your custom application "hello_world"
*/
qx.Class.define("hello_world.Application",
{
extend : qx.application.Standalone,
/*
*****************************************************************************
MEMBERS
*****************************************************************************
*/
members :
{
/**
* This method contains the initial application code and gets called
* during startup of the application
*
* @lint ignoreDeprecated(alert)
*/
main : function()
{
// Call super class
this.base(arguments);
// Enable logging in debug variant
if (qx.core.Variant.isSet("qx.debug", "on"))
{
// support native logging capabilities, e.g. Firebug for Firefox
qx.log.appender.Native;
// support additional cross-browser console. Press F7 to toggle visibility
qx.log.appender.Console;
}
/*
-------------------------------------------------------------------------
Below is your actual application code...
-------------------------------------------------------------------------
*/
// Document is the application root
var doc = this.getRoot();
var helloLabel = new qx.ui.basic.Label("<waiting for hello>");
doc.add(helloLabel, {left: 100, top: 50});
var echoEdit = new qx.ui.form.TextField();
doc.add(echoEdit, {left: 100, top: 100});
echoEdit.setWidth(200);
var echoButton = new qx.ui.form.Button("Echo");
doc.add(echoButton, {left: 320, top: 100});
var echoLabel = new qx.ui.basic.Label("<waiting for echo>");
doc.add(echoLabel, {left: 500, top: 100});
var rpc = new qx.io.remote.Rpc("http://localhost:8080/rpc", "com.pengutronix.jdb.Hello|/");
rpc.callAsync(function(result, error) {
if (error == null) {
helloLabel.setValue(result);
}
else {
helloLabel.setValue("Error: " + error);
}
}, "com.pengutronix.jdb.Hello.HelloWorld");
// Add an event listener
echoButton.addListener("execute", function(e) {
var text = echoEdit.getValue();
if (text == null)
text = "";
rpc.callAsync(function(result, error) {
if (error == null) {
echoLabel.setValue(result);
}
else {
echoLabel.setValue("Error: " + error);
}
}, "com.pengutronix.jdb.Hello.Echo", "s", text);
});
}
}
});
|