svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / FLyrDefault.java @ 6483
History | View | Annotate | Download (13.9 KB)
1 | 1100 | fjp | /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
|
---|---|---|---|
2 | *
|
||
3 | * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
|
||
4 | *
|
||
5 | * This program is free software; you can redistribute it and/or
|
||
6 | * modify it under the terms of the GNU General Public License
|
||
7 | * as published by the Free Software Foundation; either version 2
|
||
8 | * of the License, or (at your option) any later version.
|
||
9 | *
|
||
10 | * This program is distributed in the hope that it will be useful,
|
||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
13 | * GNU General Public License for more details.
|
||
14 | *
|
||
15 | * You should have received a copy of the GNU General Public License
|
||
16 | * along with this program; if not, write to the Free Software
|
||
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA.
|
||
18 | *
|
||
19 | * For more information, contact:
|
||
20 | *
|
||
21 | * Generalitat Valenciana
|
||
22 | * Conselleria d'Infraestructures i Transport
|
||
23 | * Av. Blasco Ib??ez, 50
|
||
24 | * 46010 VALENCIA
|
||
25 | * SPAIN
|
||
26 | *
|
||
27 | * +34 963862235
|
||
28 | * gvsig@gva.es
|
||
29 | * www.gvsig.gva.es
|
||
30 | *
|
||
31 | * or
|
||
32 | *
|
||
33 | * IVER T.I. S.A
|
||
34 | * Salamanca 50
|
||
35 | * 46005 Valencia
|
||
36 | * Spain
|
||
37 | *
|
||
38 | * +34 963163400
|
||
39 | * dac@iver.es
|
||
40 | */
|
||
41 | 214 | fernando | package com.iver.cit.gvsig.fmap.layers; |
42 | |||
43 | 5923 | fjp | import java.awt.image.BufferedImage; |
44 | 2531 | caballero | import java.util.ArrayList; |
45 | 5200 | ldiaz | import java.util.Hashtable; |
46 | 2531 | caballero | import java.util.Iterator; |
47 | 214 | fernando | |
48 | 5760 | jmvivo | import javax.swing.ImageIcon; |
49 | |||
50 | 2659 | fjp | import org.apache.log4j.Logger; |
51 | 354 | fernando | import org.cresques.cts.ICoordTrans; |
52 | 214 | fernando | import org.cresques.cts.IProjection; |
53 | |||
54 | 2531 | caballero | import com.iver.cit.gvsig.fmap.DriverException; |
55 | import com.iver.cit.gvsig.fmap.FMap; |
||
56 | 6164 | luisw2 | import com.iver.cit.gvsig.fmap.crs.CRSFactory; |
57 | 2531 | caballero | import com.iver.cit.gvsig.fmap.drivers.DriverIOException; |
58 | 4147 | fjp | import com.iver.cit.gvsig.fmap.edition.EditionException; |
59 | 3329 | fjp | import com.iver.cit.gvsig.fmap.operations.strategies.Strategy; |
60 | 2531 | caballero | import com.iver.utiles.XMLEntity; |
61 | 214 | fernando | |
62 | /**
|
||
63 | 435 | vcaballero | * Implementaci?n de las caracter?sticas de alto nivel de las capas:
|
64 | * visibilidad, activaci?n, nombre, ...
|
||
65 | 214 | fernando | */
|
66 | 341 | fernando | public abstract class FLyrDefault implements FLayer { |
67 | 5923 | fjp | // private PropertyChangeSupport lnkPropertyChangeSupport;
|
68 | private static Logger logger = Logger.getLogger(FLyrDefault.class); |
||
69 | |||
70 | 525 | vcaballero | /** Path de la capa en el arbol de capas */
|
71 | private FLayers parentLayer = null; |
||
72 | 5923 | fjp | |
73 | 745 | fjp | private FLayers virtualLayers = null; |
74 | 5923 | fjp | |
75 | 757 | fjp | private FLyrText layerText = null; |
76 | 5923 | fjp | |
77 | 274 | fjp | private String name; |
78 | 5923 | fjp | |
79 | 354 | fernando | private IProjection projection;
|
80 | 5923 | fjp | |
81 | 525 | vcaballero | private boolean visible = true; |
82 | 5923 | fjp | |
83 | 387 | fjp | private boolean active; |
84 | 5923 | fjp | |
85 | 434 | fjp | private int transparency = 0; |
86 | 5923 | fjp | |
87 | 885 | fjp | private ICoordTrans ct;
|
88 | 5923 | fjp | |
89 | 1176 | fjp | private double minScale = -1; // -1 indica que no se usa |
90 | 5923 | fjp | |
91 | 1176 | fjp | private double maxScale = -1; |
92 | 5923 | fjp | |
93 | 5802 | jaume | private boolean isInTOC = true; |
94 | 5923 | fjp | |
95 | 3256 | nacho | protected ArrayList layerListeners = new ArrayList(); |
96 | 884 | fernando | |
97 | 5923 | fjp | private Strategy privateStrategy = null; |
98 | |||
99 | 3690 | caballero | private boolean isediting; |
100 | 5908 | caballero | |
101 | 5200 | ldiaz | private Hashtable properties = new Hashtable(); |
102 | 5908 | caballero | |
103 | 5923 | fjp | private boolean bCacheDrawnLayers; |
104 | |||
105 | private BufferedImage cacheImageDrawnLayers = null; |
||
106 | |||
107 | private boolean bDirty; |
||
108 | 6400 | jmvivo | |
109 | private boolean unavailable = false; |
||
110 | 5923 | fjp | |
111 | public Object getProperty(Object key) { |
||
112 | 5200 | ldiaz | return properties.get(key);
|
113 | } |
||
114 | 5923 | fjp | |
115 | public void setProperty(Object key, Object val) { |
||
116 | 5200 | ldiaz | properties.put(key, val); |
117 | } |
||
118 | 5908 | caballero | |
119 | 525 | vcaballero | /**
|
120 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#setActive(boolean)
|
||
121 | */
|
||
122 | public void setActive(boolean selected) { |
||
123 | active = selected; |
||
124 | 5923 | fjp | callActivationChanged(LayerEvent.createActivationChangedEvent(this,
|
125 | "active"));
|
||
126 | 525 | vcaballero | } |
127 | 214 | fernando | |
128 | 525 | vcaballero | /**
|
129 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#isActive()
|
||
130 | */
|
||
131 | public boolean isActive() { |
||
132 | return active;
|
||
133 | } |
||
134 | 214 | fernando | |
135 | 525 | vcaballero | /**
|
136 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#setName(java.lang.String)
|
||
137 | */
|
||
138 | public void setName(String name) { |
||
139 | this.name = name;
|
||
140 | 1082 | fernando | callNameChanged(LayerEvent.createNameChangedEvent(this, "name")); |
141 | 525 | vcaballero | } |
142 | 214 | fernando | |
143 | 525 | vcaballero | /**
|
144 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#getName()
|
||
145 | */
|
||
146 | public String getName() { |
||
147 | return name;
|
||
148 | } |
||
149 | 214 | fernando | |
150 | 567 | luisw | /*
|
151 | 525 | vcaballero | * @see com.iver.cit.gvsig.fmap.layers.FLayer#load()
|
152 | */
|
||
153 | 1034 | vcaballero | public void load() throws DriverIOException { |
154 | 525 | vcaballero | } |
155 | 214 | fernando | |
156 | 525 | vcaballero | /**
|
157 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#setVisible(boolean)
|
||
158 | */
|
||
159 | public void setVisible(boolean visibility) { |
||
160 | visible = visibility; |
||
161 | 6002 | fjp | setDirty(true);
|
162 | 5923 | fjp | callVisibilityChanged(LayerEvent.createVisibilityChangedEvent(this,
|
163 | "visible"));
|
||
164 | 525 | vcaballero | } |
165 | 435 | vcaballero | |
166 | 525 | vcaballero | /**
|
167 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#isVisible()
|
||
168 | */
|
||
169 | public boolean isVisible() { |
||
170 | 6400 | jmvivo | return visible && !this.unavailable; |
171 | 525 | vcaballero | } |
172 | 435 | vcaballero | |
173 | 525 | vcaballero | /**
|
174 | 1034 | vcaballero | * Devuelve la capa padre de la actual.
|
175 | 5923 | fjp | *
|
176 | 1034 | vcaballero | * @return FLayers padre.
|
177 | 525 | vcaballero | */
|
178 | public FLayers getParentLayer() {
|
||
179 | return parentLayer;
|
||
180 | } |
||
181 | 435 | vcaballero | |
182 | 525 | vcaballero | /**
|
183 | 1034 | vcaballero | * Inserta la capa padre.
|
184 | 5923 | fjp | *
|
185 | * @param root
|
||
186 | * capa padre.
|
||
187 | 525 | vcaballero | */
|
188 | public void setParentLayer(FLayers root) { |
||
189 | this.parentLayer = root;
|
||
190 | } |
||
191 | 435 | vcaballero | |
192 | 525 | vcaballero | /**
|
193 | 1034 | vcaballero | * Inserta una proyecci?n.
|
194 | 5923 | fjp | *
|
195 | * @param proj
|
||
196 | * Proyecci?n.
|
||
197 | 525 | vcaballero | */
|
198 | public void setProjection(IProjection proj) { |
||
199 | 5908 | caballero | projection = proj; |
200 | 5923 | fjp | // Comprobar que la proyecci?n es la misma que la de FMap
|
201 | // Si no lo es, es una capa que est? reproyectada al vuelo
|
||
202 | if ((proj != null) && (getFMap() != null)) |
||
203 | if (proj != getFMap().getProjection()) {
|
||
204 | 6164 | luisw2 | ICoordTrans ct = proj.getCT(getFMap().getProjection()); |
205 | 5923 | fjp | setCoordTrans(ct); |
206 | logger.debug("Cambio proyecci?n: FMap con "
|
||
207 | + getFMap().getProjection().getAbrev() + " y capa "
|
||
208 | + getName() + " con " + proj.getAbrev());
|
||
209 | } |
||
210 | 525 | vcaballero | } |
211 | 435 | vcaballero | |
212 | 525 | vcaballero | /**
|
213 | * @see org.cresques.geo.Projected#getProjection()
|
||
214 | */
|
||
215 | public IProjection getProjection() {
|
||
216 | return projection;
|
||
217 | } |
||
218 | 435 | vcaballero | |
219 | 525 | vcaballero | /**
|
220 | * @see org.cresques.geo.Projected#reProject(org.cresques.cts.ICoordTrans)
|
||
221 | */
|
||
222 | public void reProject(ICoordTrans arg0) { |
||
223 | } |
||
224 | 435 | vcaballero | |
225 | 525 | vcaballero | /**
|
226 | 1034 | vcaballero | * Devuelve el nivel de transparencia de la capa.
|
227 | 5923 | fjp | *
|
228 | 1034 | vcaballero | * @return Entero que representa el nivel de transparencia.
|
229 | 525 | vcaballero | */
|
230 | public int getTransparency() { |
||
231 | 434 | fjp | return transparency;
|
232 | } |
||
233 | 525 | vcaballero | |
234 | /**
|
||
235 | 1034 | vcaballero | * Inserta el nivel de transparencia de la capa.
|
236 | 5923 | fjp | *
|
237 | * @param trans
|
||
238 | * Nivel de transparencia.
|
||
239 | 525 | vcaballero | */
|
240 | 434 | fjp | public void setTransparency(int trans) { |
241 | transparency = trans; |
||
242 | 6002 | fjp | setDirty(true);
|
243 | 434 | fjp | } |
244 | 435 | vcaballero | |
245 | 525 | vcaballero | /**
|
246 | 1034 | vcaballero | * Devuelve el XMLEntity a partir del objeto.
|
247 | 5923 | fjp | *
|
248 | 1034 | vcaballero | * @return XMLEntity.
|
249 | 1828 | fernando | * @throws XMLException
|
250 | 525 | vcaballero | */
|
251 | 1828 | fernando | public XMLEntity getXMLEntity() throws XMLException { |
252 | 525 | vcaballero | XMLEntity xml = new XMLEntity();
|
253 | 5923 | fjp | xml.putProperty("className", this.getClass().getName()); |
254 | 435 | vcaballero | |
255 | 525 | vcaballero | if (this instanceof FLayers) { |
256 | } |
||
257 | |||
258 | xml.putProperty("active", active);
|
||
259 | xml.putProperty("name", name);
|
||
260 | 5923 | fjp | xml.putProperty("minScale", minScale);
|
261 | xml.putProperty("maxScale", maxScale);
|
||
262 | 5908 | caballero | |
263 | 5923 | fjp | // TODO xml.addChild(parentLayer.getXMLEntity());
|
264 | 525 | vcaballero | xml.putProperty("visible", visible);
|
265 | 1417 | fjp | if (projection != null) { |
266 | xml.putProperty("proj", projection.getAbrev());
|
||
267 | } |
||
268 | 1455 | luisw | xml.putProperty("transparency", transparency);
|
269 | 5802 | jaume | xml.putProperty("isInTOC", isInTOC);
|
270 | 525 | vcaballero | return xml;
|
271 | } |
||
272 | |||
273 | 2183 | fernando | /*
|
274 | * Inserta los valores de los atributos del XMLEntity al objeto.
|
||
275 | 5923 | fjp | *
|
276 | 2183 | fernando | * @param xml XMLEntity.
|
277 | 5923 | fjp | *
|
278 | * @throws XMLException @throws DriverException @throws DriverIOException
|
||
279 | *
|
||
280 | * public void setXMLEntity03(XMLEntity xml) throws XMLException { active =
|
||
281 | * xml.getBooleanProperty("active"); name = xml.getStringProperty("name");
|
||
282 | * minScale=xml.getDoubleProperty("minScale");
|
||
283 | * maxScale=xml.getDoubleProperty("maxScale"); visible =
|
||
284 | * xml.getBooleanProperty("visible"); if (xml.contains("proj")) {
|
||
285 | * setProjection(ProjectionPool.get(xml.getStringProperty("proj"))); } if
|
||
286 | * (xml.contains("transparency")) transparency =
|
||
287 | * xml.getIntProperty("transparency"); }
|
||
288 | */
|
||
289 | 2183 | fernando | |
290 | 525 | vcaballero | /**
|
291 | 1034 | vcaballero | * Inserta los valores de los atributos del XMLEntity al objeto.
|
292 | 5923 | fjp | *
|
293 | * @param xml
|
||
294 | * XMLEntity.
|
||
295 | *
|
||
296 | 1034 | vcaballero | * @throws XMLException
|
297 | * @throws DriverException
|
||
298 | * @throws DriverIOException
|
||
299 | 525 | vcaballero | */
|
300 | 5923 | fjp | public void setXMLEntity(XMLEntity xml) throws XMLException { |
301 | 525 | vcaballero | active = xml.getBooleanProperty("active");
|
302 | name = xml.getStringProperty("name");
|
||
303 | 5923 | fjp | minScale = xml.getDoubleProperty("minScale");
|
304 | maxScale = xml.getDoubleProperty("maxScale");
|
||
305 | 525 | vcaballero | visible = xml.getBooleanProperty("visible");
|
306 | 1417 | fjp | if (xml.contains("proj")) { |
307 | 6164 | luisw2 | setProjection(CRSFactory.getCRS(xml.getStringProperty("proj")));
|
308 | 1417 | fjp | } |
309 | 1455 | luisw | if (xml.contains("transparency")) |
310 | transparency = xml.getIntProperty("transparency");
|
||
311 | 5802 | jaume | if (xml.contains("isInTOC")) |
312 | isInTOC = xml.getBooleanProperty("isInTOC");
|
||
313 | 525 | vcaballero | } |
314 | 694 | fernando | |
315 | /**
|
||
316 | 2183 | fernando | * Inserta los valores de los atributos del XMLEntity al objeto.
|
317 | 5923 | fjp | *
|
318 | * @param xml
|
||
319 | * XMLEntity.
|
||
320 | *
|
||
321 | 2183 | fernando | * @throws XMLException
|
322 | * @throws DriverException
|
||
323 | * @throws DriverIOException
|
||
324 | */
|
||
325 | 5923 | fjp | public void setXMLEntity03(XMLEntity xml) throws XMLException { |
326 | 2183 | fernando | active = xml.getBooleanProperty("active");
|
327 | name = xml.getStringProperty("name");
|
||
328 | 5923 | fjp | minScale = xml.getDoubleProperty("minScale");
|
329 | maxScale = xml.getDoubleProperty("maxScale");
|
||
330 | 2183 | fernando | visible = xml.getBooleanProperty("visible");
|
331 | if (xml.contains("proj")) { |
||
332 | 6164 | luisw2 | setProjection(CRSFactory.getCRS(xml.getStringProperty("proj")));
|
333 | 2183 | fernando | } |
334 | if (xml.contains("transparency")) |
||
335 | transparency = xml.getIntProperty("transparency");
|
||
336 | } |
||
337 | |||
338 | /**
|
||
339 | 694 | fernando | * @see com.iver.cit.gvsig.fmap.layers.FLayer#getFMap()
|
340 | */
|
||
341 | public FMap getFMap() {
|
||
342 | 884 | fernando | if (getParentLayer() != null) { |
343 | return getParentLayer().getFMap();
|
||
344 | } else {
|
||
345 | return null; |
||
346 | } |
||
347 | 694 | fernando | } |
348 | |||
349 | 884 | fernando | /**
|
350 | 1034 | vcaballero | * A?ade a la lista de listener un nuevo LayerListener.
|
351 | 5923 | fjp | *
|
352 | * @param o
|
||
353 | * LayerListener.
|
||
354 | *
|
||
355 | 1034 | vcaballero | * @return boolean.
|
356 | 884 | fernando | */
|
357 | 727 | fernando | public boolean addLayerListener(LayerListener o) { |
358 | 4370 | caballero | if (layerListeners.contains(o))
|
359 | return false; |
||
360 | 727 | fernando | return layerListeners.add(o);
|
361 | } |
||
362 | 5908 | caballero | public LayerListener[] getLayerListeners() { |
363 | return (LayerListener[])layerListeners.toArray(new LayerListener[0]); |
||
364 | } |
||
365 | 884 | fernando | /**
|
366 | 1034 | vcaballero | * Borra de la lista de listeners el que se pasa como par?metro.
|
367 | 5923 | fjp | *
|
368 | * @param o
|
||
369 | * LayerListener a borrar.
|
||
370 | *
|
||
371 | 1034 | vcaballero | * @return True si ha sido correcto el borrado del Listener.
|
372 | 884 | fernando | */
|
373 | 727 | fernando | public boolean removeLayerListener(LayerListener o) { |
374 | return layerListeners.remove(o);
|
||
375 | } |
||
376 | 884 | fernando | |
377 | /**
|
||
378 | 1034 | vcaballero | * Llamada al metodo nameChanged de los Listeners dados de alta.
|
379 | 5923 | fjp | *
|
380 | * @param e
|
||
381 | * LayerEvent.
|
||
382 | 884 | fernando | */
|
383 | private void callNameChanged(LayerEvent e) { |
||
384 | 727 | fernando | for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
385 | LayerListener listener = (LayerListener) iter.next(); |
||
386 | 884 | fernando | |
387 | 727 | fernando | listener.nameChanged(e); |
388 | } |
||
389 | } |
||
390 | 884 | fernando | |
391 | /**
|
||
392 | 1034 | vcaballero | * Llamada al m?todo visibilityChanged de los Listeners.
|
393 | 5923 | fjp | *
|
394 | * @param e
|
||
395 | * LayerEvent.
|
||
396 | 884 | fernando | */
|
397 | private void callVisibilityChanged(LayerEvent e) { |
||
398 | 727 | fernando | for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
399 | LayerListener listener = (LayerListener) iter.next(); |
||
400 | 884 | fernando | |
401 | 727 | fernando | listener.visibilityChanged(e); |
402 | } |
||
403 | } |
||
404 | 884 | fernando | |
405 | /**
|
||
406 | 1034 | vcaballero | * Llamada al m?todo activationChanged de los Listener.
|
407 | 5923 | fjp | *
|
408 | * @param e
|
||
409 | * LayerEvent.
|
||
410 | 884 | fernando | */
|
411 | private void callActivationChanged(LayerEvent e) { |
||
412 | 727 | fernando | for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
413 | LayerListener listener = (LayerListener) iter.next(); |
||
414 | 884 | fernando | |
415 | 727 | fernando | listener.activationChanged(e); |
416 | } |
||
417 | } |
||
418 | 745 | fjp | |
419 | 884 | fernando | /**
|
420 | 1034 | vcaballero | * Devuelve las capas virtuales.
|
421 | 5923 | fjp | *
|
422 | 1034 | vcaballero | * @return FLayers.
|
423 | 884 | fernando | */
|
424 | 745 | fjp | public FLayers getVirtualLayers() {
|
425 | return virtualLayers;
|
||
426 | } |
||
427 | 884 | fernando | |
428 | /**
|
||
429 | 1034 | vcaballero | * Inserta las capas virtuales.
|
430 | 5923 | fjp | *
|
431 | * @param virtualLayers
|
||
432 | * FLayers.
|
||
433 | 884 | fernando | */
|
434 | 745 | fjp | public void setVirtualLayers(FLayers virtualLayers) { |
435 | this.virtualLayers = virtualLayers;
|
||
436 | } |
||
437 | 884 | fernando | |
438 | /**
|
||
439 | 1034 | vcaballero | * Devuelve la capa de texto.
|
440 | 5923 | fjp | *
|
441 | 1034 | vcaballero | * @return capa de texto.
|
442 | 884 | fernando | */
|
443 | 757 | fjp | public FLyrText getLayerText() {
|
444 | return layerText;
|
||
445 | } |
||
446 | 884 | fernando | |
447 | /**
|
||
448 | 1034 | vcaballero | * Inserta la capa de texto.
|
449 | 5923 | fjp | *
|
450 | * @param layerText
|
||
451 | * Capa de texto.
|
||
452 | 884 | fernando | */
|
453 | 757 | fjp | public void setLayerText(FLyrText layerText) { |
454 | this.layerText = layerText;
|
||
455 | } |
||
456 | 885 | fjp | |
457 | /**
|
||
458 | 4479 | fjp | * Inserta la Transformaci?n de coordenadas.
|
459 | 5923 | fjp | *
|
460 | * @param ct
|
||
461 | * Transformaci?n de coordenadas.
|
||
462 | 885 | fjp | */
|
463 | public void setCoordTrans(ICoordTrans ct) { |
||
464 | this.ct = ct;
|
||
465 | } |
||
466 | |||
467 | /**
|
||
468 | 4479 | fjp | * Devuelve las transformaci?n de coordenadas.
|
469 | 5923 | fjp | *
|
470 | 4479 | fjp | * @return ct.
|
471 | 885 | fjp | */
|
472 | public ICoordTrans getCoordTrans() {
|
||
473 | return ct;
|
||
474 | } |
||
475 | 5908 | caballero | |
476 | 4376 | nacho | /**
|
477 | 5923 | fjp | * M?todo que es llamado por Flayers para notificar a la capa que va a ser
|
478 | * a?adida. Esta previa notificaci?n es util para las capas que necesitan
|
||
479 | * hacer algo antes de ser a?adida. Por ejemplo, el raster necesita volver a
|
||
480 | * abrir el fichero que ha podido ser cerrado con anterioridad. Si no se
|
||
481 | * redefine este m?todo no se har? nada ya que este es vacio.
|
||
482 | 4376 | nacho | */
|
483 | 5923 | fjp | public void wakeUp() { |
484 | } |
||
485 | 5908 | caballero | |
486 | 5923 | fjp | public double getMinScale() { |
487 | return minScale;
|
||
488 | } |
||
489 | 1176 | fjp | |
490 | 5923 | fjp | /*
|
491 | * (non-Javadoc)
|
||
492 | *
|
||
493 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#getMaxScale()
|
||
494 | */
|
||
495 | public double getMaxScale() { |
||
496 | return maxScale;
|
||
497 | } |
||
498 | 5908 | caballero | |
499 | 5923 | fjp | public void setMinScale(double minScale) { |
500 | this.minScale = minScale;
|
||
501 | } |
||
502 | 5908 | caballero | |
503 | 5923 | fjp | public void setMaxScale(double maxScale) { |
504 | this.maxScale = maxScale;
|
||
505 | } |
||
506 | 5908 | caballero | |
507 | 5923 | fjp | public boolean isWithinScale(double scale) { |
508 | 5908 | caballero | |
509 | 5923 | fjp | boolean bVisible = true; |
510 | if (getMinScale() != -1) { |
||
511 | if (scale < getMinScale())
|
||
512 | bVisible = false;
|
||
513 | } |
||
514 | if (getMaxScale() != -1) { |
||
515 | if (scale > getMaxScale())
|
||
516 | bVisible = false;
|
||
517 | } |
||
518 | 5908 | caballero | |
519 | 5923 | fjp | return bVisible;
|
520 | } |
||
521 | 3690 | caballero | |
522 | 5923 | fjp | public Strategy getStrategy() {
|
523 | return privateStrategy;
|
||
524 | } |
||
525 | |||
526 | public void setStrategy(Strategy s) { |
||
527 | privateStrategy = s; |
||
528 | } |
||
529 | |||
530 | 5152 | fjp | public void setEditing(boolean b) throws EditionException { |
531 | 5923 | fjp | isediting = b; |
532 | 6002 | fjp | setDirty(true);
|
533 | setCachingDrawnLayers(b); |
||
534 | 3690 | caballero | } |
535 | 5923 | fjp | |
536 | 4147 | fjp | protected void callEditionChanged(LayerEvent e) { |
537 | 4144 | fjp | for (Iterator iter = layerListeners.iterator(); iter.hasNext();) { |
538 | LayerListener listener = (LayerListener) iter.next(); |
||
539 | |||
540 | listener.editionChanged(e); |
||
541 | } |
||
542 | } |
||
543 | |||
544 | 5923 | fjp | public boolean isEditing() { |
545 | 3690 | caballero | return isediting;
|
546 | } |
||
547 | 5908 | caballero | |
548 | 5923 | fjp | public ImageIcon getTocImageIcon() { |
549 | return null; |
||
550 | } |
||
551 | 5908 | caballero | |
552 | 5923 | fjp | public boolean isInTOC() { |
553 | return isInTOC;
|
||
554 | } |
||
555 | |||
556 | /* (non-Javadoc)
|
||
557 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#isCachingDrawnLayers()
|
||
558 | */
|
||
559 | public boolean isCachingDrawnLayers() { |
||
560 | return bCacheDrawnLayers;
|
||
561 | } |
||
562 | |||
563 | /* (non-Javadoc)
|
||
564 | * @see com.iver.cit.gvsig.fmap.layers.FLayer#setCachingDrawnLayers(boolean)
|
||
565 | */
|
||
566 | public void setCachingDrawnLayers(boolean bCacheDrawnLayers) { |
||
567 | this.bCacheDrawnLayers = bCacheDrawnLayers;
|
||
568 | 5997 | fjp | if (bCacheDrawnLayers == false) |
569 | this.cacheImageDrawnLayers = null; |
||
570 | 5923 | fjp | } |
571 | |||
572 | public BufferedImage getCacheImageDrawnLayers() { |
||
573 | return cacheImageDrawnLayers;
|
||
574 | } |
||
575 | |||
576 | public void setCacheImageDrawnLayers(BufferedImage cacheImageDrawnLayers) { |
||
577 | this.cacheImageDrawnLayers = cacheImageDrawnLayers;
|
||
578 | } |
||
579 | |||
580 | public boolean isDirty() { |
||
581 | return bDirty;
|
||
582 | } |
||
583 | |||
584 | public void setDirty(boolean dirty) { |
||
585 | bDirty = dirty; |
||
586 | } |
||
587 | 6400 | jmvivo | |
588 | public boolean isUnavailable() { |
||
589 | return this.unavailable; |
||
590 | } |
||
591 | |||
592 | public void setUnavailable(boolean unavailable) { |
||
593 | this.unavailable = unavailable;
|
||
594 | } |
||
595 | 5923 | fjp | |
596 | |||
597 | 214 | fernando | } |