workspace/src/main/java/org/gcube/portlets/user/workspace/client/WorkspacePortlet.java

88 lines
2.9 KiB
Java

package org.gcube.portlets.user.workspace.client;
import org.gcube.portlets.user.workspace.client.resources.TourResources;
import org.gcube.portlets.widgets.guidedtour.client.GCUBEGuidedTour;
import org.gcube.portlets.widgets.guidedtour.client.GuidedTourResourceProvider;
import org.gcube.portlets.widgets.guidedtour.resources.client.GuidedTourResource;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootPanel;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
*
*/
public class WorkspacePortlet implements EntryPoint {
/**
* This is the entry point method.
*/
AppController appController;
public void onModuleLoad() {
AppControllerExplorer appControllerExplorer = new AppControllerExplorer();
appController = new AppController(appControllerExplorer);
appController.go(RootPanel.get(ConstantsPortlet.WORKSPACEDIV));
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
System.out.println("onWindowResized width: "+event.getWidth()+" height: "+event.getHeight());
updateSize();
}
});
updateSize();
showGuidedTour();
}
/**
* Update window size
*/
public void updateSize(){
RootPanel workspace = RootPanel.get(ConstantsPortlet.WORKSPACEDIV);
int topBorder = workspace.getAbsoluteTop();
int leftBorder = workspace.getAbsoluteLeft();
int footer = 85; //footer is bottombar + sponsor
// int rootHeight = (Window.getClientHeight() - topBorder - 4) ;// - ((footer == null)?0:(footer.getOffsetHeight()-15));
// if (rootHeight > 550)
// rootHeight = 550;
int rootHeight = (Window.getClientHeight() - topBorder - 4 - footer);// - ((footer == null)?0:(footer.getOffsetHeight()-15));
if (rootHeight < 550)
rootHeight = 550;
int rootWidth = Window.getClientWidth() - 2* leftBorder; //- rightScrollBar;
System.out.println("New workspace dimension Height: "+rootHeight+" Width: "+rootWidth);
appController.getMainPanel().setHeight(rootHeight);
appController.getMainPanel().setWidth(rootWidth);
}
private void showGuidedTour() {
GWT.runAsync(GCUBEGuidedTour.class, new RunAsyncCallback() {
public void onSuccess() {
GCUBEGuidedTour.showTour(WorkspacePortlet.class.getName(), new GuidedTourResourceProvider() {
@Override
public GuidedTourResource getResource() {
TourResources resources = GWT.create(TourResources.class);
return resources.quickTour();
}
});
}
public void onFailure(Throwable caught) {
Window.alert("Could not check show tour");
}
});
}
}