package org.gcube.portlets.user.gcubeloggedin.client; import org.gcube.portlets.user.gcubeloggedin.shared.VObject; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.rpc.ServiceDefTarget; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.VerticalPanel; /** * Entry point classes define onModuleLoad(). */ public class GCubeLoggedin implements EntryPoint { /** * Create a remote service proxy to talk to the server-side Greeting service. */ private final LoggedinServiceAsync loggedinService = GWT.create(LoggedinService.class); private ServiceDefTarget endpoint = (ServiceDefTarget) loggedinService; private VerticalPanel main_panel = new VerticalPanel(); /** * This is the entry point method. */ public void onModuleLoad() { main_panel.setWidth("100%"); endpoint.setServiceEntryPoint(GWT.getModuleBaseURL()+"LoggedinServiceImpl"); main_panel.add(new HTML("



Loading Environment please wait ...



" + getLoadingHTML() + "

" )); // Associate the new panel with the HTML host page. RootPanel.get("LoggedinDiv").add(main_panel); loggedinService.getSelectedRE(new AsyncCallback() { public void onFailure(Throwable caught) { } public void onSuccess(VObject result) { main_panel.clear(); main_panel.add(getShowLoadedEnvPanel(result)); } }); //TEST //main_panel.add(getShowLoadedEnvPanel(new VObject("ciccio", "ciccio", "dddd", "", "", null))); } /** * * @param vobj * @return */ private VerticalPanel getShowLoadedEnvPanel(VObject vobj) { VerticalPanel toReturn = new VerticalPanel(); HorizontalPanel header = new HorizontalPanel(); HTML scope; if (vobj == null) scope = new HTML("Layout Loaded, could not read Enviroment Description", true); else scope = new HTML("" + vobj.getGroupName() + "", true); header.add(scope); /** * listener to go back and select another VRE/VO */ ClickHandler listener = new ClickHandler() { public void onClick(ClickEvent event) { main_panel.clear(); main_panel.add(new HTML("



Loading Environment please wait ...



" + getLoadingHTML() + "

" )); loggedinService.getDefaultCommunityURL(new AsyncCallback() { public void onFailure(Throwable arg0) { Window.alert("We're sorry we couldn't reach the server, try again later ... " + arg0.getMessage()); } public void onSuccess(String url) { Window.open(url, "_self", ""); } }); } }; HorizontalPanel topper = new HorizontalPanel(); topper.getElement().getStyle().setMarginTop(20, Unit.PX); topper.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); topper.setWidth("100%"); Button selectAnotherTop = new Button("Change Environment"); selectAnotherTop.setWidth("150px"); selectAnotherTop.addClickHandler(listener); topper.add(selectAnotherTop); HorizontalPanel body = new HorizontalPanel(); VerticalPanel leftPanel = new VerticalPanel(); VerticalPanel rightPanel = new VerticalPanel(); if (vobj != null) { leftPanel.add(new Image(vobj.getImageURL())); rightPanel.setWidth("100%"); leftPanel.add(topper); HTML desc = new HTML(vobj.getDescription()); desc.setStyleName("description"); rightPanel.add(desc); rightPanel.setWidth("100%"); } leftPanel.getElement().getStyle().setMarginRight(10, Unit.PX); leftPanel.setStyleName("framed"); rightPanel.getElement().getStyle().setPaddingLeft(10, Unit.PX); rightPanel.setStyleName("framed"); HorizontalPanel bottom = new HorizontalPanel(); bottom.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); bottom.setWidth("100%"); Button selectAnother = new Button("Change Environment"); selectAnother.addClickHandler(listener); //bottom.add(selectAnother); rightPanel.add(new HTML("
")); rightPanel.add(bottom); body.add(leftPanel); body.add(rightPanel); toReturn.add(body); return toReturn; } /** * * @return */ private String getLoadingHTML() { return "
"+ ""+ ""+ "
"+ ""+ "
" ; } }