001    package com.google.gwt.maps.client.overlays;
002    
003    import com.google.gwt.core.client.JavaScriptObject;
004    import com.google.gwt.maps.client.MapImpl;
005    import com.google.gwt.maps.client.MapWidget;
006    import com.google.gwt.maps.client.base.LatLng;
007    
008    /**
009     * {@link Circle} Options
010     * <br><br>
011     * See <a href="https://developers.google.com/maps/documentation/javascript/reference#CircleOptions">CircleOptions API Doc</a> 
012     */
013    public class CircleOptions extends JavaScriptObject {
014    
015      /**
016       * use newInstance();
017       */
018      protected CircleOptions() {}
019      
020      /**
021       * creates Circle options
022       */
023      public final static CircleOptions newInstance() {
024        return JavaScriptObject.createObject().cast();
025      }
026      
027      /**
028       * sets the center
029       * @param center
030       */
031      public final native void setCenter(LatLng center) /*-{
032        this.center = center;
033      }-*/;
034      
035      /**
036       * gets the center
037       */
038      public final native LatLng getCenter() /*-{
039        return this.center;
040      }-*/;
041      
042      /**
043       * sets Indicates whether this Polyline handles click events. Defaults to true.
044       * @param clickable
045       */
046      public final native void setClickable(boolean clickable) /*-{
047        this.clickable = clickable;
048      }-*/;
049      
050      /**
051       * gets Indicates whether this Polyline handles click events. Defaults to true.
052       */
053      public final native boolean getClickable() /*-{
054        return this.clickable;
055      }-*/;
056      
057      /**
058       * The fill color. All CSS3 colors are supported except for extended named colors.
059       * @param fillColor
060       */
061      public final native void setFillColor(String fillColor) /*-{
062        this.fillColor = fillColor;
063      }-*/;
064      
065      /**
066       * The fill color. All CSS3 colors are supported except for extended named colors.
067       */
068      public final native String getFillColor() /*-{
069        return this.fillColor;
070      }-*/;
071      
072      /**
073       * The fill opacity between 0.0 and 1.0
074       * @param fillOpacity
075       */
076      public final native void setFillOpacity(double fillOpacity) /*-{
077        this.fillOpacity = fillOpacity;
078      }-*/;
079      
080      /**
081       * The fill opacity between 0.0 and 1.0
082       */
083      public final native double getFillOpacity() /*-{
084        return this.fillOpacity;
085      }-*/;
086    
087      /**
088       * sets Map on which to display Polyline.
089       * @param mapWidget
090       */
091      public final void setMap(MapWidget mapWidget) {
092        setMapImpl(mapWidget.getJso());
093      }
094    
095      private final native void setMapImpl(MapImpl map) /*-{
096        this.map = map;
097      }-*/;
098      
099      /**
100       * gets Map on which to display Polyline.
101       */
102      public final MapWidget getMapWidget() {
103        return MapWidget.newInstance(getMapImpl());
104      }
105      
106      private final native MapImpl getMapImpl() /*-{
107        return this.map;
108      }-*/;
109      
110      /**
111       * sets The radius in meters on the Earth's surface
112       * @param radius
113       */
114      public final native void setRadius(double radius) /*-{
115        this.radius = radius;
116      }-*/;
117      
118      /**
119       * gets The radius in meters on the Earth's surface
120       */
121      public final native double getRadius() /*-{
122        return this.radius;
123      }-*/;
124      
125      /**
126       * sets The stroke color. All CSS3 colors are supported except for extended named colors.
127       * @param strokeColor
128       */
129      public final native void setStrokeColor(String strokeColor) /*-{
130        this.strokeColor = strokeColor;
131      }-*/;
132      
133      /**
134       * gets The stroke color. All CSS3 colors are supported except for extended named colors.
135       */
136      public final native String getStrokeColor() /*-{
137        return this.strokeColor;
138      }-*/;
139      
140      /**
141       * sets The stroke opacity between 0.0 and 1.0
142       * @param strokeOpacity
143       */
144      public final native void setStrokeOpacity(double strokeOpacity) /*-{
145        this.strokeOpacity = strokeOpacity;
146      }-*/;
147      
148      /**
149       * gets The stroke opacity between 0.0 and 1.0
150       */
151      public final native double getStrokeOpacity() /*-{
152        return this.strokeOpacity;
153      }-*/;
154      
155      /**
156       * sets The stroke width in pixels.
157       * @param strokeWeight
158       */
159      public final native void setStrokeWeight(int strokeWeight) /*-{
160        this.strokeWeight = strokeWeight;
161      }-*/;
162      
163      /**
164       * gets The stroke width in pixels.
165       */
166      public final native int getStrokeWeight() /*-{
167        return this.strokeWeight;
168      }-*/;
169      
170      /**
171       * sets The zIndex compared to other rectangles.
172       * @param zIndex
173       */
174      public final native void setZindex(int zIndex) /*-{
175        this.zIndex = zIndex;
176      }-*/;
177      
178      /**
179       * gets The zIndex compared to other rectangles.
180       */
181      public final native int getZindex() /*-{
182        return this.zIndex;
183      }-*/;
184    }