Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / FLyrDefault.java @ 850

History | View | Annotate | Download (6.09 KB)

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

    
4
import java.beans.PropertyChangeSupport;
5
import java.util.ArrayList;
6
import java.util.Iterator;
7

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

    
11
import com.iver.cit.gvsig.fmap.DriverException;
12
import com.iver.cit.gvsig.fmap.FMap;
13
import com.iver.utiles.XMLEntity;
14

    
15

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

    
23
        /** Path de la capa en el arbol de capas */
24
        private FLayers parentLayer = null;
25
        private FLayers virtualLayers = null;
26
        private FLyrText layerText = null;
27
        private String name;
28
        private IProjection projection;
29
        private boolean visible = true;
30
        private boolean active;
31
        private int transparency = 0;
32
        
33
        private ArrayList layerListeners = new ArrayList();
34
        
35
        /**
36
         * DOCUMENT ME!
37
         *
38
         * @param selected DOCUMENT ME!
39
         */
40

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

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

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

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

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

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

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

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

    
126
                //          return visible;
127
        }
128

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

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

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

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

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

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

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

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

    
198
                if (this instanceof FLayers) {
199
                }
200

    
201
                xml.putProperty("active", active);
202
                xml.putProperty("name", name);
203

    
204
                //TODO xml.addChild(parentLayer.getXMLEntity());
205
                //TODO xml.addChild(projection.getXMLEntity());
206
                xml.putProperty("visible", visible);
207

    
208
                return xml;
209
        }
210

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

    
224
        /**
225
         * @see com.iver.cit.gvsig.fmap.layers.FLayer#getFMap()
226
         */
227
        public FMap getFMap() {
228
                return getParentLayer().getFMap();
229
        }
230

    
231
        public boolean addLayerListener(LayerListener o) {
232
                return layerListeners.add(o);
233
        }
234
        public boolean removeLayerListener(LayerListener o) {
235
                return layerListeners.remove(o);
236
        }
237
        
238
        private void callNameChanged(LayerEvent e){
239
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
240
                        LayerListener listener = (LayerListener) iter.next();
241
                        
242
                        listener.nameChanged(e);
243
                }
244
        }
245
        
246
        private void callVisibilityChanged(LayerEvent e){
247
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
248
                        LayerListener listener = (LayerListener) iter.next();
249
                        
250
                        listener.visibilityChanged(e);
251
                }
252
        }
253
        
254
        private void callActivationChanged(LayerEvent e){
255
                for (Iterator iter = layerListeners.iterator(); iter.hasNext();) {
256
                        LayerListener listener = (LayerListener) iter.next();
257
                        
258
                        listener.activationChanged(e);
259
                }
260
        }
261

    
262

    
263
        public FLayers getVirtualLayers() {
264
                return virtualLayers;
265
        }
266
        public void setVirtualLayers(FLayers virtualLayers) {
267
                this.virtualLayers = virtualLayers;
268
        }
269
        public FLyrText getLayerText() {
270
                return layerText;
271
        }
272
        public void setLayerText(FLyrText layerText) {
273
                this.layerText = layerText;
274
        }
275
}