1
|
Index: src/main/java/org/gvsig/app/project/documents/view/toc/gui/TOC.java
|
2
|
===================================================================
|
3
|
--- projects/externals/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/toc/gui/TOC.java (revision 42550)
|
4
|
+++ projects/externals/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/toc/gui/TOC.java (working copy)
|
5
|
@@ -843,7 +843,11 @@
|
6
|
lyr.getMapContext().beginAtomicEvent();
|
7
|
|
8
|
if (((e.getModifiers() & InputEvent.SHIFT_MASK) != 0)
|
9
|
- && (e.getButton() == MouseEvent.BUTTON1)) {
|
10
|
+ && (
|
11
|
+ e.getButton() == MouseEvent.BUTTON1 ||
|
12
|
+ e.getButton() == MouseEvent.BUTTON3
|
13
|
+ )
|
14
|
+ ) {
|
15
|
FLayer[] activeLayers = layers.getActives();
|
16
|
if (activeLayers.length > 0) {
|
17
|
selectInterval(layers, lyr);
|
18
|
@@ -853,10 +857,15 @@
|
19
|
|
20
|
} else {
|
21
|
if (!((e.getModifiers() & InputEvent.CTRL_MASK) != 0)
|
22
|
- && (e.getButton() == MouseEvent.BUTTON1)) {
|
23
|
+ && (
|
24
|
+ e.getButton() == MouseEvent.BUTTON1 ||
|
25
|
+ e.getButton() == MouseEvent.BUTTON3
|
26
|
+ )
|
27
|
+ ) {
|
28
|
layers.setAllActives(false);
|
29
|
}
|
30
|
- if (e.getButton() == MouseEvent.BUTTON1) {
|
31
|
+ if (e.getButton() == MouseEvent.BUTTON1
|
32
|
+ ||e.getButton() == MouseEvent.BUTTON3) {
|
33
|
// lyr.setActive(true);
|
34
|
updateActive(lyr, !lyr.isActive());
|
35
|
}
|
36
|
@@ -884,6 +893,12 @@
|
37
|
if (e.getButton() == MouseEvent.BUTTON3) {
|
38
|
// Boton derecho sobre un nodo del arbol
|
39
|
// if ((e.getModifiers() & InputEvent.META_MASK) != 0) {
|
40
|
+ //***** Change selection
|
41
|
+// if(!lyr.isActive()){
|
42
|
+// layers.setAllActives(false);
|
43
|
+// updateActive(lyr, true);
|
44
|
+// }
|
45
|
+ //*****
|
46
|
popmenu = new FPopupMenu(mapContext, node);
|
47
|
tree.add(popmenu);
|
48
|
|
49
|
@@ -896,6 +911,41 @@
|
50
|
}
|
51
|
|
52
|
if (node != null && node.getUserObject() instanceof TocItemLeaf) {
|
53
|
+ TocItemBranch owner =
|
54
|
+ (TocItemBranch) ((DefaultMutableTreeNode) node
|
55
|
+ .getParent()).getUserObject();
|
56
|
+
|
57
|
+ FLayer masterLayer = owner.getLayer();
|
58
|
+
|
59
|
+ if (((e.getModifiers() & InputEvent.SHIFT_MASK) != 0)
|
60
|
+ && (
|
61
|
+ e.getButton() == MouseEvent.BUTTON1 ||
|
62
|
+ e.getButton() == MouseEvent.BUTTON3
|
63
|
+ )
|
64
|
+ ) {
|
65
|
+ FLayer[] activeLayers = layers.getActives();
|
66
|
+ if (activeLayers.length > 0) {
|
67
|
+ selectInterval(layers, masterLayer);
|
68
|
+ } else {
|
69
|
+ updateActive(masterLayer, !masterLayer.isActive());
|
70
|
+ }
|
71
|
+
|
72
|
+ } else {
|
73
|
+ if (!((e.getModifiers() & InputEvent.CTRL_MASK) != 0)
|
74
|
+ && (
|
75
|
+ e.getButton() == MouseEvent.BUTTON1 ||
|
76
|
+ e.getButton() == MouseEvent.BUTTON3
|
77
|
+ )
|
78
|
+ ) {
|
79
|
+ layers.setAllActives(false);
|
80
|
+ }
|
81
|
+ if (e.getButton() == MouseEvent.BUTTON1
|
82
|
+ ||e.getButton() == MouseEvent.BUTTON3) {
|
83
|
+ // lyr.setActive(true);
|
84
|
+ updateActive(masterLayer, !masterLayer.isActive());
|
85
|
+ }
|
86
|
+ }
|
87
|
+
|
88
|
// double click with left button ON A LEAF (ISymbol)
|
89
|
if (e.getClickCount() >= 2
|
90
|
&& e.getButton() == MouseEvent.BUTTON1) {
|
91
|
@@ -914,45 +964,45 @@
|
92
|
* it and FOR ALL OTHER COMPATIBLES THAT HAVE
|
93
|
* BEEN ACTIVATED.
|
94
|
*/
|
95
|
+ /*
|
96
|
+ * #3035: Symbology is applied to active layers too
|
97
|
+ * Now it will be done only on the double-clicked one
|
98
|
+ */
|
99
|
ArrayList<FLayer> targetLayers =
|
100
|
new ArrayList<FLayer>();
|
101
|
|
102
|
- TocItemBranch owner =
|
103
|
- (TocItemBranch) ((DefaultMutableTreeNode) node
|
104
|
- .getParent()).getUserObject();
|
105
|
|
106
|
- FLayer masterLayer = owner.getLayer();
|
107
|
targetLayers.add(masterLayer);
|
108
|
- FLayer[] actives =
|
109
|
- mapContext.getLayers().getActives();
|
110
|
- for (int i = 0; i < actives.length; i++) {
|
111
|
- if (actives[i].getClass().equals(
|
112
|
- masterLayer.getClass())) {
|
113
|
- if (actives[i] instanceof FLyrVect) {
|
114
|
- FLyrVect vectorLayer =
|
115
|
- (FLyrVect) actives[i];
|
116
|
- FLyrVect vectorMaster =
|
117
|
- (FLyrVect) masterLayer;
|
118
|
- int masterLayerShapetypeOF_THE_LEGEND =
|
119
|
- ((IVectorLegend) vectorMaster
|
120
|
- .getLegend())
|
121
|
- .getShapeType();
|
122
|
- int anotherVectorLayerShapetypeOF_THE_LEGEND =
|
123
|
- ((IVectorLegend) vectorLayer
|
124
|
- .getLegend())
|
125
|
- .getShapeType();
|
126
|
- if (masterLayerShapetypeOF_THE_LEGEND == anotherVectorLayerShapetypeOF_THE_LEGEND) {
|
127
|
- targetLayers.add(vectorLayer);
|
128
|
- } else {
|
129
|
- vectorLayer.setActive(false);
|
130
|
- }
|
131
|
- }
|
132
|
- // TODO for the rest of layer types
|
133
|
- // (i.e. FLyrRaster)
|
134
|
- } else {
|
135
|
- actives[i].setActive(false);
|
136
|
- }
|
137
|
- }
|
138
|
+// FLayer[] actives =
|
139
|
+// mapContext.getLayers().getActives();
|
140
|
+// for (int i = 0; i < actives.length; i++) {
|
141
|
+// if (actives[i].getClass().equals(
|
142
|
+// masterLayer.getClass())) {
|
143
|
+// if (actives[i] instanceof FLyrVect) {
|
144
|
+// FLyrVect vectorLayer =
|
145
|
+// (FLyrVect) actives[i];
|
146
|
+// FLyrVect vectorMaster =
|
147
|
+// (FLyrVect) masterLayer;
|
148
|
+// int masterLayerShapetypeOF_THE_LEGEND =
|
149
|
+// ((IVectorLegend) vectorMaster
|
150
|
+// .getLegend())
|
151
|
+// .getShapeType();
|
152
|
+// int anotherVectorLayerShapetypeOF_THE_LEGEND =
|
153
|
+// ((IVectorLegend) vectorLayer
|
154
|
+// .getLegend())
|
155
|
+// .getShapeType();
|
156
|
+// if (masterLayerShapetypeOF_THE_LEGEND == anotherVectorLayerShapetypeOF_THE_LEGEND) {
|
157
|
+// targetLayers.add(vectorLayer);
|
158
|
+// } else {
|
159
|
+// vectorLayer.setActive(false);
|
160
|
+// }
|
161
|
+// }
|
162
|
+// // TODO for the rest of layer types
|
163
|
+// // (i.e. FLyrRaster)
|
164
|
+// } else {
|
165
|
+// actives[i].setActive(false);
|
166
|
+// }
|
167
|
+// }
|
168
|
action.execute(leaf,
|
169
|
targetLayers.toArray(new FLayer[0]));
|
170
|
}
|
171
|
@@ -968,6 +1018,12 @@
|
172
|
// TocItemLeaf auxLeaf = (TocItemLeaf) node.getUserObject();
|
173
|
// FSymbol theSym = auxLeaf.getSymbol();
|
174
|
if ((e.getModifiers() & InputEvent.META_MASK) != 0) {
|
175
|
+ //***** Change selection
|
176
|
+ if (!masterLayer.isActive()){
|
177
|
+ layers.setAllActives(false);
|
178
|
+ updateActive(masterLayer, true);
|
179
|
+ }
|
180
|
+ //*****
|
181
|
popmenu = new FPopupMenu(mapContext, node);
|
182
|
tree.add(popmenu);
|
183
|
popmenu.show(e.getComponent(), e.getX(), e.getY());
|