2013-12-10 18:59:22 +01:00
|
|
|
package org.gcube.portlets.user.td.toolboxwidget.client;
|
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
import org.gcube.portlets.user.td.columnwidget.client.ChangeColumnTypePanel;
|
2014-02-11 10:52:35 +01:00
|
|
|
import org.gcube.portlets.user.td.columnwidget.client.DeleteColumnPanel;
|
2014-02-11 17:02:35 +01:00
|
|
|
import org.gcube.portlets.user.td.columnwidget.client.LabelColumnPanel;
|
2013-12-11 12:42:46 +01:00
|
|
|
import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties;
|
2014-03-05 18:42:29 +01:00
|
|
|
import org.gcube.portlets.user.td.tablewidget.client.ChangeTableTypePanel;
|
2014-01-29 18:18:53 +01:00
|
|
|
import org.gcube.portlets.user.td.toolboxwidget.client.help.HelpPanel;
|
2014-02-04 18:53:27 +01:00
|
|
|
import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
|
2013-12-11 12:42:46 +01:00
|
|
|
|
|
|
|
import com.allen_sauer.gwt.log.client.Log;
|
|
|
|
import com.google.gwt.user.client.ui.Widget;
|
2013-12-10 18:59:22 +01:00
|
|
|
import com.google.web.bindery.event.shared.EventBus;
|
2013-12-12 11:26:33 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.FramedPanel;
|
2013-12-11 12:42:46 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.TabItemConfig;
|
2013-12-11 09:43:57 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.TabPanel;
|
2013-12-12 11:26:33 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.button.TextButton;
|
2013-12-11 12:42:46 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent;
|
|
|
|
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent.BeforeCloseHandler;
|
2013-12-12 11:26:33 +01:00
|
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
2013-12-16 17:47:05 +01:00
|
|
|
//import org.gcube.portlets.user.td.taskswidget.client.TdTaskController;
|
2014-02-04 18:53:27 +01:00
|
|
|
//import org.gcube.portlets.user.td.taskswidget.client.TdTaskController;
|
2013-12-10 18:59:22 +01:00
|
|
|
|
2013-12-11 09:43:57 +01:00
|
|
|
public class ToolBox extends TabPanel {
|
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
protected EventBus eventBus;
|
|
|
|
protected TabularResourceProperties trProperties;
|
|
|
|
protected ToolBoxPanel toolBoxPanel;
|
2014-01-29 18:18:53 +01:00
|
|
|
protected HelpPanel helpPanel;
|
2014-02-04 18:53:27 +01:00
|
|
|
protected ChangeColumnTypePanel changeColumnTypePanel;
|
2014-02-11 10:52:35 +01:00
|
|
|
protected DeleteColumnPanel deleteColumnPanel;
|
2014-02-11 17:02:35 +01:00
|
|
|
protected LabelColumnPanel labelColumnPanel;
|
2014-02-25 19:25:50 +01:00
|
|
|
protected ChangeTableTypePanel changeTableTypePanel;
|
2014-02-11 17:02:35 +01:00
|
|
|
|
2014-02-04 20:39:11 +01:00
|
|
|
// protected TdTaskController tdTaskController;
|
|
|
|
// protected DialogBox tdTaskMainWindow;
|
2013-12-12 11:28:33 +01:00
|
|
|
protected FramedPanel taskPanel;
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
public ToolBox(String name, EventBus eventBus, ToolBoxPanel toolBoxPanel) {
|
2013-12-10 18:59:22 +01:00
|
|
|
super();
|
2013-12-11 12:42:46 +01:00
|
|
|
Log.debug("Create ToolBox");
|
|
|
|
this.eventBus = eventBus;
|
|
|
|
this.toolBoxPanel = toolBoxPanel;
|
2013-12-10 18:59:22 +01:00
|
|
|
setId(name);
|
2014-01-29 18:55:17 +01:00
|
|
|
setBodyBorder(false);
|
2014-01-29 19:21:23 +01:00
|
|
|
setBorders(false);
|
2013-12-11 12:42:46 +01:00
|
|
|
setAnimScroll(true);
|
|
|
|
setTabScroll(true);
|
|
|
|
setCloseContextMenu(true);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
// setResizeTabs(true);
|
2013-12-10 18:59:22 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-02-04 20:39:11 +01:00
|
|
|
public void startTabs() {
|
2014-01-31 19:14:22 +01:00
|
|
|
Log.debug("Start ToolBox Tabs");
|
|
|
|
addHelpPanel();
|
|
|
|
setActiveWidget(getWidget(0));
|
|
|
|
|
|
|
|
}
|
2014-02-05 19:55:46 +01:00
|
|
|
|
|
|
|
public void showHelpTab(){
|
|
|
|
Log.debug("Show Help Tab");
|
|
|
|
setActiveWidget(helpPanel);
|
|
|
|
}
|
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
public void openPropertiesTab() {
|
|
|
|
Log.debug("Open Properties Tab");
|
2014-01-31 19:14:22 +01:00
|
|
|
if (trProperties == null) {
|
|
|
|
addTrProperties();
|
|
|
|
}
|
|
|
|
setActiveWidget(trProperties);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-01-31 19:14:22 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
public void openColumnTypeChangeTab(TRId trId, String columnName) {
|
|
|
|
Log.debug("Open Column Type Change Tab");
|
2014-02-04 20:39:11 +01:00
|
|
|
if (changeColumnTypePanel == null) {
|
2014-02-04 18:53:27 +01:00
|
|
|
addChangeColumnTypePanel(trId, columnName);
|
2014-02-06 14:15:03 +01:00
|
|
|
} else {
|
|
|
|
changeColumnTypePanel.update(trId, columnName);
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
|
|
|
setActiveWidget(changeColumnTypePanel);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
2014-02-11 10:52:35 +01:00
|
|
|
|
|
|
|
public void openDeleteColumnTab(TRId trId, String columnName) {
|
|
|
|
Log.debug("Open Delete Column Tab");
|
|
|
|
if (deleteColumnPanel == null) {
|
|
|
|
addDeleteColumnPanel(trId, columnName);
|
|
|
|
} else {
|
|
|
|
deleteColumnPanel.update(trId, columnName);
|
|
|
|
}
|
|
|
|
setActiveWidget(deleteColumnPanel);
|
|
|
|
|
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-02-11 17:02:35 +01:00
|
|
|
public void openLabelColumnTab(TRId trId, String columnName) {
|
|
|
|
Log.debug("Open Label Column Tab");
|
|
|
|
if (labelColumnPanel == null) {
|
2014-02-11 17:29:15 +01:00
|
|
|
addLabelColumnPanel(trId, columnName);
|
2014-02-11 17:02:35 +01:00
|
|
|
} else {
|
|
|
|
labelColumnPanel.update(trId, columnName);
|
|
|
|
}
|
|
|
|
setActiveWidget(labelColumnPanel);
|
|
|
|
|
|
|
|
}
|
2014-02-11 10:52:35 +01:00
|
|
|
|
2014-02-25 19:25:50 +01:00
|
|
|
public void openChangeTableTypeTab(TRId trId) {
|
|
|
|
Log.debug("Open Change Table Type Tab");
|
|
|
|
if (changeTableTypePanel == null) {
|
|
|
|
addChangeTableTypePanel(trId);
|
|
|
|
} else {
|
|
|
|
changeTableTypePanel.update(trId);
|
|
|
|
}
|
|
|
|
setActiveWidget(changeTableTypePanel);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
|
2014-01-31 19:14:22 +01:00
|
|
|
public void closePropertiesTabs() {
|
2014-02-04 18:53:27 +01:00
|
|
|
Log.debug("Close Properties Tab");
|
2014-02-04 20:39:11 +01:00
|
|
|
if (trProperties != null) {
|
2014-01-29 18:55:17 +01:00
|
|
|
remove(trProperties);
|
2014-02-04 20:39:11 +01:00
|
|
|
trProperties = null;
|
2014-01-29 18:55:17 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
|
|
|
public void closeChangeColumnTypePanel() {
|
2014-02-04 18:53:27 +01:00
|
|
|
Log.debug("Close ChangeColumnTypePanel Tab");
|
|
|
|
if (changeColumnTypePanel != null) {
|
|
|
|
remove(changeColumnTypePanel);
|
2014-02-04 20:39:11 +01:00
|
|
|
changeColumnTypePanel = null;
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
2013-12-11 12:42:46 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
public void closeDeleteColumnPanel() {
|
|
|
|
Log.debug("Close DeleteColumnPanel Tab");
|
|
|
|
if (deleteColumnPanel != null) {
|
|
|
|
remove(deleteColumnPanel);
|
|
|
|
deleteColumnPanel = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-11 17:02:35 +01:00
|
|
|
public void closeLabelColumnPanel() {
|
|
|
|
Log.debug("Close LabelColumnPanel Tab");
|
|
|
|
if (labelColumnPanel != null) {
|
|
|
|
remove(labelColumnPanel);
|
|
|
|
labelColumnPanel = null;
|
|
|
|
}
|
|
|
|
}
|
2014-02-25 19:25:50 +01:00
|
|
|
|
|
|
|
public void closeChangeTableTypePanel() {
|
|
|
|
Log.debug("Close ChangeTableTypePanel Tab");
|
|
|
|
if (changeTableTypePanel != null) {
|
|
|
|
remove(changeTableTypePanel);
|
|
|
|
changeTableTypePanel = null;
|
|
|
|
}
|
|
|
|
}
|
2014-02-11 17:02:35 +01:00
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
|
2013-12-11 19:49:22 +01:00
|
|
|
public void updateTabs() {
|
2013-12-11 12:42:46 +01:00
|
|
|
Log.debug("Update ToolBox Tabs");
|
2013-12-11 19:49:22 +01:00
|
|
|
if (trProperties != null) {
|
2013-12-11 12:42:46 +01:00
|
|
|
trProperties.update();
|
|
|
|
}
|
2014-02-04 18:53:27 +01:00
|
|
|
if (changeColumnTypePanel != null) {
|
|
|
|
remove(changeColumnTypePanel);
|
2014-02-04 20:39:11 +01:00
|
|
|
changeColumnTypePanel = null;
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
2014-02-11 10:52:35 +01:00
|
|
|
if (deleteColumnPanel != null) {
|
|
|
|
remove(deleteColumnPanel);
|
|
|
|
deleteColumnPanel = null;
|
|
|
|
}
|
2014-02-11 17:02:35 +01:00
|
|
|
if (labelColumnPanel != null) {
|
|
|
|
remove(labelColumnPanel);
|
|
|
|
labelColumnPanel = null;
|
|
|
|
}
|
2014-02-25 19:25:50 +01:00
|
|
|
if (changeTableTypePanel != null) {
|
|
|
|
remove(changeTableTypePanel);
|
|
|
|
changeTableTypePanel = null;
|
|
|
|
}
|
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-01-29 18:18:53 +01:00
|
|
|
protected void addHelpPanel() {
|
2014-01-29 19:21:23 +01:00
|
|
|
TabItemConfig propertiesItemConf = new TabItemConfig("Help", false);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2014-01-29 18:18:53 +01:00
|
|
|
helpPanel = new HelpPanel("Help", eventBus);
|
|
|
|
helpPanel.setHeaderVisible(false);
|
|
|
|
add(helpPanel, propertiesItemConf);
|
|
|
|
|
|
|
|
};
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 19:49:22 +01:00
|
|
|
protected void addTrProperties() {
|
2013-12-11 12:42:46 +01:00
|
|
|
TabItemConfig propertiesItemConf = new TabItemConfig("Properties", true);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
trProperties = new TabularResourceProperties("TRProperties", eventBus);
|
|
|
|
trProperties.setHeaderVisible(false);
|
|
|
|
add(trProperties, propertiesItemConf);
|
2013-12-11 19:49:22 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
2014-02-04 20:39:11 +01:00
|
|
|
if (trProperties == event.getItem()) {
|
2013-12-11 12:42:46 +01:00
|
|
|
remove(trProperties);
|
2014-02-04 20:39:11 +01:00
|
|
|
trProperties = null;
|
2013-12-11 12:42:46 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
2013-12-11 19:49:22 +01:00
|
|
|
};
|
2014-02-04 18:53:27 +01:00
|
|
|
|
|
|
|
protected void addChangeColumnTypePanel(TRId trId, String columnName) {
|
2014-02-04 20:39:11 +01:00
|
|
|
TabItemConfig changeColumnTypeItemConf = new TabItemConfig(
|
|
|
|
"Column Type", true);
|
|
|
|
|
|
|
|
changeColumnTypePanel = new ChangeColumnTypePanel(trId, columnName,
|
|
|
|
eventBus);
|
2014-02-04 18:53:27 +01:00
|
|
|
add(changeColumnTypePanel, changeColumnTypeItemConf);
|
2013-12-11 12:42:46 +01:00
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
2014-02-04 20:39:11 +01:00
|
|
|
if (changeColumnTypePanel == event.getItem()) {
|
2014-02-04 18:53:27 +01:00
|
|
|
remove(changeColumnTypePanel);
|
2014-02-04 20:39:11 +01:00
|
|
|
changeColumnTypePanel = null;
|
|
|
|
|
2014-02-04 18:53:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
protected void addDeleteColumnPanel(TRId trId, String columnName) {
|
|
|
|
TabItemConfig deleteColumnItemConf = new TabItemConfig(
|
|
|
|
"Column Delete", true);
|
|
|
|
|
|
|
|
deleteColumnPanel = new DeleteColumnPanel(trId, columnName,
|
|
|
|
eventBus);
|
|
|
|
add(deleteColumnPanel, deleteColumnItemConf);
|
|
|
|
|
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
|
|
|
if (deleteColumnPanel == event.getItem()) {
|
|
|
|
remove(deleteColumnPanel);
|
|
|
|
deleteColumnPanel = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2014-02-11 17:02:35 +01:00
|
|
|
protected void addLabelColumnPanel(TRId trId, String columnName) {
|
|
|
|
TabItemConfig labelColumnItemConf = new TabItemConfig(
|
|
|
|
"Column Label", true);
|
|
|
|
|
|
|
|
labelColumnPanel = new LabelColumnPanel(trId, columnName,
|
|
|
|
eventBus);
|
|
|
|
add(labelColumnPanel, labelColumnItemConf);
|
|
|
|
|
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
|
|
|
if (labelColumnPanel == event.getItem()) {
|
|
|
|
remove(labelColumnPanel);
|
|
|
|
labelColumnPanel = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
};
|
2014-02-25 19:25:50 +01:00
|
|
|
|
|
|
|
protected void addChangeTableTypePanel(TRId trId) {
|
|
|
|
TabItemConfig changeTableTypeItemConf = new TabItemConfig(
|
|
|
|
"Table Type", true);
|
|
|
|
|
|
|
|
changeTableTypePanel = new ChangeTableTypePanel(trId,
|
|
|
|
eventBus);
|
|
|
|
add(changeTableTypePanel, changeTableTypeItemConf);
|
|
|
|
|
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
|
|
|
if (changeTableTypePanel == event.getItem()) {
|
|
|
|
remove(changeTableTypePanel);
|
|
|
|
changeTableTypePanel = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2014-02-11 17:02:35 +01:00
|
|
|
|
2014-02-11 10:52:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-12 11:28:33 +01:00
|
|
|
protected void addTdTaskPanel() {
|
2014-03-06 12:40:56 +01:00
|
|
|
//TODO
|
2014-02-04 20:39:11 +01:00
|
|
|
// tdTaskController = TdTaskController.getInstance();
|
|
|
|
// tdTaskController.bindCommonBus(eventBus);
|
|
|
|
// tdTaskMainWindow = tdTaskController.getWindowTaskMonitor(); // This
|
|
|
|
// is main panel
|
|
|
|
|
|
|
|
taskPanel = new FramedPanel();
|
2013-12-12 11:26:33 +01:00
|
|
|
taskPanel.setHeaderVisible(false);
|
2014-02-04 20:39:11 +01:00
|
|
|
TextButton buttonTask = new TextButton("Tasks");
|
2013-12-12 11:26:33 +01:00
|
|
|
buttonTask.addSelectHandler(new SelectEvent.SelectHandler() {
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-12 11:26:33 +01:00
|
|
|
public void onSelect(SelectEvent event) {
|
2014-02-04 20:39:11 +01:00
|
|
|
// tdTaskMainWindow.show();
|
|
|
|
|
2013-12-12 11:26:33 +01:00
|
|
|
}
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-12 11:26:33 +01:00
|
|
|
});
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-12 11:26:33 +01:00
|
|
|
taskPanel.add(buttonTask);
|
2014-02-04 20:39:11 +01:00
|
|
|
|
2013-12-11 19:49:22 +01:00
|
|
|
TabItemConfig tdTasksItemConf = new TabItemConfig("Tasks", true);
|
|
|
|
|
2013-12-12 11:26:33 +01:00
|
|
|
add(taskPanel, tdTasksItemConf);
|
2013-12-11 19:49:22 +01:00
|
|
|
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
|
|
|
|
|
|
|
|
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
|
|
|
|
if (getWidgetCount() == 1) {
|
|
|
|
toolBoxPanel.closePanelOnly();
|
2013-12-12 11:28:33 +01:00
|
|
|
remove(taskPanel);
|
2013-12-11 19:49:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
2013-12-11 12:42:46 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2013-12-10 18:59:22 +01:00
|
|
|
}
|