27 |
27 |
import com.hardcode.gdbms.engine.data.DriverException;
|
28 |
28 |
import com.hardcode.gdbms.engine.instruction.FieldNotFoundException;
|
29 |
29 |
import com.iver.cit.gvsig.fmap.FMap;
|
30 |
|
import com.iver.cit.gvsig.fmap.NewMapControl;
|
31 |
30 |
import com.iver.cit.gvsig.fmap.layers.FLayer;
|
32 |
|
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
|
33 |
31 |
import com.iver.cit.gvsig.fmap.layers.XMLException;
|
|
32 |
import com.iver.cit.gvsig.fmap.layers.layerOperations.Classifiable;
|
|
33 |
import com.iver.cit.gvsig.fmap.layers.layerOperations.ClassifiableVectorial;
|
34 |
34 |
import com.iver.cit.gvsig.fmap.rendering.IntervalLegend;
|
35 |
35 |
import com.iver.cit.gvsig.fmap.rendering.Legend;
|
36 |
36 |
import com.iver.cit.gvsig.fmap.rendering.SingleSymbolLegend;
|
... | ... | |
39 |
39 |
import com.iver.cit.gvsig.gui.legendmanager.panels.FPanelLegendBreaks;
|
40 |
40 |
import com.iver.cit.gvsig.gui.legendmanager.panels.FPanelLegendDefault;
|
41 |
41 |
import com.iver.cit.gvsig.gui.legendmanager.panels.FPanelLegendValues;
|
42 |
|
import com.iver.cit.gvsig.gui.toc.TOC;
|
43 |
42 |
import com.iver.mdiApp.App;
|
44 |
43 |
import com.iver.mdiApp.Messages;
|
45 |
44 |
import com.iver.mdiApp.Utilities;
|
... | ... | |
64 |
63 |
public final static int SYMBOL_TYPE_DEFAULT = 5;
|
65 |
64 |
|
66 |
65 |
private FMap mapContext;
|
67 |
|
private FLyrVect m_Lyr;
|
|
66 |
private FLayer m_Lyr;
|
68 |
67 |
private Legend m_Renderer; // Le asignaremos la leyenda del primer tema activo.
|
69 |
68 |
private JTabbedPane organizador = new JTabbedPane();
|
70 |
69 |
private FPanelLegendDefault m_defaultLegendPanel;
|
... | ... | |
155 |
154 |
// pack();
|
156 |
155 |
}
|
157 |
156 |
|
158 |
|
private FLyrVect getFirstActiveLayerVect()
|
|
157 |
private FLayer getFirstActiveLayerVect()
|
159 |
158 |
{
|
160 |
159 |
// Comprobar en openLegendManager que hay alg?n tema activo!
|
161 |
160 |
FLayer[] activeLyrs = mapContext.getLayers().getActives();
|
... | ... | |
165 |
164 |
Messages.getString("necesita_un_tema_activo"), "", JOptionPane.ERROR_MESSAGE);
|
166 |
165 |
return null;
|
167 |
166 |
}
|
168 |
|
FLyrVect lyr = null;
|
|
167 |
FLayer lyr = null;
|
169 |
168 |
for (int i=0; i < activeLyrs.length; i++)
|
170 |
169 |
{
|
171 |
|
if (activeLyrs[i] instanceof FLyrVect)
|
|
170 |
if (activeLyrs[i] instanceof Classifiable)
|
172 |
171 |
{
|
173 |
|
lyr = (FLyrVect) activeLyrs[i];
|
|
172 |
Classifiable auxC = (Classifiable) activeLyrs[i];
|
|
173 |
Legend theLegend = auxC.getLegend();
|
|
174 |
if (theLegend instanceof ClassifiableVectorial)
|
|
175 |
lyr = (FLayer) auxC;
|
174 |
176 |
}
|
175 |
177 |
}
|
176 |
178 |
|
... | ... | |
197 |
199 |
this.mapContext = mapContext;
|
198 |
200 |
m_Lyr = getFirstActiveLayerVect();
|
199 |
201 |
try {
|
200 |
|
m_Renderer = (Legend) m_Lyr.getLegendInfo().cloneLegend();
|
|
202 |
ClassifiableVectorial aux = (ClassifiableVectorial) m_Lyr;
|
|
203 |
m_Renderer = (Legend) aux.getLegend().cloneLegend();
|
201 |
204 |
} catch (XMLException e) {
|
202 |
205 |
// TODO Auto-generated catch block
|
203 |
206 |
e.printStackTrace();
|
... | ... | |
211 |
214 |
*/
|
212 |
215 |
private void actualizar() {
|
213 |
216 |
// Avisar si no es Vectorial
|
214 |
|
FLyrVect lyrSelected = getFirstActiveLayerVect();
|
|
217 |
FLayer lyrSelected = getFirstActiveLayerVect();
|
215 |
218 |
|
216 |
219 |
m_defaultLegendPanel.setFSymbol(m_Renderer.getDefaultSymbol());
|
217 |
220 |
m_valuesLegendPanel.setLayer(lyrSelected, m_Renderer);
|
... | ... | |
249 |
252 |
* @param evt DOCUMENT ME!
|
250 |
253 |
*/
|
251 |
254 |
private void btnApply_actionPerformed(ActionEvent evt) {
|
252 |
|
FLyrVect lyr;
|
|
255 |
ClassifiableVectorial lyr;
|
253 |
256 |
|
254 |
257 |
// TODO: APLICAR LA LEYENDA A LAS CAPAS ACTIVAS
|
255 |
|
|
256 |
|
switch (organizador.getSelectedIndex()) {
|
257 |
|
case 0: // default symbol
|
258 |
|
m_Renderer = m_defaultLegendPanel.getLegend();
|
259 |
|
break;
|
260 |
|
case 1: // Unique Values
|
261 |
|
m_Renderer = m_valuesLegendPanel.getLegend();
|
262 |
|
break;
|
263 |
|
case 2:// break values
|
264 |
|
m_Renderer = m_breaksLegendPanel.getLegend();
|
265 |
|
|
266 |
|
}
|
267 |
258 |
try {
|
268 |
|
m_Lyr.setLegend((VectorialLegend) m_Renderer);
|
|
259 |
switch (organizador.getSelectedIndex()) {
|
|
260 |
case 0: // default symbol
|
|
261 |
m_Renderer = m_defaultLegendPanel.getLegend();
|
|
262 |
break;
|
|
263 |
case 1: // Unique Values
|
|
264 |
m_Renderer = m_valuesLegendPanel.getLegend();
|
|
265 |
ClassifiableVectorial aux = (ClassifiableVectorial) m_Lyr;
|
|
266 |
aux.setLegend((VectorialLegend) m_Renderer);
|
|
267 |
break;
|
|
268 |
case 2:// break values
|
|
269 |
m_Renderer = m_breaksLegendPanel.getLegend();
|
|
270 |
|
|
271 |
}
|
269 |
272 |
mapContext.fireLegendEvent();
|
270 |
273 |
mapContext.fireInvalidEvent();
|
271 |
274 |
} catch (DriverLoadException e) {
|