117 lines
2.5 KiB
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");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|