94 lines
3.5 KiB
Java
94 lines
3.5 KiB
Java
package org.gcube.portlets.user.dataminermanager.client.widgets;
|
|
|
|
import org.gcube.portlets.user.dataminermanager.client.DataMinerManager;
|
|
import org.gcube.data.analysis.dataminermanagercl.shared.data.computations.ComputationId;
|
|
import org.gcube.data.analysis.dataminermanagercl.shared.data.output.ImageResource;
|
|
|
|
import com.google.gwt.user.client.ui.Image;
|
|
import com.sencha.gxt.core.client.util.Margins;
|
|
import com.sencha.gxt.widget.core.client.button.TextButton;
|
|
import com.sencha.gxt.widget.core.client.container.HtmlLayoutContainer;
|
|
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
|
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
|
|
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
|
|
|
/**
|
|
*
|
|
* @author Giancarlo Panichi
|
|
*
|
|
*
|
|
*/
|
|
public class ImageViewer extends SimpleContainer {
|
|
|
|
protected static final String SAVE_OK_MESSAGE = "The images have been saved on the Workspace in the folder ";
|
|
protected static final String SAVE_OK_TITLE = "Saving operation was successful";
|
|
protected static final String SAVE_FAIL_TITLE = "Error";
|
|
protected static final String SAVE_FAIL_MESSAGE = "Error in saving images.";
|
|
private ImageResource imageResource;
|
|
// private ComputationId computationId;
|
|
|
|
/**
|
|
*
|
|
* @param computationId
|
|
* computation id
|
|
* @param imageResource
|
|
* image resource
|
|
*/
|
|
public ImageViewer(ComputationId computationId, ImageResource imageResource) {
|
|
super();
|
|
this.imageResource = imageResource;
|
|
// this.computationId = computationId;
|
|
create();
|
|
}
|
|
|
|
private void create() {
|
|
VerticalLayoutContainer v = new VerticalLayoutContainer();
|
|
add(v);
|
|
if (imageResource == null || imageResource.getLink() == null || imageResource.getLink().isEmpty())
|
|
v.add(new HtmlLayoutContainer("<i>No image found.</i>"), new VerticalLayoutData(-1, -1, new Margins(0)));
|
|
else {
|
|
String imageName="Unknow";
|
|
if(imageResource.getName()!=null&&!imageResource.getName().isEmpty()){
|
|
imageName=imageResource.getName();
|
|
}
|
|
v.add(new HtmlLayoutContainer(imageName), new VerticalLayoutData(-1, -1, new Margins(0)));
|
|
TextButton saveImageBtn = new TextButton("Download Image");
|
|
saveImageBtn.setIcon(DataMinerManager.resources.download());
|
|
saveImageBtn.addSelectHandler(new SelectEvent.SelectHandler() {
|
|
|
|
@Override
|
|
public void onSelect(SelectEvent event) {
|
|
com.google.gwt.user.client.Window.open(imageResource.getLink(), imageResource.getName(), "");
|
|
|
|
}
|
|
});
|
|
|
|
v.add(saveImageBtn, new VerticalLayoutData(-1, -1, new Margins(0)));
|
|
final Image img = new Image(imageResource.getLink());
|
|
v.add(img, new VerticalLayoutData(1, -1, new Margins(0)));
|
|
}
|
|
|
|
forceLayout();
|
|
|
|
}
|
|
|
|
/*
|
|
* private void saveImages() { EventBusProvider.INSTANCE.fireEvent(new
|
|
* MaskEvent( "Saving on the workspace...")); //
|
|
* handler.maskAll("Saving on the workspace...");
|
|
* DataMinerManager.getService().saveImage(computationId, imagesResource,
|
|
* new AsyncCallback<String>() {
|
|
*
|
|
* @Override public void onSuccess(String result) {
|
|
* EventBusProvider.INSTANCE .fireEvent(new MaskEvent(null)); //
|
|
* handler.unmaskAll(); UtilsGXT3.info(SAVE_OK_TITLE, SAVE_OK_MESSAGE + "\""
|
|
* + result + "\""); }
|
|
*
|
|
* @Override public void onFailure(Throwable caught) {
|
|
* EventBusProvider.INSTANCE .fireEvent(new MaskEvent(null)); //
|
|
* handler.unmaskAll(); UtilsGXT3.alert(SAVE_FAIL_TITLE, SAVE_FAIL_MESSAGE,
|
|
* null); } }); }
|
|
*/
|
|
}
|