Statistics
| Revision:

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

History | View | Annotate | Download (5.69 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 651 fernando
import com.iver.cit.gvsig.fmap.DriverException;
44 691 fernando
import com.iver.cit.gvsig.fmap.FMap;
45 533 vcaballero
import com.iver.cit.gvsig.fmap.ViewPort;
46 442 vcaballero
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
47 533 vcaballero
import com.iver.cit.gvsig.fmap.operations.Cancellable;
48 1005 vcaballero
49 415 fernando
import com.iver.utiles.XMLEntity;
50 249 vcaballero
51 1005 vcaballero
import org.cresques.cts.ICoordTrans;
52 249 vcaballero
53 1005 vcaballero
import org.cresques.geo.Projected;
54
55
import java.awt.Graphics2D;
56
import java.awt.geom.Rectangle2D;
57
import java.awt.image.BufferedImage;
58
59
60 217 fernando
/**
61 1005 vcaballero
 * Interfaz que tienen que implementar todas las capas.
62 217 fernando
 */
63 533 vcaballero
public interface FLayer extends Projected {
64 523 vcaballero
        /**
65
         * Obtiene una representaci?n de la colecci?n de capas de forma recursiva
66
         *
67 1005 vcaballero
         * @return XMLEntity.
68 1828 fernando
         * @throws XMLException
69 523 vcaballero
         */
70 1828 fernando
        XMLEntity getXMLEntity() throws XMLException;
71 214 fernando
72 523 vcaballero
        /**
73 1005 vcaballero
         * Inserta las propiedades del XMLEntity al objeto actual.
74 523 vcaballero
         *
75 1005 vcaballero
         * @param xml XMLEntity
76 523 vcaballero
         *
77
         * @throws XMLException
78
         */
79 1056 vcaballero
        void setXMLEntity(XMLEntity xml) throws XMLException;
80 442 vcaballero
81 523 vcaballero
        /**
82 2183 fernando
         * Inserta las propiedades del XMLEntity al objeto actual.
83
         *
84
         * @param xml XMLEntity
85
         *
86
         * @throws XMLException
87
         */
88
        void setXMLEntity03(XMLEntity xml) throws XMLException;
89
90
        /**
91 1005 vcaballero
         * Pone la capa actual a activa o inactiva seg?n el boolean que se pasa
92
         * como par?metro.
93 523 vcaballero
         *
94 1005 vcaballero
         * @param selected activa.
95 523 vcaballero
         */
96
        void setActive(boolean selected);
97 214 fernando
98 523 vcaballero
        /**
99 1005 vcaballero
         * Devuelve true si la capa esta activa.
100 523 vcaballero
         *
101 1005 vcaballero
         * @return activa.
102 523 vcaballero
         */
103
        boolean isActive();
104 214 fernando
105 523 vcaballero
        /**
106 1005 vcaballero
         * Inserta un nombre a la capa.
107 523 vcaballero
         *
108 1005 vcaballero
         * @param name nombre.
109 523 vcaballero
         */
110
        void setName(String name);
111 214 fernando
112 523 vcaballero
        /**
113 1005 vcaballero
         * Devuelve el nombre de la capa.
114 523 vcaballero
         *
115 1005 vcaballero
         * @return nombre de la capa.
116 523 vcaballero
         */
117
        String getName();
118 214 fernando
119 523 vcaballero
        /**
120
         * Realiza las operaciones de inicializaci?n de la capa. El m?todo es
121
         * invocado una ?nica vez durante la vida de la capa y justo antes de
122
         * visualizar la capa
123
         *
124 1005 vcaballero
         * @throws DriverIOException
125 523 vcaballero
         */
126
        void load() throws DriverIOException;
127 214 fernando
128 523 vcaballero
        /**
129 1005 vcaballero
         * Pone la capa en modo visible o no visible.
130 523 vcaballero
         *
131 1005 vcaballero
         * @param visibility visibilidad.
132 523 vcaballero
         */
133
        void setVisible(boolean visibility);
134 214 fernando
135 523 vcaballero
        /**
136 1005 vcaballero
         * Devuelve true si la capa es visible.
137 523 vcaballero
         *
138 1005 vcaballero
         * @return visibilidad.
139 523 vcaballero
         */
140
        boolean isVisible();
141 214 fernando
142 523 vcaballero
        /**
143 1005 vcaballero
         * Devuelve el FLayers padre de la capa.
144 523 vcaballero
         *
145 1005 vcaballero
         * @return FLayers padre de la capa.
146 523 vcaballero
         */
147
        public FLayers getParentLayer();
148 249 vcaballero
149 884 fernando
        /**
150 1005 vcaballero
         * Devuelve el FMap al que est? a?adida la capa o null si la capa no ha
151
         * sido a?adida a ning?n FMap
152 885 fjp
         *
153 884 fernando
         * @return FMap
154
         */
155 691 fernando
        public FMap getFMap();
156 884 fernando
157 513 fjp
        /**
158 1005 vcaballero
         * Inserta el FLayers padre de la capa.
159 563 fernando
         *
160 1005 vcaballero
         * @param root capa padre.
161 563 fernando
         */
162
        public void setParentLayer(FLayers root);
163
164
        /**
165 513 fjp
         * Obtiene la extensi?n completa de la capa
166
         *
167 1005 vcaballero
         * @return FullExtent.
168 513 fjp
         *
169 1005 vcaballero
         * @throws DriverException
170 513 fjp
         */
171 651 fernando
        Rectangle2D getFullExtent() throws DriverException;
172 513 fjp
173
        /**
174
         * Dibuja la capa
175
         *
176 1005 vcaballero
         * @param image Imagen utilizada para acelerar el dibujado en pantalla.
177
         * @param g Graphics2D sobre el que dibujar.
178
         * @param viewPort Propiedades de la vista.
179
         * @param cancel PAra poder cancelar el dibujado.
180 513 fjp
         *
181
         * @throws DriverException
182 563 fernando
         */
183
        void draw(BufferedImage image, Graphics2D g, ViewPort viewPort,
184 2531 caballero
                Cancellable cancel,double scale) throws DriverException;
185 563 fernando
186
        /**
187
         * Dibuja la capa
188
         *
189 1005 vcaballero
         * @param g Graphics2D de la impresora sobre el que dibujar.
190
         * @param viewPort Propiedades de la vista.
191 563 fernando
         * @param cancel
192
         *
193
         * @throws DriverException
194 513 fjp
         */
195 2531 caballero
        void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,double scale)
196 653 fernando
                throws DriverException;
197 727 fernando
198 884 fernando
        /**
199 1005 vcaballero
         * Inserta las coordenadas de transformaci?n.
200 884 fernando
         *
201 1005 vcaballero
         * @param ct Coordenadas de transformaci?n.
202 885 fjp
         */
203
        void setCoordTrans(ICoordTrans ct);
204
205
        /**
206 1005 vcaballero
         * Devuelve las coordenadas de transformaci?n.
207 885 fjp
         *
208 1005 vcaballero
         * @return Coordenadas de transformaci?n.
209 885 fjp
         */
210
        ICoordTrans getCoordTrans();
211
212
        /**
213 1005 vcaballero
         * A?ade un listener LayerListener a la lista de listeners.
214 885 fjp
         *
215 1005 vcaballero
         * @param o Listener.
216 884 fernando
         *
217 1005 vcaballero
         * @return True si es correcta la inserci?n del listener.
218 884 fernando
         */
219 727 fernando
        public boolean addLayerListener(LayerListener o);
220
221 884 fernando
        /**
222 1005 vcaballero
         * Borra de la lista el LayerListener que se pasa como par?metro.
223 884 fernando
         *
224 1005 vcaballero
         * @param o Listener.
225 884 fernando
         *
226 1005 vcaballero
         * @return True si es correcto el borrado del listener.
227 884 fernando
         */
228 727 fernando
        public boolean removeLayerListener(LayerListener o);
229 1176 fjp
230 2531 caballero
        public boolean isWithinScale(double scale);
231 1176 fjp
232
233
        /**
234
         * La capa no se visualiza si est? por debajo de esa escala
235
         * @return la escala minima de visualizaci?n
236
         */
237
        public double getMinScale();
238
239
        /**
240
         * La capa no se visualiza si est? por encima de esa escala
241
         * @return la escala m?xima de visualizaci?n
242
         */
243
        public double getMaxScale();
244
245
        public void setMinScale(double minScale);
246
        public void setMaxScale(double maxScale);
247 3690 caballero
        public void setEditing(boolean b);
248
        public boolean isEditing();
249 214 fernando
}