statistical-algorithms-impo.../src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/tools/input/InputVariablePanel.java

117 lines
2.5 KiB
Java

package org.gcube.portlets.user.statisticalalgorithmsimporter.client.tools.input;
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.ProjectStatusEvent;
import org.gcube.portlets.user.statisticalalgorithmsimporter.client.event.UIStateEvent;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.event.shared.EventBus;
import com.sencha.gxt.widget.core.client.ContentPanel;
/**
*
* @author giancarlo
* email: <a href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class InputVariablePanel extends ContentPanel {
private EventBus eventBus;
private InputVariableTabPanel inputVariableTabPanel;
private InputVariablePanelState state;
public InputVariablePanel(EventBus eventBus) {
super();
Log.debug("Open InputVariablePanel");
this.eventBus = eventBus;
setId("InputVariablePanel");
setHeaderVisible(false);
setResize(true);
setBodyBorder(false);
setBorders(false);
forceLayoutOnResize = true;
inputVariableTabPanel = new InputVariableTabPanel(eventBus, this);
add(inputVariableTabPanel);
startPanel();
bindToEvents();
}
protected void bindToEvents() {
eventBus.addHandler(UIStateEvent.TYPE,
new UIStateEvent.UIStateHandler() {
public void onUIState(UIStateEvent event) {
manageUIStateEvents(event);
}
});
eventBus.addHandler(ProjectStatusEvent.TYPE,
new ProjectStatusEvent.ProjectStatusEventHandler() {
@Override
public void onProjectStatus(ProjectStatusEvent event) {
manageProjectStatusEvents(event);
}
});
}
protected void manageUIStateEvents(UIStateEvent event) {
Log.debug("InputVariablePanel recieved event from UI: "
+ event.toString());
switch (event.getUiStateType()) {
case START:
break;
case WAITING:
break;
default:
break;
}
}
protected void manageProjectStatusEvents(ProjectStatusEvent event) {
Log.debug("InputVariablePanel recieved event ProjectStatus: "
+ event.toString());
switch (event.getProjectStatusEventType()) {
case OPEN:
startPanel();
break;
case UPDATE:
updatePanel();
break;
default:
break;
}
}
/*
private void closePanelOnly() {
collapse();
disable();
state = InputVariablePanelState.CLOSED;
}*/
private void startPanel() {
enable();
expand();
state = InputVariablePanelState.OPENED;
inputVariableTabPanel.startTabs();
}
private void updatePanel() {
if (state == InputVariablePanelState.OPENED) {
inputVariableTabPanel.updateTabs();
Log.debug("ToolBoxPanel Updated");
}
}
}