Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / FLyrDefault.java @ 884

History | View | Annotate | Download (6.71 KB)

1
/* Generated by Together */
2
package com.iver.cit.gvsig.fmap.layers;
3

    
4
import com.iver.cit.gvsig.fmap.DriverException;
5
import com.iver.cit.gvsig.fmap.FMap;
6

    
7
import com.iver.utiles.XMLEntity;
8

    
9
import org.cresques.cts.ICoordTrans;
10
import org.cresques.cts.IProjection;
11

    
12
import java.beans.PropertyChangeSupport;
13

    
14
import java.util.ArrayList;
15
import java.util.Iterator;
16

    
17

    
18
/**
19
 * Implementaci?n de las caracter?sticas de alto nivel de las capas:
20
 * visibilidad, activaci?n, nombre, ...
21
 */
22
public abstract class FLyrDefault implements FLayer {
23
        private PropertyChangeSupport lnkPropertyChangeSupport;
24

    
25
        /** Path de la capa en el arbol de capas */
26
        private FLayers parentLayer = null;
27
        private FLayers virtualLayers = null;
28
        private FLyrText layerText = null;
29
        private String name;
30
        private IProjection projection;
31
        private boolean visible = true;
32
        private boolean active;
33
        private int transparency = 0;
34
        private ArrayList layerListeners = new ArrayList();
35

    
36
        /**
37
         * DOCUMENT ME!
38
         *
39
         * @param selected DOCUMENT ME!
40
         */
41

    
42
        /*   public static FLyrDefault createFromXML(XMLEntity xml)
43
           throws DifferentVersionException, CancelationException, ClassNotFoundException, InstantiationException, IllegalAccessException {
44
           FLyrDefault def = null;
45
           Class clase = null;
46
           try {
47
               clase = Class.forName(xml.getStringProperty("nameClass"));
48
           } catch (ClassNotFoundException e) {
49
               throw new DifferentVersionException(e);
50
           }
51
           try {
52
               def = (FLyrDefault) clase.newInstance();
53
           } catch (InstantiationException e1) {
54
               throw new DifferentVersionException(e1);
55
           } catch (IllegalAccessException e1) {
56
               throw new DifferentVersionException(e1);
57
           }
58
           def.active = xml.getBooleanProperty("active");
59
           def.name = xml.getStringProperty("name");
60
           //def.parentLayer.setXMLEntity(xml.getChild(0));
61
           //TODO def.projection=
62
           def.visible = xml.getBooleanProperty("visible");
63
           if (def instanceof FLayers){
64
                   FLayers layers=(FLayers)def;
65
        
66
                   for (int i=0;i<layers.getLayersCount();i++){
67
                           layers.addLayer(createFromXML(xml.getChild(i)));
68
        
69
                   }
70
           }else{
71
                   def.setXMLEntity(xml);
72
           }
73
           return def;
74
           }
75
         */
76

    
77
        /**
78
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#setActive(boolean)
79
         */
80
        public void setActive(boolean selected) {
81
                active = selected;
82
                callActivationChanged(new LayerEvent(this, "active"));
83
        }
84

    
85
        /**
86
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#isActive()
87
         */
88
        public boolean isActive() {
89
                return active;
90
        }
91

    
92
        /**
93
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#setName(java.lang.String)
94
         */
95
        public void setName(String name) {
96
                this.name = name;
97
                callNameChanged(new LayerEvent(this, "name"));
98
        }
99

    
100
        /**
101
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#getName()
102
         */
103
        public String getName() {
104
                return name;
105
        }
106

    
107
        /*
108
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#load()
109
         */
110
        public void load() {
111
        }
112

    
113
        /**
114
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#setVisible(boolean)
115
         */
116
        public void setVisible(boolean visibility) {
117
                visible = visibility;
118
                callVisibilityChanged(new LayerEvent(this, "visible"));
119
        }
120

    
121
        /**
122
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#isVisible()
123
         */
124
        public boolean isVisible() {
125
                return visible;
126
        }
127

    
128
        /**
129
         * DOCUMENT ME!
130
         *
131
         * @return DOCUMENT ME!
132
         */
133
        public FLayers getParentLayer() {
134
                return parentLayer;
135
        }
136

    
137
        /**
138
         * DOCUMENT ME!
139
         *
140
         * @param root DOCUMENT ME!
141
         */
142
        public void setParentLayer(FLayers root) {
143
                this.parentLayer = root;
144
        }
145

    
146
        /**
147
         * DOCUMENT ME!
148
         *
149
         * @param proj DOCUMENT ME!
150
         */
151
        public void setProjection(IProjection proj) {
152
                projection = proj;
153
        }
154

    
155
        /**
156
         * @see org.cresques.geo.Projected#getProjection()
157
         */
158
        public IProjection getProjection() {
159
                return projection;
160
        }
161

    
162
        /**
163
         * @see org.cresques.geo.Projected#reProject(org.cresques.cts.ICoordTrans)
164
         */
165
        public void reProject(ICoordTrans arg0) {
166
        }
167

    
168
        /**
169
         * DOCUMENT ME!
170
         *
171
         * @return DOCUMENT ME!
172
         */
173
        public int getTransparency() {
174
                return transparency;
175
        }
176

    
177
        /**
178
         * DOCUMENT ME!
179
         *
180
         * @param trans DOCUMENT ME!
181
         */
182
        public void setTransparency(int trans) {
183
                transparency = trans;
184
        }
185

    
186
        /**
187
         * DOCUMENT ME!
188
         *
189
         * @return DOCUMENT ME!
190
         */
191
        public XMLEntity getXMLEntity() {
192
                XMLEntity xml = new XMLEntity();
193
                xml.putProperty("className", this.getClass().getName());
194

    
195
                if (this instanceof FLayers) {
196
                }
197

    
198
                xml.putProperty("active", active);
199
                xml.putProperty("name", name);
200

    
201
                //TODO xml.addChild(parentLayer.getXMLEntity());
202
                //TODO xml.addChild(projection.getXMLEntity());
203
                xml.putProperty("visible", visible);
204

    
205
                return xml;
206
        }
207

    
208
        /**
209
         * DOCUMENT ME!
210
         *
211
         * @param xml DOCUMENT ME!
212
         *
213
         * @throws XMLException DOCUMENT ME!
214
         * @throws DriverException DOCUMENT ME!
215
         */
216
        public void setXMLEntity(XMLEntity xml)
217
                throws XMLException, DriverException {
218
                active = xml.getBooleanProperty("active");
219
                name = xml.getStringProperty("name");
220
                visible = xml.getBooleanProperty("visible");
221
        }
222

    
223
        /**
224
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#getFMap()
225
         */
226
        public FMap getFMap() {
227
                if (getParentLayer() != null) {
228
                        return getParentLayer().getFMap();
229
                } else {
230
                        return null;
231
                }
232
        }
233

    
234
        /**
235
         * DOCUMENT ME!
236
         *
237
         * @param o DOCUMENT ME!
238
         *
239
         * @return DOCUMENT ME!
240
         */
241
        public boolean addLayerListener(LayerListener o) {
242
                return layerListeners.add(o);
243
        }
244

    
245
        /**
246
         * DOCUMENT ME!
247
         *
248
         * @param o DOCUMENT ME!
249
         *
250
         * @return DOCUMENT ME!
251
         */
252
        public boolean removeLayerListener(LayerListener o) {
253
                return layerListeners.remove(o);
254
        }
255

    
256
        /**
257
         * DOCUMENT ME!
258
         *
259
         * @param e DOCUMENT ME!
260
         */
261
        private void callNameChanged(LayerEvent e) {
262
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
263
                        LayerListener listener = (LayerListener) iter.next();
264

    
265
                        listener.nameChanged(e);
266
                }
267
        }
