Add controls to OpenLayers map
[gpl/argeo-suite.git] / org.argeo.app.geo / src / org / argeo / app / ol / Layer.java
index 8b8ea921ee5afddc80fcaecef3bf8f6de1bd99b1..f6ccd1bab4abb13fc319376ddd0fabc35edfaafb 100644 (file)
@@ -2,7 +2,11 @@ package org.argeo.app.ol;
 
 import java.util.Objects;
 
-public abstract class Layer extends AbstractOlObject {
+public class Layer extends AbstractOlObject {
+       public final static String NAME_KEY = "name";
+
+       // cached
+       private String name;
 
        public Layer(Object... args) {
                super(args);
@@ -11,10 +15,11 @@ public abstract class Layer extends AbstractOlObject {
        public void setOpacity(double opacity) {
                if (opacity < 0 || opacity > 1)
                        throw new IllegalArgumentException("Opacity must be between 0 and 1");
-               if (isNew())
-                       getNewOptions().put("opacity", opacity);
-               else
-                       executeMethod(getMethodName(), opacity);
+//             if (isNew())
+//                     getNewOptions().put("opacity", opacity);
+//             else
+//                     executeMethod(getMethodName(), opacity);
+               doSetValue(getMethodName(), "opacity", opacity);
        }
 
        public void setSource(Source source) {
@@ -25,18 +30,26 @@ public abstract class Layer extends AbstractOlObject {
                        executeMethod(getMethodName(), source);
        }
 
-       public void setMinResolution(long minResolution) {
+       public void setMinResolution(double minResolution) {
                if (isNew())
                        getNewOptions().put("minResolution", minResolution);
                else
                        executeMethod(getMethodName(), minResolution);
        }
 
-       public void setMaxResolution(long maxResolution) {
+       public void setMaxResolution(double maxResolution) {
                if (isNew())
                        getNewOptions().put("maxResolution", maxResolution);
                else
                        executeMethod(getMethodName(), maxResolution);
        }
 
+       public void setName(String name) {
+               set(NAME_KEY, name);
+               this.name = name;
+       }
+
+       public String getName() {
+               return name;
+       }
 }