tabular-data-toolbox-widget/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java

79 lines
2.1 KiB
Java

package org.gcube.portlets.user.td.toolboxwidget.client;
import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties;
import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.ui.Widget;
import com.google.web.bindery.event.shared.EventBus;
import com.sencha.gxt.widget.core.client.TabItemConfig;
import com.sencha.gxt.widget.core.client.TabPanel;
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent;
import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent.BeforeCloseHandler;
public class ToolBox extends TabPanel {
protected EventBus eventBus;
protected TabularResourceProperties trProperties;
protected ToolBoxPanel toolBoxPanel;
public ToolBox(String name, EventBus eventBus, ToolBoxPanel toolBoxPanel) {
super();
Log.debug("Create ToolBox");
this.eventBus = eventBus;
this.toolBoxPanel = toolBoxPanel;
setId(name);
setAnimScroll(true);
setTabScroll(true);
setCloseContextMenu(true);
// setResizeTabs(true);
}
public void closeTabs() {
Log.debug("Close ToolBox Tabs");
for (int i = 0; i < getTabIndex(); i++) {
remove(i);
}
}
public void updateTabs(){
Log.debug("Update ToolBox Tabs");
if(trProperties!=null){
trProperties.update();
}
}
public void openTabs() {
Log.debug("Open ToolBox Tabs");
TabItemConfig propertiesItemConf = new TabItemConfig("Properties", true);
trProperties = new TabularResourceProperties("TRProperties", eventBus);
trProperties.setHeaderVisible(false);
add(trProperties, propertiesItemConf);
addBeforeCloseHandler(new BeforeCloseHandler<Widget>() {
@Override
public void onBeforeClose(BeforeCloseEvent<Widget> event) {
if (getWidgetCount() == 1) {
toolBoxPanel.closePanelOnly();
remove(trProperties);
}
}
});
/*
* Label taskLabel = new Label("Task Properties");
* taskLabel.addStyleName("pad-text"); functionalityTab .add(taskLabel,
* new TabItemConfig("Task", true));
*/
setActiveWidget(getWidget(0));
}
}