152 lines
4.6 KiB
Java
152 lines
4.6 KiB
Java
package org.gcube.portlets.user.td.client;
|
|
|
|
|
|
import org.gcube.portlets.user.td.client.ribbon.TabularDataRibbon;
|
|
import org.gcube.portlets.user.td.client.rpc.TabularDataService;
|
|
import org.gcube.portlets.user.td.client.rpc.TabularDataServiceAsync;
|
|
|
|
import org.gcube.portlets.user.tdw.client.TabularData;
|
|
import org.gcube.portlets.user.tdw.client.TabularDataGridPanel;
|
|
import org.gcube.portlets.user.tdw.client.event.FailureEvent;
|
|
import org.gcube.portlets.user.tdw.client.event.FailureEventHandler;
|
|
import org.gcube.portlets.user.tdw.shared.model.DataRow;
|
|
import org.gcube.portlets.user.tdw.shared.model.TableId;
|
|
|
|
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.ResizeLayoutPanel;
|
|
import com.google.gwt.user.client.ui.RootPanel;
|
|
import com.google.gwt.user.client.ui.Widget;
|
|
import com.google.web.bindery.event.shared.EventBus;
|
|
import com.sencha.gxt.core.client.util.Margins;
|
|
import com.sencha.gxt.widget.core.client.Dialog;
|
|
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer;
|
|
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData;
|
|
import com.sencha.gxt.widget.core.client.container.MarginData;
|
|
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
|
|
import com.sencha.gxt.widget.core.client.container.Viewport;
|
|
import com.sencha.gxt.widget.core.client.grid.Grid;
|
|
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";
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public static final int TOOLBOX_WIDTH = 300;
|
|
/**
|
|
*
|
|
*/
|
|
public static final int TOOLBOX_HEIGHT= 800;
|
|
|
|
|
|
/**
|
|
* Create a remote service proxy to talk to the server-side Greeting service.
|
|
*/
|
|
@SuppressWarnings("unused")
|
|
private final TabularDataServiceAsync greetingService = GWT.create(TabularDataService.class);
|
|
|
|
//Private TabularData
|
|
private static TabularData tabularData;
|
|
|
|
/**
|
|
* {@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() {
|
|
|
|
TabularDataController controller = new TabularDataController();
|
|
EventBus eventBus = controller.getEventBus();
|
|
|
|
tabularData = new TabularData(Constants.TD_DATASOURCE_FACTORY_ID);
|
|
tabularData.addFailureHandler(new FailureEventHandler() {
|
|
|
|
@Override
|
|
public void onFailure(FailureEvent event) {
|
|
Info.display("Error: "+event.getMessage(), event.getCaught().getMessage());
|
|
|
|
}
|
|
});
|
|
controller.setTabularData(tabularData);
|
|
|
|
|
|
//Layout
|
|
final BorderLayoutContainer mainPanelLayout = new BorderLayoutContainer();
|
|
mainPanelLayout.setBorders(true);
|
|
|
|
|
|
|
|
//Ribbon Menu
|
|
TabularDataRibbon tabularDataTooBar = new TabularDataRibbon(eventBus);
|
|
Widget toolBarPanel = tabularDataTooBar.getContainer();
|
|
|
|
BorderLayoutData toolBarData = new BorderLayoutData(122);
|
|
toolBarData.setMargins(new Margins(5));
|
|
toolBarData.setCollapsible(false);
|
|
toolBarData.setSplit(false);
|
|
|
|
mainPanelLayout.setNorthWidget(toolBarPanel, toolBarData);
|
|
|
|
|
|
//Grid
|
|
final TabularDataGridPanel gridPanel = tabularData.getGridPanel();
|
|
MarginData gridData = new MarginData();
|
|
|
|
|
|
/*TableId tableopening=new TableId(Constants.TD_DATASOURCE_FACTORY_ID,"1");
|
|
tabularData.openTable(tableopening);
|
|
gridPanel.setHeaderVisible(false);*/
|
|
|
|
mainPanelLayout.setCenterWidget(gridPanel, gridData);
|
|
|
|
//Main
|
|
SimpleContainer mainPanel = new SimpleContainer();
|
|
mainPanel.add(mainPanelLayout);
|
|
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");
|
|
PortalViewport viewport = new PortalViewport();
|
|
//viewport.setEnableScroll(true);
|
|
viewport.setWidget(mainWidget);
|
|
//RootPanel.get()
|
|
root.add(viewport);
|
|
}
|
|
}
|
|
|
|
|
|
}
|