Revision 42651
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVect.java | ||
---|---|---|
527 | 527 |
*/ |
528 | 528 |
String ret = super.toString(); |
529 | 529 |
|
530 |
return "layer" + ret.substring(ret.indexOf('@') + 1); |
|
530 |
return ret ; //"layer" + ret.substring(ret.indexOf('@') + 1);
|
|
531 | 531 |
} |
532 | 532 |
|
533 | 533 |
public boolean isEditing() { |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/FLyrDefault.java | ||
---|---|---|
1038 | 1038 |
} |
1039 | 1039 |
|
1040 | 1040 |
public String toString() { |
1041 |
return super.toString() + ": " + getName();
|
|
1041 |
return this.getName();
|
|
1042 | 1042 |
} |
1043 | 1043 |
|
1044 | 1044 |
public boolean hidesThisArea(Envelope area) { |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/FLayers.java | ||
---|---|---|
213 | 213 |
|
214 | 214 |
if (layer instanceof FLayers) { |
215 | 215 |
FLayers layers = (FLayers) layer; |
216 |
fmap.addAsCollectionListener(layers); |
|
216 |
if( fmap != null ) { |
|
217 |
fmap.addAsCollectionListener(layers); |
|
218 |
} |
|
217 | 219 |
} |
218 | 220 |
callLayerAdding(LayerCollectionEvent.createLayerAddingEvent(layer)); |
219 | 221 |
|
... | ... | |
605 | 607 |
|
606 | 608 |
} catch (Exception e) { |
607 | 609 |
String mesg = Messages.getString("error_printing_layer") + " " + lyr.getName() + ": " + e.getMessage(); |
608 |
fmap.addLayerError(mesg); |
|
610 |
if( fmap!=null ) { |
|
611 |
fmap.addLayerError(mesg); |
|
612 |
} |
|
609 | 613 |
logger.error(mesg, e); |
610 | 614 |
} |
611 | 615 |
|
... | ... | |
1018 | 1022 |
|
1019 | 1023 |
@Override |
1020 | 1024 |
public void beginDraw(Graphics2D g, ViewPort viewPort) { |
1025 |
if( fmap == null ) { |
|
1026 |
return; |
|
1027 |
} |
|
1021 | 1028 |
LayerDrawEvent beforeEvent = new LayerDrawEvent(this, g, viewPort, LayerDrawEvent.LAYER_BEFORE_DRAW); |
1022 | 1029 |
fmap.fireLayerDrawingEvent(beforeEvent); |
1023 | 1030 |
} |
1024 | 1031 |
|
1025 | 1032 |
@Override |
1026 | 1033 |
public void endDraw(Graphics2D g, ViewPort viewPort) { |
1034 |
if( fmap == null ) { |
|
1035 |
return; |
|
1036 |
} |
|
1027 | 1037 |
LayerDrawEvent afterEvent = new LayerDrawEvent(this, g, viewPort, LayerDrawEvent.LAYER_AFTER_DRAW); |
1028 | 1038 |
fmap.fireLayerDrawingEvent(afterEvent); |
1029 | 1039 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/imp/DefaultApplicationManager.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
import java.awt.Component; |
28 | 28 |
import java.io.File; |
29 |
import java.lang.reflect.InvocationTargetException; |
|
30 | 29 |
import java.util.ArrayList; |
31 | 30 |
import java.util.Iterator; |
32 | 31 |
import java.util.List; |
33 |
import java.util.logging.Level; |
|
34 | 32 |
import javax.swing.JComponent; |
35 | 33 |
|
36 | 34 |
import javax.swing.JFileChooser; |
37 | 35 |
import javax.swing.SwingUtilities; |
38 | 36 |
import javax.swing.event.HyperlinkListener; |
39 | 37 |
import javax.swing.filechooser.FileFilter; |
38 |
import javax.swing.tree.TreeModel; |
|
40 | 39 |
|
41 | 40 |
import org.cresques.cts.IProjection; |
42 | 41 |
import org.gvsig.about.AboutLocator; |
... | ... | |
63 | 62 |
import org.gvsig.app.project.documents.Document; |
64 | 63 |
import org.gvsig.app.project.documents.gui.IDocumentWindow; |
65 | 64 |
import org.gvsig.app.project.documents.view.ViewDocument; |
65 |
import org.gvsig.app.project.documents.view.ViewManager; |
|
66 | 66 |
import org.gvsig.fmap.crs.CRSFactory; |
67 | 67 |
import org.gvsig.fmap.dal.DALLocator; |
68 | 68 |
import org.gvsig.fmap.dal.DataManager; |
... | ... | |
73 | 73 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
74 | 74 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
75 | 75 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
76 |
import org.gvsig.fmap.mapcontrol.CompoundLayersTreeModel; |
|
77 |
import org.gvsig.fmap.mapcontrol.MapControlLocator; |
|
76 | 78 |
import org.gvsig.gui.ColorTablesFactory; |
77 | 79 |
import org.gvsig.symbology.swing.SymbologySwingLocator; |
78 | 80 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
558 | 560 |
InfoPanel.showPanel(title, mode, htmlText,hyperlinkListener); |
559 | 561 |
} |
560 | 562 |
|
563 |
@Override |
|
564 |
public TreeModel createProjectLayersTreeModel() { |
|
565 |
CompoundLayersTreeModel model = (CompoundLayersTreeModel) MapControlLocator.getMapControlManager().createCompoundLayersTreeModel(); |
|
566 |
Project project = this.getCurrentProject(); |
|
567 |
List<Document> views = project.getDocuments(ViewManager.TYPENAME); |
|
568 |
for (Document view : views) { |
|
569 |
model.addLayers( ((ViewDocument)view).getMapContext().getLayers() ); |
|
570 |
} |
|
571 |
return model; |
|
572 |
} |
|
561 | 573 |
} |
562 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/BaseViewDocument.java | ||
---|---|---|
90 | 90 |
return mapContext; |
91 | 91 |
} |
92 | 92 |
|
93 |
@Override |
|
94 |
public void setName(String name) { |
|
95 |
super.setName(name); |
|
96 |
this.mapContext.getLayers().setName(name); |
|
97 |
} |
|
98 |
|
|
99 |
|
|
93 | 100 |
/** |
94 | 101 |
* Gets the MapContext from the locator, which is the small map in the |
95 | 102 |
* left-bottom corner of the View. |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/ApplicationManager.java | ||
---|---|---|
27 | 27 |
import java.util.List; |
28 | 28 |
import javax.swing.JComponent; |
29 | 29 |
import javax.swing.event.HyperlinkListener; |
30 |
import javax.swing.tree.TreeModel; |
|
30 | 31 |
|
31 | 32 |
import org.cresques.cts.IProjection; |
32 | 33 |
import org.gvsig.about.AboutManager; |
... | ... | |
330 | 331 |
public void showTextDialog(final WindowManager.MODE mode, final String title, final String htmlText); |
331 | 332 |
public void showTextDialog(final WindowManager.MODE mode, final String title, final String htmlText, HyperlinkListener hyperlinkListener); |
332 | 333 |
|
334 |
public TreeModel createProjectLayersTreeModel(); |
|
333 | 335 |
} |
trunk/org.gvsig.desktop/pom.xml | ||
---|---|---|
2580 | 2580 |
|
2581 | 2581 |
<jython.artifactId>jython-standalone</jython.artifactId> |
2582 | 2582 |
<!-- External project versions --> |
2583 |
<gvsig.tools.version>3.0.78</gvsig.tools.version>
|
|
2583 |
<gvsig.tools.version>3.0.79</gvsig.tools.version>
|
|
2584 | 2584 |
<gvsig.proj.version>1.0.2</gvsig.proj.version> |
2585 | 2585 |
<gvsig.projection.api.version>2.0.21</gvsig.projection.api.version> |
2586 | 2586 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/LayersTreeModel.java | ||
---|---|---|
1 |
package org.gvsig.fmap.mapcontrol; |
|
2 |
|
|
3 |
import java.util.ArrayList; |
|
4 |
import java.util.Iterator; |
|
5 |
import java.util.List; |
|
6 |
import javax.swing.event.TreeModelEvent; |
|
7 |
import javax.swing.event.TreeModelListener; |
|
8 |
import javax.swing.tree.TreeModel; |
|
9 |
import javax.swing.tree.TreePath; |
|
10 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
11 |
import org.gvsig.fmap.mapcontext.layers.FLayers; |
|
12 |
|
|
13 |
|
|
14 |
public class LayersTreeModel implements TreeModel { |
|
15 |
|
|
16 |
protected final FLayers layers; |
|
17 |
|
|
18 |
protected final List<TreeModelListener> listeners = new ArrayList(); |
|
19 |
|
|
20 |
public LayersTreeModel(FLayers layers) { |
|
21 |
this.layers = layers; |
|
22 |
} |
|
23 |
|
|
24 |
@Override |
|
25 |
public Object getRoot() { |
|
26 |
return layers; |
|
27 |
} |
|
28 |
|
|
29 |
@Override |
|
30 |
public Object getChild(Object parent, int index) { |
|
31 |
if (!(parent instanceof FLayers)) { |
|
32 |
return null; |
|
33 |
} |
|
34 |
return ((FLayers) parent).getLayer(index); |
|
35 |
} |
|
36 |
|
|
37 |
@Override |
|
38 |
public int getChildCount(Object parent) { |
|
39 |
if (!(parent instanceof FLayers)) { |
|
40 |
return 0; |
|
41 |
} |
|
42 |
return ((FLayers) parent).getLayersCount(); |
|
43 |
} |
|
44 |
|
|
45 |
@Override |
|
46 |
public boolean isLeaf(Object node) { |
|
47 |
return !(node instanceof FLayers); |
|
48 |
} |
|
49 |
|
|
50 |
@Override |
|
51 |
public int getIndexOfChild(Object parent, Object child) { |
|
52 |
for( int i=0; i<((FLayers)parent).getLayersCount() ; i++ ) { |
|
53 |
FLayer layer = ((FLayers)parent).getLayer(i); |
|
54 |
if( child == layer ) { |
|
55 |
return i; |
|
56 |
} |
|
57 |
} |
|
58 |
return -1; |
|
59 |
} |
|
60 |
|
|
61 |
@Override |
|
62 |
public void valueForPathChanged(TreePath path, Object value) { |
|
63 |
} |
|
64 |
|
|
65 |
@Override |
|
66 |
public void addTreeModelListener(TreeModelListener listener) { |
|
67 |
listeners.add(listener); |
|
68 |
} |
|
69 |
|
|
70 |
@Override |
|
71 |
public void removeTreeModelListener(TreeModelListener listener) { |
|
72 |
listeners.remove(listener); |
|
73 |
} |
|
74 |
|
|
75 |
public void reload() { |
|
76 |
TreeModelEvent event = new TreeModelEvent(this, new TreePath(this.layers)); |
|
77 |
Iterator<TreeModelListener> iterator = listeners.iterator(); |
|
78 |
TreeModelListener listener; |
|
79 |
while (iterator.hasNext()) { |
|
80 |
listener = iterator.next(); |
|
81 |
listener.treeStructureChanged(event); |
|
82 |
} |
|
83 |
} |
|
84 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/impl/DefaultMapControlManager.java | ||
---|---|---|
30 | 30 |
|
31 | 31 |
import java.awt.Color; |
32 | 32 |
import java.util.ArrayList; |
33 |
import java.util.HashSet; |
|
34 | 33 |
import java.util.Iterator; |
35 | 34 |
import java.util.LinkedHashSet; |
36 | 35 |
import java.util.List; |
37 | 36 |
import java.util.Map; |
38 | 37 |
import java.util.Set; |
39 | 38 |
import java.util.prefs.Preferences; |
39 |
import javax.swing.tree.TreeModel; |
|
40 |
import org.gvsig.fmap.mapcontrol.LayersTreeModel; |
|
40 | 41 |
|
41 | 42 |
import org.slf4j.Logger; |
42 | 43 |
import org.slf4j.LoggerFactory; |
... | ... | |
45 | 46 |
import org.gvsig.fmap.mapcontext.MapContext; |
46 | 47 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
47 | 48 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
49 |
import org.gvsig.fmap.mapcontext.layers.FLayers; |
|
48 | 50 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
51 |
import org.gvsig.fmap.mapcontrol.CompoundLayersTreeModel; |
|
49 | 52 |
import org.gvsig.fmap.mapcontrol.MapControl; |
50 | 53 |
import org.gvsig.fmap.mapcontrol.MapControlCreationException; |
51 | 54 |
import org.gvsig.fmap.mapcontrol.MapControlCreationListener; |
... | ... | |
358 | 361 |
return new DefaultLayersDynObjectSetComponent(layerName2InfoByPoint, |
359 | 362 |
writable); |
360 | 363 |
} |
364 |
|
|
365 |
public TreeModel createLayersTreeModel(MapContext mapContext) { |
|
366 |
return new LayersTreeModel(mapContext.getLayers()); |
|
367 |
} |
|
368 |
|
|
369 |
public TreeModel createLayersTreeModel(FLayers layers) { |
|
370 |
return new LayersTreeModel(layers); |
|
371 |
} |
|
372 |
|
|
373 |
public TreeModel createCompoundLayersTreeModel() { |
|
374 |
return new CompoundLayersTreeModel(); |
|
375 |
} |
|
376 |
|
|
377 |
|
|
361 | 378 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/CompoundLayersTreeModel.java | ||
---|---|---|
1 |
package org.gvsig.fmap.mapcontrol; |
|
2 |
|
|
3 |
import java.util.ArrayList; |
|
4 |
import java.util.Iterator; |
|
5 |
import java.util.List; |
|
6 |
import javax.swing.event.TreeModelEvent; |
|
7 |
import javax.swing.event.TreeModelListener; |
|
8 |
import javax.swing.tree.TreeModel; |
|
9 |
import javax.swing.tree.TreePath; |
|
10 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
11 |
import org.gvsig.fmap.mapcontext.layers.FLayers; |
|
12 |
|
|
13 |
|
|
14 |
public class CompoundLayersTreeModel implements TreeModel { |
|
15 |
|
|
16 |
protected final FLayers layers; |
|
17 |
|
|
18 |
protected final List<TreeModelListener> listeners = new ArrayList(); |
|
19 |
|
|
20 |
public CompoundLayersTreeModel() { |
|
21 |
this.layers = new FLayers(); |
|
22 |
} |
|
23 |
|
|
24 |
public void addLayers(FLayers layers) { |
|
25 |
this.layers.add(layers); |
|
26 |
} |
|
27 |
|
|
28 |
@Override |
|
29 |
public Object getRoot() { |
|
30 |
return layers; |
|
31 |
} |
|
32 |
|
|
33 |
@Override |
|
34 |
public Object getChild(Object parent, int index) { |
|
35 |
if (!(parent instanceof FLayers)) { |
|
36 |
return null; |
|
37 |
} |
|
38 |
return ((FLayers) parent).getLayer(index); |
|
39 |
} |
|
40 |
|
|
41 |
@Override |
|
42 |
public int getChildCount(Object parent) { |
|
43 |
if (!(parent instanceof FLayers)) { |
|
44 |
return 0; |
|
45 |
} |
|
46 |
return ((FLayers) parent).getLayersCount(); |
|
47 |
} |
|
48 |
|
|
49 |
@Override |
|
50 |
public boolean isLeaf(Object node) { |
|
51 |
return !(node instanceof FLayers); |
|
52 |
} |
|
53 |
|
|
54 |
@Override |
|
55 |
public int getIndexOfChild(Object parent, Object child) { |
|
56 |
for( int i=0; i<((FLayers)parent).getLayersCount() ; i++ ) { |
|
57 |
FLayer layer = ((FLayers)parent).getLayer(i); |
|
58 |
if( child == layer ) { |
|
59 |
return i; |
|
60 |
} |
|
61 |
} |
|
62 |
return -1; |
|
63 |
} |
|
64 |
|
|
65 |
@Override |
|
66 |
public void valueForPathChanged(TreePath path, Object value) { |
|
67 |
} |
|
68 |
|
|
69 |
@Override |
|
70 |
public void addTreeModelListener(TreeModelListener listener) { |
|
71 |
listeners.add(listener); |
|
72 |
} |
|
73 |
|
|
74 |
@Override |
|
75 |
public void removeTreeModelListener(TreeModelListener listener) { |
|
76 |
listeners.remove(listener); |
|
77 |
} |
|
78 |
|
|
79 |
public void reload() { |
|
80 |
TreeModelEvent event = new TreeModelEvent(this, new TreePath(this.layers)); |
|
81 |
Iterator<TreeModelListener> iterator = listeners.iterator(); |
|
82 |
TreeModelListener listener; |
|
83 |
while (iterator.hasNext()) { |
|
84 |
listener = iterator.next(); |
|
85 |
listener.treeStructureChanged(event); |
|
86 |
} |
|
87 |
} |
|
88 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/MapControlManager.java | ||
---|---|---|
52 | 52 |
|
53 | 53 |
import java.util.Map; |
54 | 54 |
import java.util.prefs.Preferences; |
55 |
import javax.swing.tree.TreeModel; |
|
55 | 56 |
|
56 | 57 |
import org.gvsig.fmap.mapcontext.MapContext; |
58 |
import org.gvsig.fmap.mapcontext.layers.FLayers; |
|
57 | 59 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
58 | 60 |
import org.gvsig.fmap.mapcontrol.swing.dynobject.LayersDynObjectSetComponent; |
59 | 61 |
import org.gvsig.fmap.mapcontrol.tools.snapping.snappers.ISnapper; |
... | ... | |
240 | 242 |
*/ |
241 | 243 |
public LayersDynObjectSetComponent createLayersDynObjectSetComponent( |
242 | 244 |
Map<String, DynObjectSet> layerName2InfoByPoint, boolean writable); |
245 |
|
|
246 |
/** |
|
247 |
* Create a TreeModel based in the MapControl's layers. |
|
248 |
* |
|
249 |
* @param mapContext |
|
250 |
* @return the TreeModel |
|
251 |
*/ |
|
252 |
public TreeModel createLayersTreeModel(MapContext mapContext); |
|
253 |
|
|
254 |
/** |
|
255 |
* Create a TreeModel based in the layers collection. |
|
256 |
* @param layers the layers collection to use for create the TreeModel |
|
257 |
* @return the TreeModel |
|
258 |
*/ |
|
259 |
public TreeModel createLayersTreeModel(FLayers layers); |
|
260 |
|
|
261 |
/** |
|
262 |
* Create a TreeModel based in the layers collection of all project's views. |
|
263 |
* @return the TreeModel |
|
264 |
*/ |
|
265 |
public TreeModel createCompoundLayersTreeModel(); |
|
266 |
|
|
243 | 267 |
} |
244 | 268 |
|
Also available in: Unified diff