You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.3 KiB
Java

/**
*
*/
package org.gcube.portlets.user.dataminermanager.client;
import org.gcube.portlets.user.dataminermanager.client.DataMinerManager.MenuItem;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public abstract class Header extends HorizontalPanel {
public abstract void select(MenuItem menuItem);
private Image menuGoBack, menuExperiment, menuDataSpace, menuComputations;
private MenuItem currentSelection = null;
/**
*
*/
public Header() {
super();
// this.setStyleAttribute("background-color", "#FFFFFF");
Image logo = new Image(DataMinerManager.resources.logoLittle());
logo.setAltText("Data Miner Manager");
logo.setTitle("Data Miner Manager");
logo.addStyleName("menuImgLogo");
menuGoBack = new Image(DataMinerManager.resources.goBack());
menuGoBack.addStyleName("menuItemImage");
menuGoBack.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (setMenuSelected(null))
select(null);
}
});
menuDataSpace = new Image(
DataMinerManager.resources.menuItemInputspace());
menuDataSpace.addStyleName("menuItemImage");
menuDataSpace.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (setMenuSelected(MenuItem.DATA_SPACE))
select(MenuItem.DATA_SPACE);
}
});
menuExperiment = new Image(
DataMinerManager.resources.menuItemExperiment());
menuExperiment.addStyleName("menuItemImage");
menuExperiment.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (setMenuSelected(MenuItem.EXPERIMENT))
select(MenuItem.EXPERIMENT);
}
});
menuComputations = new Image(
DataMinerManager.resources.menuItemComputations());
menuComputations.addStyleName("menuItemImage");
menuComputations.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (setMenuSelected(MenuItem.COMPUTATIONS))
select(MenuItem.COMPUTATIONS);
}
});
add(logo);
add(menuGoBack);
add(menuDataSpace);
add(menuExperiment);
add(menuComputations);
this.setCellWidth(logo, "100px");
this.setCellWidth(menuGoBack, "100px");
this.setCellWidth(menuDataSpace, "80px");
this.setCellWidth(menuExperiment, "80px"); //
this.setCellWidth(menuComputations, "80px");
menuGoBack.setVisible(false);
menuDataSpace.setVisible(false);
menuExperiment.setVisible(false);
menuComputations.setVisible(false);
}
/**
* @param inputSpace
*/
public boolean setMenuSelected(MenuItem menuItem) {
// return true if the menu was changed
if (menuItem == currentSelection)
return false; // nothing to change
if (menuItem == null) {
menuGoBack.setVisible(false);
menuDataSpace.setVisible(false);
menuExperiment.setVisible(false);
menuComputations.setVisible(false);
if (currentSelection == MenuItem.EXPERIMENT)
menuExperiment.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.DATA_SPACE)
menuDataSpace.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.COMPUTATIONS)
menuComputations.removeStyleName("menuItemImage-selected");
} else {
if (currentSelection == null) {
menuGoBack.setVisible(true);
menuDataSpace.setVisible(true);
menuExperiment.setVisible(true);
menuComputations.setVisible(true);
}
if (currentSelection == MenuItem.EXPERIMENT)
menuExperiment.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.DATA_SPACE)
menuDataSpace.removeStyleName("menuItemImage-selected");
else if (currentSelection == MenuItem.COMPUTATIONS)
menuComputations.removeStyleName("menuItemImage-selected");
/*
* Image imgNew=menuExperiment;
*/
/*
* Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace :
* menuExperiment);
*/
Image imgNew = (menuItem == MenuItem.DATA_SPACE ? menuDataSpace
: (menuItem == MenuItem.EXPERIMENT ? menuExperiment
: menuComputations));
imgNew.addStyleName("menuItemImage-selected");
}
currentSelection = menuItem;
return true;
}
}