From 419c8c26941fdc3ecd2626d6db4ab83456760e9a Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 29 Jan 2014 17:18:53 +0000 Subject: [PATCH] Added HelpPanel git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-toolbox-widget@90705 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/toolboxwidget/client/ToolBox.java | 45 +++++++- .../td/toolboxwidget/client/ToolBoxPanel.java | 18 ++- .../toolboxwidget/client/help/HelpPanel.java | 105 ++++++++++++++++++ 3 files changed, 159 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/help/HelpPanel.java diff --git a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java index da965c7..4b6cc83 100644 --- a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java +++ b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java @@ -1,6 +1,7 @@ package org.gcube.portlets.user.td.toolboxwidget.client; import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties; +import org.gcube.portlets.user.td.toolboxwidget.client.help.HelpPanel; //import org.gcube.portlets.user.td.taskswidget.client.TdTaskController; import com.allen_sauer.gwt.log.client.Log; @@ -21,10 +22,11 @@ public class ToolBox extends TabPanel { protected EventBus eventBus; protected TabularResourceProperties trProperties; protected ToolBoxPanel toolBoxPanel; + protected HelpPanel helpPanel; //protected TdTaskController tdTaskController; //protected DialogBox tdTaskMainWindow; protected FramedPanel taskPanel; - + public ToolBox(String name, EventBus eventBus, ToolBoxPanel toolBoxPanel) { super(); Log.debug("Create ToolBox"); @@ -35,16 +37,19 @@ public class ToolBox extends TabPanel { setAnimScroll(true); setTabScroll(true); setCloseContextMenu(true); - + + // setResizeTabs(true); } public void closeTabs() { Log.debug("Close ToolBox Tabs"); + remove(helpPanel); + helpPanel=null; remove(trProperties); trProperties=null; - remove(taskPanel); + //remove(taskPanel); // remove(tdTaskMainPanel); //tdTaskMainWindow=null; @@ -63,20 +68,50 @@ public class ToolBox extends TabPanel { }*/ } + + public void startTabs(){ + Log.debug("Start ToolBox Tabs"); + addHelpPanel(); + setActiveWidget(getWidget(0)); + } + public void openTabs() { Log.debug("Open ToolBox Tabs"); addTrProperties(); - addTdTaskPanel(); + //addTdTaskPanel(); /* * Label taskLabel = new Label("Task Properties"); * taskLabel.addStyleName("pad-text"); functionalityTab .add(taskLabel, * new TabItemConfig("Task", true)); */ - setActiveWidget(getWidget(0)); + setActiveWidget(trProperties); } + protected void addHelpPanel() { + TabItemConfig propertiesItemConf = new TabItemConfig("Help", true); + + helpPanel = new HelpPanel("Help", eventBus); + helpPanel.setHeaderVisible(false); + add(helpPanel, propertiesItemConf); + + addBeforeCloseHandler(new BeforeCloseHandler() { + + + public void onBeforeClose(BeforeCloseEvent event) { + if (getWidgetCount() == 1) { + toolBoxPanel.closePanelOnly(); + remove(helpPanel); + } + + } + + }); + }; + + + protected void addTrProperties() { TabItemConfig propertiesItemConf = new TabItemConfig("Properties", true); diff --git a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java index b25667b..8fd9ec4 100644 --- a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java @@ -20,17 +20,15 @@ public class ToolBoxPanel extends ContentPanel { public ToolBoxPanel(String name, EventBus eventBus) { super(); - Log.debug("Close ToolBoxPanel"); + Log.debug("Open ToolBoxPanel"); this.eventBus=eventBus; setId(name); setWidth(310); setHeaderVisible(false); setResize(true); - state=ToolBoxPanelState.CLOSED; toolBox = new ToolBox("ToolBox",eventBus,this); - add(toolBox); - + startPanel(); bindToEvents(); } @@ -79,9 +77,11 @@ public class ToolBoxPanel extends ContentPanel { closePanel(); break; case TR_OPEN: + this.enable(); updatePanel(); break; case WIZARD_OPEN: + this.disable(); break; default: break; @@ -107,6 +107,7 @@ public class ToolBoxPanel extends ContentPanel { } } else { + Log.debug("ToolBoxPanel No table open"); } @@ -127,6 +128,15 @@ public class ToolBoxPanel extends ContentPanel { Log.debug("ToolBoxPanel Closed"); } + public void startPanel(){ + enable(); + expand(); + state = ToolBoxPanelState.OPENED; + toolBox.openTabs(); + + } + + public void updatePanel(){ if (state == ToolBoxPanelState.OPENED) { toolBox.updateTabs(); diff --git a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/help/HelpPanel.java b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/help/HelpPanel.java new file mode 100644 index 0000000..d164043 --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/help/HelpPanel.java @@ -0,0 +1,105 @@ +package org.gcube.portlets.user.td.toolboxwidget.client.help; + +import java.util.HashMap; + +import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; +import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; +import org.gcube.portlets.user.td.gwtservice.shared.tr.TableData; +import org.gcube.portlets.user.td.metadatawidget.client.TRMetadataAccordionPanel; +import org.gcube.portlets.user.td.metadatawidget.client.TableMetadataAccordionPanel; +import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; + +import com.allen_sauer.gwt.log.client.Log; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.HTML; +import com.google.web.bindery.event.shared.EventBus; +import com.sencha.gxt.core.client.util.Margins; +import com.sencha.gxt.widget.core.client.FramedPanel; +import com.sencha.gxt.widget.core.client.box.AlertMessageBox; +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.HideEvent; +import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; +import com.sencha.gxt.widget.core.client.form.FieldLabel; +import com.sencha.gxt.widget.core.client.form.FieldSet; +import com.sencha.gxt.widget.core.client.form.TextArea; +import com.sencha.gxt.widget.core.client.form.TextField; + +public class HelpPanel extends FramedPanel { + protected String headingTitle; + protected HashMap tabularResourcePropertiesMap; + protected VerticalLayoutContainer vl; + protected EventBus eventBus; + + protected FieldSet contents; + + protected VerticalLayoutContainer layoutCaptions; + + public HelpPanel(String name, EventBus eventBus) { + super(); + setId(name); + this.eventBus = eventBus; + forceLayoutOnResize = true; + setBodyBorder(false); + + vl = new VerticalLayoutContainer(); + initInformation(); + this.add(vl); + + } + + public void addContents() { + HTML title=new HTML("

