data-miner-manager/src/main/java/org/gcube/portlets/user/dataminermanager/client/computations/ComputationsPanel.java

86 lines
2.3 KiB
Java

/**
*
*/
package org.gcube.portlets.user.dataminermanager.client.computations;
import org.gcube.portlets.user.dataminermanager.client.common.EventBusProvider;
import org.gcube.portlets.user.dataminermanager.client.events.ComputationDataEvent;
import com.allen_sauer.gwt.log.client.Log;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.FramedPanel;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData;
import com.sencha.gxt.widget.core.client.container.MarginData;
/**
*
* @author Giancarlo Panichi email: <a
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
*
*/
public class ComputationsPanel extends FramedPanel {
private ComputationsExecutedPanel computationsExecutedPanel;
private ComputationsViewerPanel computationsViewerPanel;
public ComputationsPanel() {
super();
init();
create();
bind();
}
private void init() {
setBodyStyle("backgroundColor:white;");
setBodyBorder(true);
setHeadingText("Computations");
setHeaderVisible(true);
}
private void bind(){
EventBusProvider.INSTANCE.addHandler(ComputationDataEvent.getType(),
new ComputationDataEvent.ComputationDataEventHandler() {
@Override
public void onComputationData(ComputationDataEvent event) {
Log.debug("Catch ComputationDataEvent: " + event);
showComputationsViewer(event);
}
});
}
private void showComputationsViewer(ComputationDataEvent event) {
if(computationsViewerPanel.isCollapsed()){
computationsViewerPanel.expand();
}
}
private void create() {
computationsExecutedPanel = new ComputationsExecutedPanel();
computationsViewerPanel = new ComputationsViewerPanel();
MarginData centerData = new MarginData(0);
BorderLayoutData southData = new BorderLayoutData(0.5);
southData.setMargins(new Margins(0));
southData.setCollapsible(true);
southData.setSplit(true);
southData.setCollapsed(true);
BorderLayoutContainer borderLayoutContainer = new BorderLayoutContainer();
borderLayoutContainer.setCenterWidget(computationsExecutedPanel, centerData);
borderLayoutContainer.setSouthWidget(computationsViewerPanel, southData);
add(borderLayoutContainer, new MarginData(new Margins(0)));
}
}