geoportal-data-viewer-app/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java

81 lines
1.8 KiB
Java

package org.gcube.portlets.user.geoportaldataviewer.client.ui;
import org.gcube.portlets.user.geoportaldataviewer.client.gis.OsmExample;
import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.Tab;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
public class GeonaDataViewMainPanel extends Composite {
private static GeonaDataViewMainPanelUiBinder uiBinder = GWT.create(GeonaDataViewMainPanelUiBinder.class);
interface GeonaDataViewMainPanelUiBinder extends UiBinder<Widget, GeonaDataViewMainPanel> {
}
@UiField
Tab mapTabPanel;
@UiField
Button dataPointSelection;
@UiField
Button dataBoxSelection;
private MapPanel mapPanel;
private OsmExample map;
public GeonaDataViewMainPanel() {
initWidget(uiBinder.createAndBindUi(this));
mapPanel = new MapPanel("600px");
mapTabPanel.add(mapPanel);
dataPointSelection.setToggle(true);
dataBoxSelection.setToggle(true);
bindHandlers();
}
public void setMapHeight(int height) {
mapPanel.setHeight(height +"px");
}
public MapPanel getMapPanel() {
return mapPanel;
}
public void setMap(OsmExample map) {
this.map = map;
}
public void bindHandlers(){
dataPointSelection.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
map.removeInteractions();
map.addPointVectorSource();
}
});
dataBoxSelection.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
map.removeInteractions();
map.addExtentInteraction();
}
});
}
}