diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java
index ace4fd0..21350e4 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Headerbar.java
@@ -52,8 +52,7 @@ public class Headerbar extends Composite{
private static final String EXPORT_HTML = "Export to HTML";
private static final String EXPORT_FIMES = "Export to FiMES XML";
private static final String EXPORT_XML = "Export to XML";
- private static final String IMPORT_VME = "Open VME Report";
- private static final String IMPORT_VME_REF = "Import VME Reference Report";
+ private static final String IMPORT_VME = "Edit VME";
// private static final String EXPORT_ENCRYPTED_REPORT = "Save an Encrypted Version to Desktop";
private static final String VIEW_USER_COMMENTS = "View user comments";
@@ -134,18 +133,14 @@ public class Headerbar extends Composite{
fileMenu = getFileMenu();
menuBar.addItem(fileMenu);
separator1 = menuBar.addSeparator();
- vmeMenu = getVMEMenu();
- menuBar.addItem(vmeMenu);
-
- separator3 = menuBar.addSeparator();
viewMenu = getViewMenu();
menuBar.addItem(viewMenu);
-// separator2 = menuBar.addSeparator();
-// sectionsMenu = getSectionMenu();
-// menuBar.addItem(sectionsMenu);
-
-// biblioMenu = getBiblioMenu();
-// menuBar.addItem(biblioMenu);
+ separator2 = menuBar.addSeparator();
+ sectionsMenu = getSectionMenu();
+ menuBar.addItem(sectionsMenu);
+ separator3 = menuBar.addSeparator();
+ biblioMenu = getBiblioMenu();
+ menuBar.addItem(biblioMenu);
separator4 = menuBar.addSeparator();
exportMenu = getExportsMenu();
menuBar.addItem(exportMenu);
@@ -176,6 +171,34 @@ public class Headerbar extends Composite{
initWidget(mainLayout);
}
+
+ public void setMenuForVME() {
+ menuBar.removeItem(viewMenu);
+ menuBar.removeItem(sectionsMenu);
+ menuBar.removeItem(biblioMenu);
+ menuBar.removeSeparator(separator1);
+ menuBar.removeSeparator(separator2);
+ menuBar.removeSeparator(separator3);
+ menuBar.removeItem(exportMenu);
+
+ vmeMenu = getVMEMenuEdit();
+ menuBar.addItem(vmeMenu);
+
+ menuBar.addSeparator();
+
+ MenuItem vmeMenuCreate = getVMEMenuFake("Create");
+ menuBar.addItem(vmeMenuCreate);
+
+ separator4 = menuBar.addSeparator();
+
+ MenuItem vmeMenuDelete = getVMEMenuFake("Delete");
+ menuBar.addItem(vmeMenuDelete);
+
+ menuBar.addSeparator();
+ exportMenu = getExportsMenu();
+ menuBar.addItem(exportMenu);
+ }
+
public void setMenuForWorkflowDocument(boolean canUpdate) {
presenter.setMenuForWorkflowDocument(true);
menuBar.removeItem(fileMenu);
@@ -309,11 +332,33 @@ public class Headerbar extends Composite{
}
};
- private MenuItem getVMEMenu() {
+ private MenuItem getVMEMenuFake(String fakeOption) {
+ MenuBar createMenu = new MenuBar(true);
+
+ createMenu.setAnimationEnabled(true);
+ MenuItem toReturn = new MenuItem(fakeOption+" VME-DB", createMenu);
+ toReturn.getElement().getStyle().setWhiteSpace(WhiteSpace.NOWRAP);
+
+ MenuItem item = new MenuItem(""+fakeOption+" VME", true, getNullCommand());
+ createMenu.addItem(item);
+ createMenu.addSeparator();
+
+ item = new MenuItem(""+fakeOption+" VME General Measure", true, getNullCommand());
+ createMenu.addItem(item);
+ item = new MenuItem(""+fakeOption+" Information Source", true, getNullCommand());
+ createMenu.addItem(item);
+ item = new MenuItem(""+fakeOption+" Fishing footprint", true, getNullCommand());
+ createMenu.addItem(item);
+ item = new MenuItem(""+fakeOption+" Regional History of VMEs", true, getNullCommand());
+ createMenu.addItem(item);
+ return toReturn;
+ }
+
+ private MenuItem getVMEMenuEdit() {
MenuBar importMenu = new MenuBar(true);
importMenu.setAnimationEnabled(true);
- MenuItem toReturn = new MenuItem("Edit VME", importMenu);
+ MenuItem toReturn = new MenuItem("Edit VME-DB", importMenu);
toReturn.getElement().getStyle().setWhiteSpace(WhiteSpace.NOWRAP);
Command importVMEReport = new Command() {
@@ -574,8 +619,8 @@ public class Headerbar extends Composite{
fileMenu.setAnimationEnabled(true);
MenuItem toReturn = new MenuItem("File", fileMenu);
- fileMenu.addItem("Open Report", cmd.openReport);
- fileMenu.addItem("Open template...", cmd.openTemplate);
+ fileMenu.addItem("Open Report from Workspace", cmd.openReport);
+ //fileMenu.addItem("Open template...", cmd.openTemplate);
fileMenu.addSeparator();
fileMenu.addItem("Save", saveReport);
fileMenu.addItem("Save As ..", saveReportAs);
@@ -583,7 +628,7 @@ public class Headerbar extends Composite{
// fileMenu.addItem("Import from FiMES XML", importFimes);
fileMenu.addItem("Close Report", cmd.newTemplate);
fileMenu.addSeparator();
- fileMenu.addItem("? Open User's Guide", openHelp);
+// fileMenu.addItem("? Open User's Guide", openHelp);
return toReturn;
}
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java
index 1bd220d..d1afb2e 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/Presenter.java
@@ -127,7 +127,7 @@ public class Presenter {
private CommonCommands commonCommands;
private boolean menuForWorkflowDocument = false;
-
+
private boolean isVME = false;
/**
* eventbus events handler
@@ -193,7 +193,7 @@ public class Presenter {
//refreshWorkspace();
break;
case SAVED_OPEN:
- // refreshWorkspace();
+ // refreshWorkspace();
toolBoxPanel.showExportedVersion(event.getItemId(), event.getItemId());
break;
default:
@@ -277,13 +277,18 @@ public class Presenter {
public void onFailure(Throwable caught) {
dlg.hide();
}
- public void onSuccess(Model result) {
+ public void onSuccess(Model result) {
+ if (isVME) {
+ header.setMenuForVME();
+ header.enableExports();
+ }
dlg.hide();
if (result != null) { //there was one report open in session
loadModel(result, true);
header.enableExports();
- } else
+ } else{
commonCommands.newTemplate.execute();
+ }
}
});
}
@@ -300,7 +305,7 @@ public class Presenter {
}
public void showOpenOptions() {
- wp.showOpenOptions();
+ wp.showOpenOptions(isVME);
}
public void showLoading() {
@@ -457,7 +462,7 @@ public class Presenter {
return GWT.getHostPageBaseURL() + "../../";
}
-
+
/**
* remove the user-added components from the workspace, and from the model
*
@@ -651,7 +656,7 @@ public class Presenter {
rtbar.setWidth("100%");
ReportGenerator.get().getToolbarPanel().add(deco);
}
-
+
/**
* enable the format text toolbar for the given Rich Textarea passed as argument
* @param d4sArea the enabled text area
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/WorkspacePanel.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/WorkspacePanel.java
index 5526d99..48b7146 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/WorkspacePanel.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/WorkspacePanel.java
@@ -6,6 +6,7 @@ import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter;
import org.gcube.portlets.user.reportgenerator.client.model.TemplateModel;
import org.gcube.portlets.user.reportgenerator.client.targets.DoubleColumnPanel;
import org.gcube.portlets.user.reportgenerator.client.uibinder.OpenOptions;
+import org.gcube.portlets.user.reportgenerator.client.uibinder.OpenOptionsVME;
import org.gcube.portlets.user.reportgenerator.client.uibinder.ShowLoading;
import com.google.gwt.core.client.GWT;
@@ -77,8 +78,11 @@ public class WorkspacePanel extends Composite {
//showOpenOptions();
}
- public void showOpenOptions() {
- mainLayout.add(new OpenOptions(presenter));
+ public void showOpenOptions(boolean isVME) {
+ if (isVME)
+ mainLayout.add(new OpenOptionsVME(presenter));
+ else
+ mainLayout.add(new OpenOptions(presenter));
}
public void showLoading() {
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/Images.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/Images.java
index 59acbfc..8cf4782 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/Images.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/Images.java
@@ -78,6 +78,10 @@ public interface Images extends ImageBundle {
* @return .
*/
AbstractImagePrototype save();
+ /**
+ * @return .
+ */
+ AbstractImagePrototype db_save();
/**
* @return .
*/
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar$Strings.properties b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar$Strings.properties
index 4c17d1c..80a8777 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar$Strings.properties
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar$Strings.properties
@@ -33,9 +33,9 @@ medium = Medium
large = Large
xlarge = X-Large
xxlarge = XX-Large
-save = Save
+save = Save Report in Workspace
newdoc = New Template
open_template = Open Template
-open_report = Open Report
+open_report = Open Report from Workspace
importing = Import from Template
forecolors = Text Color
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar.java
index ba7267e..63796f2 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/RichTextToolbar.java
@@ -172,6 +172,7 @@ public class RichTextToolbar extends Composite {
private PushButton justifyCenter;
private PushButton justifyRight;
private PushButton save;
+ private PushButton saveDB;
private PushButton newdoc;
private PushButton open_template;
private PushButton open_report;
@@ -229,17 +230,30 @@ public class RichTextToolbar extends Composite {
richText.addStyleName("hasRichTextToolbar");
if (basic != null) {
- //add the new template button
- topPanel.add(newdoc = createPushButton(images.newdoc(), strings.newdoc()));
+ if (! isVme) {
+ //add the new template button
+ topPanel.add(newdoc = createPushButton(images.newdoc(), strings.newdoc()));
+ }
open_report = createPushButton(images.open_report(),strings.open_report());
//add the open report button
topPanel.add(open_report);
- //add the open template button
- topPanel.add(open_template = createPushButton(images.open_template(),strings.open_template()));
+ if (! isVme) {
+ //add the open template button
+ topPanel.add(open_template = createPushButton(images.open_template(),strings.open_template()));
+ //add the save button
+ topPanel.add(importing = createPushButton(images.importing(), strings.importing()));
+ }
//add the save button
topPanel.add(save = createPushButton(images.save(), strings.save()));
- //add the save button
- topPanel.add(importing = createPushButton(images.importing(), strings.importing()));
+ if (isVme) {
+ topPanel.add(saveDB = createPushButton(images.db_save(), "Commit current in VME-DB"));
+ saveDB.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ Window.alert("Not currently available");
+ }
+ });
+ }
if (! isVme) {
topPanel.add(new HTML(" "));
@@ -412,11 +426,13 @@ public class RichTextToolbar extends Composite {
}
public void enableCommands(boolean enable) {
- save.setEnabled(enable);
- newdoc.setEnabled(enable);
- open_template.setEnabled(enable);
open_report.setEnabled(enable);
- importing.setEnabled(enable);
+ save.setEnabled(enable);
+ if (newdoc != null) {
+ newdoc.setEnabled(enable);
+ open_template.setEnabled(enable);
+ importing.setEnabled(enable);
+ }
}
/**
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/db_save.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/db_save.png
new file mode 100644
index 0000000..4027076
Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/db_save.png differ
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/save.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/save.png
index 3c00424..c2953ab 100644
Binary files a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/save.png and b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/save.png differ
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java
index df25e20..9c5fda8 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptions.java
@@ -42,7 +42,7 @@ public class OpenOptions extends Composite {
}
@UiHandler("openReport")
void onOpenReportClick(ClickEvent e) {
- GWT.log("openReport");
+ GWT.log("editVME");
doAction(OpenMode.OPEN_REPORT);
}
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.java
new file mode 100644
index 0000000..fae0e38
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.java
@@ -0,0 +1,77 @@
+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 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:
+ Window.alert("Not yet available");
+ break;
+ case UPLOAD:
+ Window.alert("Not yet available");
+ break;
+ default:
+ break;
+ }
+
+ }
+}
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.ui.xml b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.ui.xml
new file mode 100644
index 0000000..8f9595b
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/uibinder/OpenOptionsVME.ui.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ Edit VME
+ |
+
+ Create VME
+ |
+
+ Delete VME
+ |
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/ReportGenerator.css b/src/main/webapp/ReportGenerator.css
index 86b6176..3bec5e9 100644
--- a/src/main/webapp/ReportGenerator.css
+++ b/src/main/webapp/ReportGenerator.css
@@ -55,6 +55,10 @@
background: url('images/uploadReport.png') 55% 25px no-repeat;
}
+.optionDeleteVME {
+ background: url('images/deleteVME.png') 55% 25px no-repeat;
+}
+
.exportPanel {
margin: 5px 5px 5px 20px;
border: 1px solid #e3e8f3;
diff --git a/src/main/webapp/images/deleteVME.png b/src/main/webapp/images/deleteVME.png
new file mode 100644
index 0000000..732f7a8
Binary files /dev/null and b/src/main/webapp/images/deleteVME.png differ