Revision 727
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/EventBuffer.java | ||
---|---|---|
3 | 3 |
import com.iver.cit.gvsig.fmap.layers.CancelationException; |
4 | 4 |
import com.iver.cit.gvsig.fmap.layers.LayerCollectionEvent; |
5 | 5 |
import com.iver.cit.gvsig.fmap.layers.LayerCollectionListener; |
6 |
import com.iver.cit.gvsig.fmap.layers.LayerEvent; |
|
7 |
import com.iver.cit.gvsig.fmap.layers.LayerListener; |
|
6 | 8 |
import com.iver.cit.gvsig.fmap.layers.LayerPositionEvent; |
7 | 9 |
import com.iver.cit.gvsig.fmap.layers.LegendListener; |
8 | 10 |
import com.iver.cit.gvsig.fmap.layers.SelectionEvent; |
... | ... | |
19 | 21 |
* @author Fernando Gonz?lez Cort?s |
20 | 22 |
*/ |
21 | 23 |
public class EventBuffer implements LegendListener, LayerCollectionListener, |
22 |
SelectionListener, ExtentListener { |
|
24 |
SelectionListener, ExtentListener, LayerListener {
|
|
23 | 25 |
private ArrayList events = new ArrayList(); |
24 | 26 |
private ArrayList listeners = new ArrayList(); |
25 | 27 |
|
... | ... | |
169 | 171 |
} |
170 | 172 |
events.clear(); |
171 | 173 |
} |
174 |
|
|
175 |
/** |
|
176 |
* @see com.iver.cit.gvsig.fmap.layers.LayerListener#visibilityChanged(com.iver.cit.gvsig.fmap.layers.LayerEvent) |
|
177 |
*/ |
|
178 |
public void visibilityChanged(LayerEvent e) { |
|
179 |
events.add(e); |
|
180 |
if (dispatching) fireAtomicEventListener(); |
|
181 |
} |
|
182 |
|
|
183 |
/** |
|
184 |
* @see com.iver.cit.gvsig.fmap.layers.LayerListener#activationChanged(com.iver.cit.gvsig.fmap.layers.LayerEvent) |
|
185 |
*/ |
|
186 |
public void activationChanged(LayerEvent e) { |
|
187 |
events.add(e); |
|
188 |
if (dispatching) fireAtomicEventListener(); |
|
189 |
} |
|
190 |
|
|
191 |
/** |
|
192 |
* @see com.iver.cit.gvsig.fmap.layers.LayerListener#nameChanged(com.iver.cit.gvsig.fmap.layers.LayerEvent) |
|
193 |
*/ |
|
194 |
public void nameChanged(LayerEvent e) { |
|
195 |
events.add(e); |
|
196 |
if (dispatching) fireAtomicEventListener(); |
|
197 |
} |
|
172 | 198 |
} |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/AtomicEvent.java | ||
---|---|---|
5 | 5 |
|
6 | 6 |
import com.iver.cit.gvsig.fmap.layers.LayerCollectionEvent; |
7 | 7 |
import com.iver.cit.gvsig.fmap.layers.LayerCollectionListener; |
8 |
import com.iver.cit.gvsig.fmap.layers.LayerEvent; |
|
8 | 9 |
import com.iver.cit.gvsig.fmap.layers.LegendEvent; |
9 | 10 |
import com.iver.cit.gvsig.fmap.layers.LegendListener; |
10 | 11 |
import com.iver.cit.gvsig.fmap.layers.SelectionEvent; |
... | ... | |
78 | 79 |
return (ExtentEvent[]) ret.toArray(new ExtentEvent[0]); |
79 | 80 |
} |
80 | 81 |
|
82 |
public LayerEvent[] getLayerEvents(){ |
|
83 |
ArrayList ret = new ArrayList(); |
|
84 |
for (Iterator iter = events.iterator(); iter.hasNext();) { |
|
85 |
FMapEvent event = (FMapEvent) iter.next(); |
|
86 |
|
|
87 |
if (event instanceof LayerEvent){ |
|
88 |
ret.add(event); |
|
89 |
} |
|
90 |
} |
|
91 |
|
|
92 |
return (LayerEvent[]) ret.toArray(new LayerEvent[0]); |
|
93 |
} |
|
94 |
|
|
81 | 95 |
} |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLyrDefault.java | ||
---|---|---|
2 | 2 |
package com.iver.cit.gvsig.fmap.layers; |
3 | 3 |
|
4 | 4 |
import java.beans.PropertyChangeSupport; |
5 |
import java.util.ArrayList; |
|
6 |
import java.util.Iterator; |
|
5 | 7 |
|
6 | 8 |
import org.cresques.cts.ICoordTrans; |
7 | 9 |
import org.cresques.cts.IProjection; |
... | ... | |
25 | 27 |
private boolean visible = true; |
26 | 28 |
private boolean active; |
27 | 29 |
private int transparency = 0; |
28 |
|
|
30 |
|
|
31 |
private ArrayList layerListeners = new ArrayList(); |
|
32 |
|
|
29 | 33 |
/** |
30 | 34 |
* DOCUMENT ME! |
31 | 35 |
* |
... | ... | |
72 | 76 |
*/ |
73 | 77 |
public void setActive(boolean selected) { |
74 | 78 |
active = selected; |
79 |
callActivationChanged(new LayerEvent(this, "active")); |
|
75 | 80 |
} |
76 | 81 |
|
77 | 82 |
/** |
... | ... | |
86 | 91 |
*/ |
87 | 92 |
public void setName(String name) { |
88 | 93 |
this.name = name; |
94 |
callNameChanged(new LayerEvent(this, "name")); |
|
89 | 95 |
} |
90 | 96 |
|
91 | 97 |
/** |
... | ... | |
106 | 112 |
*/ |
107 | 113 |
public void setVisible(boolean visibility) { |
108 | 114 |
visible = visibility; |
109 |
System.out.println("visible= " + visibility);
|
|
115 |
callVisibilityChanged(new LayerEvent(this, "visible"));
|
|
110 | 116 |
} |
111 | 117 |
|
112 | 118 |
/** |
... | ... | |
220 | 226 |
return getParentLayer().getFMap(); |
221 | 227 |
} |
222 | 228 |
|
229 |
public boolean addLayerListener(LayerListener o) { |
|
230 |
return layerListeners.add(o); |
|
231 |
} |
|
232 |
public boolean removeLayerListener(LayerListener o) { |
|
233 |
return layerListeners.remove(o); |
|
234 |
} |
|
235 |
|
|
236 |
private void callNameChanged(LayerEvent e){ |
|
237 |
for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
|
238 |
LayerListener listener = (LayerListener) iter.next(); |
|
239 |
|
|
240 |
listener.nameChanged(e); |
|
241 |
} |
|
242 |
} |
|
243 |
|
|
244 |
private void callVisibilityChanged(LayerEvent e){ |
|
245 |
for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
|
246 |
LayerListener listener = (LayerListener) iter.next(); |
|
247 |
|
|
248 |
listener.visibilityChanged(e); |
|
249 |
} |
|
250 |
} |
|
251 |
|
|
252 |
private void callActivationChanged(LayerEvent e){ |
|
253 |
for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
|
254 |
LayerListener listener = (LayerListener) iter.next(); |
|
255 |
|
|
256 |
listener.activationChanged(e); |
|
257 |
} |
|
258 |
} |
|
223 | 259 |
} |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/LayerListener.java | ||
---|---|---|
1 |
package com.iver.cit.gvsig.fmap.layers; |
|
2 |
|
|
3 |
|
|
4 |
public interface LayerListener { |
|
5 |
public void visibilityChanged(LayerEvent e); |
|
6 |
|
|
7 |
public void activationChanged(LayerEvent e); |
|
8 |
|
|
9 |
public void nameChanged(LayerEvent e); |
|
10 |
} |
|
0 | 11 |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayer.java | ||
---|---|---|
144 | 144 |
void print(Graphics2D g, ViewPort viewPort, |
145 | 145 |
Cancellable cancel) |
146 | 146 |
throws DriverException; |
147 |
|
|
148 |
public boolean addLayerListener(LayerListener o); |
|
149 |
|
|
150 |
public boolean removeLayerListener(LayerListener o); |
|
147 | 151 |
} |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/LayerEvent.java | ||
---|---|---|
1 |
package com.iver.cit.gvsig.fmap.layers; |
|
2 |
|
|
3 |
import com.iver.cit.gvsig.fmap.FMapEvent; |
|
4 |
|
|
5 |
|
|
6 |
/** |
|
7 |
* Eventos de capa |
|
8 |
* |
|
9 |
* @author Fernando Gonz?lez Cort?s |
|
10 |
*/ |
|
11 |
public class LayerEvent extends FMapEvent { |
|
12 |
private String property; |
|
13 |
private FLayer source; |
|
14 |
|
|
15 |
/** |
|
16 |
* DOCUMENT ME! |
|
17 |
* |
|
18 |
* @param default1 |
|
19 |
* @param property DOCUMENT ME! |
|
20 |
*/ |
|
21 |
public LayerEvent(FLyrDefault default1, String property) { |
|
22 |
source = default1; |
|
23 |
this.property = property; |
|
24 |
} |
|
25 |
|
|
26 |
/** |
|
27 |
* DOCUMENT ME! |
|
28 |
* |
|
29 |
* @return DOCUMENT ME! |
|
30 |
*/ |
|
31 |
public FLayer getSource() { |
|
32 |
return source; |
|
33 |
} |
|
34 |
|
|
35 |
/** |
|
36 |
* DOCUMENT ME! |
|
37 |
* |
|
38 |
* @param source DOCUMENT ME! |
|
39 |
*/ |
|
40 |
public void setSource(FLayer source) { |
|
41 |
this.source = source; |
|
42 |
} |
|
43 |
|
|
44 |
/** |
|
45 |
* DOCUMENT ME! |
|
46 |
* |
|
47 |
* @return DOCUMENT ME! |
|
48 |
*/ |
|
49 |
public String getProperty() { |
|
50 |
return property; |
|
51 |
} |
|
52 |
|
|
53 |
/** |
|
54 |
* DOCUMENT ME! |
|
55 |
* |
|
56 |
* @param property DOCUMENT ME! |
|
57 |
*/ |
|
58 |
public void setProperty(String property) { |
|
59 |
this.property = property; |
|
60 |
} |
|
61 |
} |
|
0 | 62 |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/FMap.java | ||
---|---|---|
527 | 527 |
|
528 | 528 |
//Registramos al FMap como listener del legend de las capas |
529 | 529 |
FLayer lyr = e.getAffectedLayer(); |
530 |
|
|
530 |
|
|
531 |
lyr.addLayerListener(eventBuffer); |
|
532 |
|
|
531 | 533 |
if (lyr instanceof Classifiable) { |
532 | 534 |
Classifiable c = (Classifiable) lyr; |
533 | 535 |
c.addLegendListener(eventBuffer); |
... | ... | |
551 | 553 |
public void layerRemoved(LayerCollectionEvent e) { |
552 | 554 |
FLayer lyr = e.getAffectedLayer(); |
553 | 555 |
|
556 |
lyr.removeLayerListener(eventBuffer); |
|
557 |
|
|
554 | 558 |
if (lyr instanceof Classifiable) { |
555 | 559 |
Classifiable c = (Classifiable) lyr; |
556 | 560 |
c.removeLegendListener(eventBuffer); |
Also available in: Unified diff