diff --git a/.classpath b/.classpath
index a007caa..122aad1 100644
--- a/.classpath
+++ b/.classpath
@@ -26,7 +26,7 @@
-
+
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 593edac..c93ac0c 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -7,6 +7,9 @@
uses
+
+ uses
+
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 1e64b4c..956e110 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
@@ -540,7 +540,7 @@ public class Headerbar extends Composite{
Command showReportStructure = new Command() {
public void execute() {
- presenter.showReportStructure();
+ presenter.toggleReportStructure();
}
};
@@ -553,7 +553,7 @@ public class Headerbar extends Composite{
MenuItem toReturn = new MenuItem("View", optionsMenu);
optionsMenu.addItem("View Properties", openPageProperties);
- optionsMenu.addItem("View Structure", showReportStructure);
+ optionsMenu.addItem("View/Hide Structure", showReportStructure);
optionsMenu.addSeparator();
return toReturn;
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/CommonCommands.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/CommonCommands.java
index 8f27c05..861433e 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/CommonCommands.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/Presenter/CommonCommands.java
@@ -51,7 +51,11 @@ public class CommonCommands {
/**
*
*/
- public Command saveTemplate;
+ public Command saveTemplate;
+ /**
+ *
+ */
+ public Command structureView;
/**
*
*/
@@ -65,7 +69,11 @@ public class CommonCommands {
*/
public CommonCommands(final Presenter presenter) {
this.presenter = presenter;
-
+ structureView = new Command() {
+ public void execute() {
+ presenter.toggleReportStructure();
+ }
+ };
newTemplate = new Command() {
public void execute() {
presenter.changeTemplateName(TemplateModel.DEFAULT_NAME);
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 19aa5b2..94249cf 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
@@ -417,6 +417,7 @@ public class Presenter {
*/
HashMap toReturn = new HashMap();
+ toReturn.put("structureView", commonCommands.structureView);
toReturn.put("save", commonCommands.saveTemplate);
toReturn.put("newdoc", commonCommands.newTemplate);
toReturn.put("open_report", commonCommands.openReport);
@@ -808,8 +809,7 @@ public class Presenter {
if (currPage > 1)
titleBar.getSectionSwitchPanel().showPrevButton();
- //show the structure
- showReportStructure();
+
}
/**
@@ -1126,9 +1126,19 @@ public class Presenter {
areaForBiblio = d4sArea;
}
-
- public void showReportStructure() {
- toolBoxPanel.showStructure(new ReportStructurePanel(eventBus, model.getSerializableModel(), ToolboxPanel.TOOLBOX_WIDTH+"px", ToolboxPanel.TOOLBOX_HEIGHT+"px"));
+ /**
+ * show/hide the structure view
+ */
+ boolean hidden = true;
+ public void toggleReportStructure() {
+ if (hidden) {
+ toolBoxPanel.showStructure(new ReportStructurePanel(eventBus, model.getSerializableModel(), ToolboxPanel.TOOLBOX_WIDTH+"px", ToolboxPanel.TOOLBOX_HEIGHT+"px"));
+ hidden = false;
+ }
+ else {
+ toolBoxPanel.collapse();
+ hidden = true;
+ }
}
public HorizontalPanel getExportsPanel() {
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java
index 0c71234..aec73f5 100644
--- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java
+++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/ToolboxPanel.java
@@ -43,6 +43,8 @@ public class ToolboxPanel extends VerticalPanel {
}
public void collapse() {
+ clear();
+ GWT.log("collapse");
setWidth("20px");
}
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 fbf00d6..668b311 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
@@ -87,6 +87,10 @@ public interface Images extends ImageBundle {
* @return .
*/
AbstractImagePrototype db_save();
+ /**
+ * @return .
+ */
+ AbstractImagePrototype structureView();
/**
* @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 14f00b7..48f5a76 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
@@ -39,4 +39,5 @@ open_template = Open Template
open_report = Open Report from Workspace
importing = Import from Template
forecolors = Text Color
-close_report = Close Report
\ No newline at end of file
+close_report = Close Report
+structureView = Show/Hide Structure View
\ No newline at end of file
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 04747ec..4981fa7 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
@@ -80,6 +80,8 @@ public class RichTextToolbar extends Composite {
commands.get("save").execute();
} else if (sender == newdoc) {
commands.get("newdoc").execute();
+ }else if (sender == structureView) {
+ commands.get("structureView").execute();
}else if (sender == close) {
commands.get("newdoc").execute();
} else if (sender == open_report) {
@@ -163,7 +165,8 @@ public class RichTextToolbar extends Composite {
private VerticalPanel outer = new VerticalPanel();
private HorizontalPanel topPanel = new HorizontalPanel();
- private HorizontalPanel bottomPanel = new HorizontalPanel();
+ private HorizontalPanel bottomPanel = new HorizontalPanel();
+ private ToggleButton structureView;
private ToggleButton bold;
private ToggleButton italic;
private ToggleButton underline;
@@ -233,6 +236,7 @@ public class RichTextToolbar extends Composite {
richText.addStyleName("hasRichTextToolbar");
if (basic != null) {
+ topPanel.add(structureView = createToggleButton(images.structureView(), strings.structureView()));
if (! isVme) {
//add the new template button
topPanel.add(newdoc = createPushButton(images.newdoc(), strings.newdoc()));
@@ -520,6 +524,8 @@ public class RichTextToolbar extends Composite {
String small();
String strikeThrough();
+
+ String structureView();
String ul();
diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/structureView.png b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/structureView.png
new file mode 100644
index 0000000..9bc9817
Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/reportgenerator/client/toolbar/structureView.png differ