Tabular Data Manager Help

"); + add(title); + + contents = new FieldSet(); + contents.setHeadingText("Contents"); + contents.setCollapsible(true); + contents.setResize(true); + + layoutCaptions = new VerticalLayoutContainer(); + contents.add(layoutCaptions); + HTML info=new HTML("

Tabular Data Manager offers facilities supporting the management of the entire life-cycle" + + "(creation, curation, manipulation and publication) of Tabular Resources such as datasets, codelist or generic table." + + " i.e. tabular data representing observations of a given event or phenomenon at different time intervals." + + " Tabular Resource are used in many domains ranging from statistics to signal processing and econometrics." + + " Tabular Data Manager offers a rich set of facilities ranging from those supporting the assessment" + + " of data correctness to those supporting the verification of the compliance of data with given code lists," + + " the aggregation and filtering of data.

"); + layoutCaptions.add(info, + new VerticalLayoutData(-1, -1, new Margins(1))); + + vl.add(contents); + + } + + /* + * protected void getLastTable(TRId trId) { TDGWTServiceAsync.INSTANCE + * .getLastTable(trId,new AsyncCallback() { + * + * public void onSuccess(TableData result) { updateTable(result); + * Log.info("Retrived LastTable:" + result.getName()); + * + * } + * + * public void onFailure(Throwable caught) { AlertMessageBox d = new + * AlertMessageBox("Error", "Error retrienving Last Table: " + + * caught.getLocalizedMessage()); d.addHideHandler(new HideHandler() { + * + * public void onHide(HideEvent event) { // + * + * } + * + * }); d.show(); + * + * } + * + * }); } + */ + + public void initInformation() { + addContents(); + + } + +}