2013-12-11 12:42:46 +01:00
|
|
|
package org.gcube.portlets.user.td.toolboxwidget.client;
|
|
|
|
|
|
|
|
|
|
|
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.RibbonEvent;
|
|
|
|
import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
|
|
|
|
import org.gcube.portlets.user.td.widgetcommonevent.client.type.UIStateType;
|
|
|
|
|
|
|
|
import com.allen_sauer.gwt.log.client.Log;
|
|
|
|
import com.google.web.bindery.event.shared.EventBus;
|
|
|
|
import com.sencha.gxt.widget.core.client.ContentPanel;
|
|
|
|
|
|
|
|
|
|
|
|
public class ToolBoxPanel extends ContentPanel {
|
|
|
|
|
|
|
|
protected EventBus eventBus;
|
|
|
|
protected ToolBox toolBox;
|
|
|
|
protected ToolBoxPanelState state;
|
|
|
|
protected UIStateType uiStateType;
|
|
|
|
|
|
|
|
|
|
|
|
public ToolBoxPanel(String name, EventBus eventBus) {
|
|
|
|
super();
|
|
|
|
Log.debug("Close ToolBoxPanel");
|
|
|
|
this.eventBus=eventBus;
|
|
|
|
setId(name);
|
|
|
|
setWidth(310);
|
|
|
|
setHeaderVisible(false);
|
|
|
|
setResize(true);
|
|
|
|
state=ToolBoxPanelState.CLOSED;
|
|
|
|
toolBox = new ToolBox("ToolBox",eventBus,this);
|
|
|
|
|
|
|
|
add(toolBox);
|
|
|
|
|
|
|
|
bindToEvents();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void bindToEvents() {
|
|
|
|
eventBus.addHandler(RibbonEvent.TYPE,
|
|
|
|
new RibbonEvent.RibbonEventHandler() {
|
|
|
|
|
2013-12-16 18:05:38 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
public void onRibbon(RibbonEvent event) {
|
|
|
|
manageRibbonEvents(event);
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
eventBus.addHandler(
|
|
|
|
UIStateEvent.TYPE,
|
|
|
|
new UIStateEvent.UIStateHandler() {
|
|
|
|
|
2013-12-16 18:05:38 +01:00
|
|
|
|
2013-12-11 12:42:46 +01:00
|
|
|
public void onUIState(UIStateEvent event) {
|
|
|
|
manageUIStateEvents(event);
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void manageRibbonEvents(RibbonEvent event){
|
|
|
|
Log.debug("ToolBox recieved event: "+event.getRibbonType().toString());
|
|
|
|
switch (event.getRibbonType()){
|
|
|
|
case PROPERTIES:
|
|
|
|
doToolBoxPanelOpenSwitch();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void manageUIStateEvents(UIStateEvent event){
|
|
|
|
Log.debug("ToolBox recieved event: "+event.getUIStateType().toString());
|
|
|
|
uiStateType = event.getUIStateType();
|
|
|
|
switch (event.getUIStateType()){
|
|
|
|
case START:
|
|
|
|
break;
|
|
|
|
case TR_CLOSE:
|
|
|
|
closePanel();
|
|
|
|
break;
|
|
|
|
case TR_OPEN:
|
|
|
|
updatePanel();
|
|
|
|
break;
|
|
|
|
case WIZARD_OPEN:
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void doToolBoxPanelOpenSwitch(){
|
|
|
|
if (uiStateType == UIStateType.TR_OPEN) {
|
|
|
|
if (state == ToolBoxPanelState.OPENED) {
|
|
|
|
collapse();
|
|
|
|
disable();
|
|
|
|
|
|
|
|
state = ToolBoxPanelState.CLOSED;
|
|
|
|
toolBox.closeTabs();
|
|
|
|
Log.debug("ToolBoxPanel Closed");
|
|
|
|
} else {
|
|
|
|
enable();
|
|
|
|
expand();
|
|
|
|
state = ToolBoxPanelState.OPENED;
|
|
|
|
toolBox.openTabs();
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
Log.debug("ToolBoxPanel No table open");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public void closePanelOnly(){
|
|
|
|
collapse();
|
|
|
|
disable();
|
|
|
|
state=ToolBoxPanelState.CLOSED;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void closePanel(){
|
|
|
|
collapse();
|
|
|
|
disable();
|
|
|
|
state=ToolBoxPanelState.CLOSED;
|
|
|
|
toolBox.closeTabs();
|
|
|
|
Log.debug("ToolBoxPanel Closed");
|
|
|
|
}
|
|
|
|
|
|
|
|
public void updatePanel(){
|
|
|
|
if (state == ToolBoxPanelState.OPENED) {
|
|
|
|
toolBox.updateTabs();
|
|
|
|
Log.debug("ToolBoxPanel Updated");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|