Hi,
well since last week every thing worked perfectly. I didn't do any thing connected with the ls code.
I inject the js from ls in my GWT application and use native calls to it:
I needed dynamically to subscribe/unsubscribe from items and dynamically to change the schema:
Here is simple code:
Code:
private native void restart(JavaScriptObject nvt, NonVisualGWTClient thiz, JavaScriptObject page, JavaScriptObject map, String [] schema) /*-{
nvt.setDataAdapter(map['adapter_name']);
nvt.setSnapshotRequired(false);
this.@ls.client.NonVisualGWTClient::nvt.onItemUpdate = function(item, itemUpdate, itemName) {
for (i=0;i<=schema.length;i++) {
var msg = itemUpdate.getNewValue(schema[i]);
if (msg !=null) {
thiz.@ls.client.NonVisualGWTClient::onMessage(Ljava/lang/String;Ljava/lang/String;)(msg, schema[i]);
}
}
}
page.addTable(nvt,"tnvt");
}-*/;
// abstract method
protected abstract void onMessage(String message, String schemaId);
As you can see i have abstract onMessage method that is implemented in the derived class and implements the logic for the received message.
When i want to change my schema or group i create new NVT and call restart.
I am not sure i understand what you mean by "embeding the browser in a native application"
I have web app that is compiled to js and i inject
<script src="ls/lscommons.js"></script>
<script src="ls/lspushpage.js"></script>
It may bo compared to HTML + JS app.
Bookmarks