rewritten

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/gcube-loggedin@73151 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2013-04-11 10:42:56 +00:00
parent b99da2262d
commit 59faf4dee8
4 changed files with 77 additions and 102 deletions

View File

@ -1,20 +1,13 @@
package org.gcube.portlets.user.gcubeloggedin.client;
import org.gcube.portlets.user.gcubeloggedin.client.ui.AboutView;
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;
@ -43,105 +36,14 @@ public class GCubeLoggedin implements EntryPoint {
RootPanel.get("LoggedinDiv").add(main_panel);
loggedinService.getSelectedRE(new AsyncCallback<VObject>() {
public void onFailure(Throwable caught) {
}
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("<strong>Layout Loaded, could not read Enviroment Description</strong>", true);
else
scope = new HTML("<strong>" + vobj.getGroupName() + "</strong>", 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("<div style=\"height: 450px; text-align:center; vertical-align:text-top;\"><p><br /><br />Loading Environment please wait ...</p><p><br /><br /> " + getLoadingHTML() + "</p></div>" ));
loggedinService.getDefaultCommunityURL(new AsyncCallback<String>() {
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", "");
}
});
main_panel.add(new AboutView(result, loggedinService));
}
};
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("<br />"));
rightPanel.add(bottom);
body.add(leftPanel);
body.add(rightPanel);
toReturn.add(body);
return toReturn;
});
}
/**
*
* @return

View File

@ -0,0 +1,60 @@
package org.gcube.portlets.user.gcubeloggedin.client.ui;
import org.gcube.portlets.user.gcubeloggedin.client.LoggedinServiceAsync;
import org.gcube.portlets.user.gcubeloggedin.shared.VObject;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Document;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Widget;
public class AboutView extends Composite {
private static AboutViewUiBinder uiBinder = GWT
.create(AboutViewUiBinder.class);
interface AboutViewUiBinder extends UiBinder<Widget, AboutView> {
}
public AboutView() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiField
Button button;
@UiField
HTMLPanel htmlPanel;
@UiField
HTML description;
private LoggedinServiceAsync loggedinService;
public AboutView(VObject vobj, LoggedinServiceAsync loggedinService) {
initWidget(uiBinder.createAndBindUi(this));
this.loggedinService = loggedinService;
description.setHTML("<img class=\"imageVRE\" src=\"" + vobj.getImageURL() + "\" />" + vobj.getDescription());
}
@UiHandler("button")
void onClick(ClickEvent e) {
loggedinService.getDefaultCommunityURL(new AsyncCallback<String>() {
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", "");
}
});
}
}

View File

@ -0,0 +1,8 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:HTMLPanel ui:field="htmlPanel" styleName="framed">
<g:HTML ui:field="description" styleName="description"></g:HTML>
<g:Button ui:field="button">Change Environment</g:Button>
</g:HTMLPanel>
</ui:UiBinder>

View File

@ -22,6 +22,11 @@ table {
border: 1px solid #DBDBDB;
}
.imageVRE {
float: left;
width: 180px;
}
/** Example rules used by the template application (remove for your app) */
h1 {
font-size: 2em;