268

    
269
        /**
270
         * DOCUMENT ME!
271
         *
272
         * @param e DOCUMENT ME!
273
         */
274
        private void callVisibilityChanged(LayerEvent e) {
275
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
276
                        LayerListener listener = (LayerListener) iter.next();
277

    
278
                        listener.visibilityChanged(e);
279
                }
280
        }
281

    
282
        /**
283
         * DOCUMENT ME!
284
         *
285
         * @param e DOCUMENT ME!
286
         */
287
        private void callActivationChanged(LayerEvent e) {
288
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
289
                        LayerListener listener = (LayerListener) iter.next();
290

    
291
                        listener.activationChanged(e);
292
                }
293
        }
294

    
295
        /**
296
         * DOCUMENT ME!
297
         *
298
         * @return DOCUMENT ME!
299
         */
300
        public FLayers getVirtualLayers() {
301
                return virtualLayers;
302
        }
303

    
304
        /**
305
         * DOCUMENT ME!
306
         *
307
         * @param virtualLayers DOCUMENT ME!
308
         */
309
        public void setVirtualLayers(FLayers virtualLayers) {
310
                this.virtualLayers = virtualLayers;
311
        }
312

    
313
        /**
314
         * DOCUMENT ME!
315
         *
316
         * @return DOCUMENT ME!
317
         */
318
        public FLyrText getLayerText() {
319
                return layerText;
320
        }
321

    
322
        /**
323
         * DOCUMENT ME!
324
         *
325
         * @param layerText DOCUMENT ME!
326
         */
327
        public void setLayerText(FLyrText layerText) {
328
                this.layerText = layerText;
329
        }
330
}