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 onModuleLoad(). */ 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 FATAL 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); } } }