Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / FLayer.java @ 1034

History | View | Annotate | Download (3.86 KB)

1
package com.iver.cit.gvsig.fmap.layers;
2

    
3
import com.iver.cit.gvsig.fmap.DriverException;
4
import com.iver.cit.gvsig.fmap.FMap;
5
import com.iver.cit.gvsig.fmap.ViewPort;
6
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
7
import com.iver.cit.gvsig.fmap.operations.Cancellable;
8

    
9
import com.iver.utiles.XMLEntity;
10

    
11
import org.cresques.cts.ICoordTrans;
12

    
13
import org.cresques.geo.Projected;
14

    
15
import java.awt.Graphics2D;
16
import java.awt.geom.Rectangle2D;
17
import java.awt.image.BufferedImage;
18

    
19

    
20
/**
21
 * Interfaz que tienen que implementar todas las capas.
22
 */
23
public interface FLayer extends Projected {
24
        /**
25
         * Obtiene una representaci?n de la colecci?n de capas de forma recursiva
26
         *
27
         * @return XMLEntity.
28
         */
29
        XMLEntity getXMLEntity();
30

    
31
        /**
32
         * Inserta las propiedades del XMLEntity al objeto actual.
33
         *
34
         * @param xml XMLEntity
35
         *
36
         * @throws XMLException
37
         * @throws DriverException
38
         * @throws DriverIOException
39
         */
40
        void setXMLEntity(XMLEntity xml)
41
                throws XMLException, DriverException, DriverIOException;
42

    
43
        /**
44
         * Pone la capa actual a activa o inactiva seg?n el boolean que se pasa
45
         * como par?metro.
46
         *
47
         * @param selected activa.
48
         */
49
        void setActive(boolean selected);
50

    
51
        /**
52
         * Devuelve true si la capa esta activa.
53
         *
54
         * @return activa.
55
         */
56
        boolean isActive();
57

    
58
        /**
59
         * Inserta un nombre a la capa.
60
         *
61
         * @param name nombre.
62
         */
63
        void setName(String name);
64

    
65
        /**
66
         * Devuelve el nombre de la capa.
67
         *
68
         * @return nombre de la capa.
69
         */
70
        String getName();
71

    
72
        /**
73
         * Realiza las operaciones de inicializaci?n de la capa. El m?todo es
74
         * invocado una ?nica vez durante la vida de la capa y justo antes de
75
         * visualizar la capa
76
         *
77
         * @throws DriverIOException
78
         */
79
        void load() throws DriverIOException;
80

    
81
        /**
82
         * Pone la capa en modo visible o no visible.
83
         *
84
         * @param visibility visibilidad.
85
         */
86
        void setVisible(boolean visibility);
87

    
88
        /**
89
         * Devuelve true si la capa es visible.
90
         *
91
         * @return visibilidad.
92
         */
93
        boolean isVisible();
94

    
95
        /**
96
         * Devuelve el FLayers padre de la capa.
97
         *
98
         * @return FLayers padre de la capa.
99
         */
100
        public FLayers getParentLayer();
101

    
102
        /**
103
         * Devuelve el FMap al que est? a?adida la capa o null si la capa no ha
104
         * sido a?adida a ning?n FMap
105
         *
106
         * @return FMap
107
         */
108
        public FMap getFMap();
109

    
110
        /**
111
         * Inserta el FLayers padre de la capa.
112
         *
113
         * @param root capa padre.
114
         */
115
        public void setParentLayer(FLayers root);
116

    
117
        /**
118
         * Obtiene la extensi?n completa de la capa
119
         *
120
         * @return FullExtent.
121
         *
122
         * @throws DriverException
123
         */
124
        Rectangle2D getFullExtent() throws DriverException;
125

    
126
        /**
127
         * Dibuja la capa
128
         *
129
         * @param image Imagen utilizada para acelerar el dibujado en pantalla.
130
         * @param g Graphics2D sobre el que dibujar.
131
         * @param viewPort Propiedades de la vista.
132
         * @param cancel PAra poder cancelar el dibujado.
133
         *
134
         * @throws DriverException
135
         */
136
        void draw(BufferedImage image, Graphics2D g, ViewPort viewPort,
137
                Cancellable cancel) throws DriverException;
138

    
139
        /**
140
         * Dibuja la capa
141
         *
142
         * @param g Graphics2D de la impresora sobre el que dibujar.
143
         * @param viewPort Propiedades de la vista.
144
         * @param cancel
145
         *
146
         * @throws DriverException
147
         */
148
        void print(Graphics2D g, ViewPort viewPort, Cancellable cancel)
149
                throws DriverException;
150

    
151
        /**
152
         * Inserta las coordenadas de transformaci?n.
153
         *
154
         * @param ct Coordenadas de transformaci?n.
155
         */
156
        void setCoordTrans(ICoordTrans ct);
157

    
158
        /**
159
         * Devuelve las coordenadas de transformaci?n.
160
         *
161
         * @return Coordenadas de transformaci?n.
162
         */
163
        ICoordTrans getCoordTrans();
164

    
165
        /**
166
         * A?ade un listener LayerListener a la lista de listeners.
167
         *
168
         * @param o Listener.
169
         *
170
         * @return True si es correcta la inserci?n del listener.
171
         */
172
        public boolean addLayerListener(LayerListener o);
173

    
174
        /**
175
         * Borra de la lista el LayerListener que se pasa como par?metro.
176
         *
177
         * @param o Listener.
178
         *
179
         * @return True si es correcto el borrado del listener.
180
         */
181
        public boolean removeLayerListener(LayerListener o);
182
}