tabular-data-manager/src/main/java/org/gcube/portlets/user/td/client/TabularDataPortlet.java

84 lines
2.4 KiB
Java

package org.gcube.portlets.user.td.client;
import org.gcube.portlets.user.td.client.rpc.GreetingService;
import org.gcube.portlets.user.td.client.rpc.GreetingServiceAsync;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.Viewport;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.info.Info;
/**
* Entry point classes define <code>onModuleLoad()</code>.
*/
public class TabularDataPortlet implements EntryPoint {
protected static final String JSP_TAG_ID = "tdp";
/**
* Create a remote service proxy to talk to the server-side Greeting service.
*/
private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
/**
* {@inheritDoc}
*/
@Override
public void onModuleLoad() {
/*
* Install an UncaughtExceptionHandler which will produce <code>FATAL</code> log messages
*/
Log.setUncaughtExceptionHandler();
// use deferred command to catch initialization exceptions in onModuleLoad2
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
loadMainPanel();
}
});
}
protected void loadMainPanel() {
VerticalPanel mainPanel = new VerticalPanel();
TextButton button = new TextButton("Test");
button.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
Info.display("Button event", "Button pressed");
}
});
mainPanel.add(button);
bind(mainPanel);
}
protected void bind(Widget mainWidget)
{
RootPanel root = RootPanel.get(JSP_TAG_ID);
if (root == null) {
Log.trace("Div with id "+JSP_TAG_ID+" not found, starting in dev mode");
Viewport viewport = new Viewport();
viewport.setWidget(mainWidget);
RootPanel.get().add(viewport);
} else {
Log.trace("Application div with id "+JSP_TAG_ID+" found, starting in portal mode");
root.add(mainWidget);
}
}
}