diff --git a/.classpath b/.classpath
index 68e48a9..1b3eb3f 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,12 @@
-
+
-
+
@@ -35,5 +35,5 @@
-
+
diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs
index 64194f3..aaa6c87 100644
--- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs
+++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs
@@ -1,4 +1,4 @@
eclipse.preferences.version=1
-lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-2.0.0-SNAPSHOT
+lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-2.0.0
warSrcDir=src/main/webapp
warSrcDirIsOutput=false
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 252448c..66ff2c7 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,15 +1,21 @@
-
-
-
-
-
-
-
-
-
- uses
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java
index 74be1f1..d0ddc0b 100644
--- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java
+++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java
@@ -16,6 +16,7 @@ import org.gcube.portlets.user.geoportaldataviewer.client.events.ClosedViewDetai
import org.gcube.portlets.user.geoportaldataviewer.client.events.ClosedViewDetailsEventHandler;
import org.gcube.portlets.user.geoportaldataviewer.client.events.DoActionOnDetailLayersEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.DoActionOnDetailLayersEvent.DO_LAYER_ACTION;
+import org.gcube.portlets.user.geoportaldataviewer.client.events.DoActionOnDetailLayersEvent.SwapLayer;
import org.gcube.portlets.user.geoportaldataviewer.client.events.DoActionOnDetailLayersEventHandler;
import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEventHandler;
@@ -379,10 +380,10 @@ public class GeoportalDataViewer implements EntryPoint {
break;
case SWAP:
- org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem sourceLayerSwap = doLayerActionEvent.getSourceLayerSwap();
- org.gcube.portlets.user.geoportaldataviewer.shared.gis.LayerItem target = doLayerActionEvent.getTargetLayerSwap();
- GWT.log("SWAPPING source "+sourceLayerSwap.getName() +", target: "+target.getName());
- olMap.swapDetailsLayers(sourceLayerSwap.getName(), target.getName());
+ SwapLayer swLS = doLayerActionEvent.getSourceLayerSwap();
+ SwapLayer swLT = doLayerActionEvent.getTargetLayerSwap();
+ GWT.log("SWAPPING source "+swLS.getLayerItem().getName() +", target: "+swLT.getLayerItem().getName());
+ olMap.swapDetailsLayers(swLS, swLT);
break;
case VISIBILITY:
diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java
index e8796e6..1969da0 100644
--- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java
+++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/LayerManager.java
@@ -27,6 +27,7 @@ import org.gcube.portlets.user.geoportaldataviewer.client.events.ZoomOutOverMini
import org.gcube.portlets.user.geoportaldataviewer.client.gis.ExtentWrapped;
import org.gcube.portlets.user.geoportaldataviewer.client.gis.MapUtils;
import org.gcube.portlets.user.geoportaldataviewer.client.gis.OpenLayerOSM;
+import org.gcube.portlets.user.geoportaldataviewer.client.ui.ModalWindow;
import org.gcube.portlets.user.geoportaldataviewer.client.util.StringUtil;
import org.gcube.portlets.user.geoportaldataviewer.client.util.URLUtil;
import org.gcube.portlets.user.geoportaldataviewer.shared.GeoNaSpatialQueryResult;
@@ -41,6 +42,7 @@ import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.Heading;
import com.github.gwtbootstrap.client.ui.Label;
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
+import com.github.gwtbootstrap.client.ui.constants.IconType;
import com.github.gwtbootstrap.client.ui.constants.LabelType;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
@@ -286,8 +288,9 @@ public class LayerManager {
@Override
public void onSuccess(List result) {
- GWT.log("Adding layers: " + result);
+
for (LayerConcessioneDV layer : result) {
+ GWT.log("Adding layer: " + layer.getLayerName());
addLayer("concessione", layer.getLayerName(),
layer.getLayerName(), layer.getWmsLink(),
false, false, layer.getLayerUUID(), true,
@@ -551,10 +554,62 @@ public class LayerManager {
public void showPopupInfoForLayer(List listGeoNaDataObject, ExtentWrapped queryClick) {
ScrollPanel scrollPanel = new ScrollPanel();
- FlowPanel flowPanel = new FlowPanel();
- // flowPanel.getElement().getStyle().setProperty("maxHeight", "600px");
+ final FlowPanel flowPanel = new FlowPanel();
+ flowPanel.getElement().getStyle().setProperty("maxHeight", "600px");
scrollPanel.add(flowPanel);
+
+ final Button expandButton = new Button("Expand");
+ expandButton.setType(ButtonType.LINK);
+ expandButton.setIcon(IconType.EXPAND);
+ expandButton.getElement().setId("expand-query");
+ expandButton.setTitle("Show this view in new Window");
+ /*expandButton.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+ flowPanel.getElement().getStyle().setProperty("maxHeight", "100%");
+ int width = Window.getClientWidth() * 75 / 100;
+ int height = Window.getClientHeight() * 70 / 100;
+ ModalWindow mw = new ModalWindow("Query view", width, height);
+ mw.add(flowPanel);
+ mw.show();
+
+ }
+ });*/
+
+ flowPanel.add(expandButton);
+
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+
+ @Override
+ public void execute() {
+ Element buttonElement = DOM.getElementById("expand-query");
+ Event.sinkEvents(buttonElement, Event.ONCLICK);
+ Event.setEventListener(buttonElement, new EventListener() {
+
+ @Override
+ public void onBrowserEvent(Event event) {
+ if (Event.ONCLICK == event.getTypeInt()) {
+ expandButton.setVisible(false);
+ flowPanel.getElement().getStyle().setProperty("maxHeight", "100%");
+ int width = Window.getClientWidth() * 75 / 100;
+ int height = Window.getClientHeight() * 70 / 100;
+ Coordinate center = queryClick.getCenter();
+ double x = center.getX();
+ double y = center.getY();
+ //"with center x: "+x +", y: "+y;
+ ModalWindow mw = new ModalWindow("Query view", width, height);
+ mw.add(flowPanel);
+ mw.show();
+ }
+ }
+ });
+ }
+ });
+
+ //fillLayersAndProperties(listGeoNaDataObject, expandButton, flowPanel);
+
String prevConcessioneName = "";
for (GeoNaSpatialQueryResult geoNaSpatialQueryResult : listGeoNaDataObject) {
try {
@@ -578,8 +633,9 @@ public class LayerManager {
String nomeConcessione = lo.getSourceConcessione().getNome();
if (prevConcessioneName.compareTo(nomeConcessione) != 0) {
- String concessioneIntro = StringUtil.ellipsize(lo.getSourceConcessione().getNome(), 40);
+ String concessioneIntro = nomeConcessione.length()>100? StringUtil.ellipsize(nomeConcessione, 100):nomeConcessione;
Heading heading = new Heading(4, concessioneIntro);
+ heading.setTitle(nomeConcessione);
heading.getElement().getStyle().setMarginBottom(10, Unit.PX);
flowPanel.add(heading);
HTML subText = new HTML(
@@ -599,19 +655,6 @@ public class LayerManager {
layerLabel.getElement().getStyle().setMarginBottom(5, Unit.PX);
flowPanel.add(layerLabel);
-
- /*
- if (features == null || features.isEmpty()) {
- FlexTable flex = new FlexTable();
- flex.setCellPadding(1);
- flex.setCellSpacing(1);
- flex.getElement().addClassName("table-feature");
- flex.setHTML(0, 0, new HTML("No data available").toString());
- flowPanel.add(flex);
- continue;
- // olMap.showPopup(vpPanel.toString(), onFailureCenterTo);
- }*/
-
GWT.log("Displaying " + features.size() + " features");
FlexTable intFlex = new FlexTable();
intFlex.setCellPadding(1);
@@ -661,7 +704,7 @@ public class LayerManager {
olMap.showPopup(scrollPanel.toString(), queryClick.getCenter());
}
-
+
/**
* Show popup info for centroid layer.
*
diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/events/DoActionOnDetailLayersEvent.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/events/DoActionOnDetailLayersEvent.java
index 20aa606..6259a65 100644
--- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/events/DoActionOnDetailLayersEvent.java
+++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/events/DoActionOnDetailLayersEvent.java
@@ -29,8 +29,49 @@ public class DoActionOnDetailLayersEvent extends GwtEvent();
@@ -822,15 +823,22 @@ public abstract class OpenLayerOSM {
* @param layerSource the source index
* @param layerTarget the target index
*/
- public void swapDetailsLayers(String layerSource, String layerTarget) {
+ public void swapDetailsLayers(SwapLayer swapLSource, SwapLayer swapLTarget) {
+
+ String layerSource = swapLSource.getLayerItem().getName();
+ String layerTarget = swapLTarget.getLayerItem().getName();
Image layer1 = wmsDetailsLayerMap.get(layerSource);
Image layer2 = wmsDetailsLayerMap.get(layerTarget);
- int zIndex1 = layer1.getZIndex();
- int zIndex2 = layer2.getZIndex();
- layer1.setZIndex(zIndex2);
- layer2.setZIndex(zIndex1);
-
+ int zIndexS = swapLSource.getPosition()+1;
+ int zIndexT = swapLTarget.getPosition()+1;
+ GWT.log("new zindex source: "+zIndexS+", new zTarget: "+zIndexT);
+ layer1.setZIndex(zIndexT);
+ layer2.setZIndex(zIndexS);
+
+ GWT.log("layer1 source: "+layerSource+", new zIndex: "+layer1.getZIndex());
+ GWT.log("layer1 target: "+layerTarget+", new zIndex: "+layer2.getZIndex());
+
}
/**
diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java
index 4842c41..850052b 100644
--- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java
+++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java
@@ -21,10 +21,12 @@ import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
/**
@@ -76,7 +78,7 @@ public class GeonaDataViewMainPanel extends Composite {
Button layersDDB;
@UiField
- FlowPanel overlayLayersPanel;
+ ScrollPanel overlayLayersPanel;
private MapPanel mapPanel;
@@ -278,6 +280,9 @@ public class GeonaDataViewMainPanel extends Composite {
//layersDDB.setVisible(true);
overlayLayersPanel.setVisible(true);
overlayLayersPanel.clear();
+ int height = Window.getClientHeight() * 87 / 100;
+ panel.getElement().getStyle().setProperty("maxHeight", height+"px");
+ //panel.getElement().getStyle().setProperty("maxHeight", height+"px");
overlayLayersPanel.add(panel);
//layersDDBClickEvent();
}
diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml
index c26a84d..3052b86 100644
--- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml
+++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml
@@ -57,8 +57,8 @@
text="Remove Query" visible="false">
-
+