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 e704f15..1ac0050 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 @@ -3,6 +3,7 @@ package org.gcube.portlets.user.td.toolboxwidget.client; import org.gcube.portlets.user.td.columnwidget.client.ChangeColumnTypePanel; import org.gcube.portlets.user.td.columnwidget.client.DeleteColumnPanel; import org.gcube.portlets.user.td.columnwidget.client.LabelColumnPanel; +import org.gcube.portlets.user.td.informationwidget.client.ChangeTableTypePanel; 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.widgetcommonevent.shared.TRId; @@ -29,6 +30,7 @@ public class ToolBox extends TabPanel { protected ChangeColumnTypePanel changeColumnTypePanel; protected DeleteColumnPanel deleteColumnPanel; protected LabelColumnPanel labelColumnPanel; + protected ChangeTableTypePanel changeTableTypePanel; // protected TdTaskController tdTaskController; // protected DialogBox tdTaskMainWindow; @@ -104,6 +106,18 @@ public class ToolBox extends TabPanel { } + public void openChangeTableTypeTab(TRId trId) { + Log.debug("Open Change Table Type Tab"); + if (changeTableTypePanel == null) { + addChangeTableTypePanel(trId); + } else { + changeTableTypePanel.update(trId); + } + setActiveWidget(changeTableTypePanel); + + } + + public void closePropertiesTabs() { Log.debug("Close Properties Tab"); @@ -137,6 +151,14 @@ public class ToolBox extends TabPanel { labelColumnPanel = null; } } + + public void closeChangeTableTypePanel() { + Log.debug("Close ChangeTableTypePanel Tab"); + if (changeTableTypePanel != null) { + remove(changeTableTypePanel); + changeTableTypePanel = null; + } + } public void updateTabs() { @@ -156,6 +178,11 @@ public class ToolBox extends TabPanel { remove(labelColumnPanel); labelColumnPanel = null; } + if (changeTableTypePanel != null) { + remove(changeTableTypePanel); + changeTableTypePanel = null; + } + } @@ -255,6 +282,29 @@ public class ToolBox extends TabPanel { }); }; + + protected void addChangeTableTypePanel(TRId trId) { + TabItemConfig changeTableTypeItemConf = new TabItemConfig( + "Table Type", true); + + changeTableTypePanel = new ChangeTableTypePanel(trId, + eventBus); + add(changeTableTypePanel, changeTableTypeItemConf); + + addBeforeCloseHandler(new BeforeCloseHandler() { + + public void onBeforeClose(BeforeCloseEvent event) { + if (changeTableTypePanel == event.getItem()) { + remove(changeTableTypePanel); + changeTableTypePanel = null; + + } + + } + + }); + }; + 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 1bf4c13..3580f6e 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 @@ -122,7 +122,9 @@ public class ToolBoxPanel extends ContentPanel { case LABELCOLUNPANEL: doLabelColumnTab(event); break; - + case CHANGETABLETYPEPANEL: + doChangeTableTypeTab(event); + break; default: break; @@ -181,6 +183,24 @@ public class ToolBoxPanel extends ContentPanel { } + protected void doChangeTableTypeTab(WidgetRequestEvent event){ + Log.debug("WidgetRequestEvent.ChangeTableTypePanel : ["+event.getTrId()+"]"); + if (uiStateType == UIStateType.TR_OPEN) { + if (state == ToolBoxPanelState.OPENED) { + toolBox.openChangeTableTypeTab(event.getTrId()); + Log.debug("ToolBoxPanelSTate.OPENED Add Tabs"); + } else { + enable(); + expand(); + state = ToolBoxPanelState.OPENED; + toolBox.openChangeTableTypeTab(event.getTrId()); + } + } else { + Log.debug("ToolBoxPanel No table open"); + } + } + + protected void doPropertiesOpenTab(){ if (uiStateType == UIStateType.TR_OPEN) { @@ -219,6 +239,7 @@ public class ToolBoxPanel extends ContentPanel { toolBox.closeChangeColumnTypePanel(); toolBox.closeDeleteColumnPanel(); toolBox.closeLabelColumnPanel(); + toolBox.closeChangeTableTypePanel(); Log.debug("ToolBoxPanel Closed"); }