package org.gcube.portlets.user.reportgenerator.client.uibinder; import org.gcube.portlets.user.reportgenerator.client.Presenter.CommonCommands; import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter; import org.gcube.portlets.user.reportgenerator.client.uibinder.ExportOptions.ExportMode; import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier; import com.google.gwt.core.client.GWT; 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.Command; import com.google.gwt.user.client.Window; 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 OpenOptionsVME extends Composite { private static OpenOptionsUiBinder uiBinder = GWT .create(OpenOptionsUiBinder.class); interface OpenOptionsUiBinder extends UiBinder { } enum OpenMode {OPEN_REPORT, OPEN_TEMPLATE, UPLOAD } @UiField HTML editVME; @UiField HTML createVME; @UiField HTML deleteVME; @UiField HTMLPanel myPanel; private Presenter p; public OpenOptionsVME(Presenter p) { initWidget(uiBinder.createAndBindUi(this)); this.p = p; } public HTMLPanel getMainPanel() { return myPanel; } @UiHandler("editVME") void onEditVMEClick(ClickEvent e) { GWT.log("editVME"); doAction(OpenMode.OPEN_REPORT); } @UiHandler("createVME") void onOpenTemplateClick(ClickEvent e) { doAction(OpenMode.OPEN_TEMPLATE); } @UiHandler("deleteVME") void unUploadClick(ClickEvent e) { doAction(OpenMode.UPLOAD); } private void doAction(OpenMode mode) { CommonCommands cmd = new CommonCommands(p); switch (mode) { case OPEN_REPORT: p.showVMEImportDialog(); break; case OPEN_TEMPLATE: p.importVMETemplate(VMETypeIdentifier.Vme); break; case UPLOAD: Window.alert("Not yet available"); break; default: break; } } }