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