package edu.washington.cs.oneswarm.ui.gwt.client.newui;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import edu.washington.cs.oneswarm.ui.gwt.client.OneSwarmGWT;
import edu.washington.cs.oneswarm.ui.gwt.client.OneSwarmRPCClient;
import edu.washington.cs.oneswarm.ui.gwt.client.i18n.OSMessages;
public class Footer extends HorizontalPanel {
private static final String CSS_MAIN_FOOTER = "os-main_footer";
private String mVersionString = "checking version...";
protected static OSMessages msg = OneSwarmGWT.msg;
final HTML versionLabel = new HTML();
public Footer() {
super();
addStyleName(CSS_MAIN_FOOTER);
OneSwarmRPCClient.getService().getVersion(OneSwarmRPCClient.getSessionID(),
new AsyncCallback<String>() {
public void onFailure(Throwable caught) {
caught.printStackTrace();
onSuccess("");
}
public void onSuccess(String result) {
mVersionString = result;
refreshLabel();
}
});
add(versionLabel);
refreshLabel();
}
/*
* Only if we've loaded it
*/
public String getVersion() {
return mVersionString;
}
private void refreshLabel() {
versionLabel
.setHTML("<center><small><a href=\"http://oneswarm.cs.washington.edu/\">OneSwarm</a>: "
+ mVersionString
+ " | <a href=\"http://forum.oneswarm.org/\">"
+ msg.footer_forum()
+ "</a>"
+ " | <a href=\"http://wiki.oneswarm.org/\"><b>"
+ msg.footer_help()
+ "</b></a></small></center>");
}
}