Revision 42822
trunk/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 | ||
---|---|---|
843 | 843 |
lyr.getMapContext().beginAtomicEvent(); |
844 | 844 |
|
845 | 845 |
if (((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) |
846 |
&& (e.getButton() == MouseEvent.BUTTON1)) { |
|
846 |
&& ( |
|
847 |
e.getButton() == MouseEvent.BUTTON1 || |
|
848 |
e.getButton() == MouseEvent.BUTTON3 |
|
849 |
) |
|
850 |
) { |
|
847 | 851 |
FLayer[] activeLayers = layers.getActives(); |
848 | 852 |
if (activeLayers.length > 0) { |
849 | 853 |
selectInterval(layers, lyr); |
... | ... | |
853 | 857 |
|
854 | 858 |
} else { |
855 | 859 |
if (!((e.getModifiers() & InputEvent.CTRL_MASK) != 0) |
856 |
&& (e.getButton() == MouseEvent.BUTTON1)) { |
|
860 |
&& ( |
|
861 |
e.getButton() == MouseEvent.BUTTON1 || |
|
862 |
e.getButton() == MouseEvent.BUTTON3 |
|
863 |
) |
|
864 |
) { |
|
857 | 865 |
layers.setAllActives(false); |
858 | 866 |
} |
859 |
if (e.getButton() == MouseEvent.BUTTON1) { |
|
867 |
if (e.getButton() == MouseEvent.BUTTON1 |
|
868 |
||e.getButton() == MouseEvent.BUTTON3) { |
|
860 | 869 |
// lyr.setActive(true); |
861 | 870 |
updateActive(lyr, !lyr.isActive()); |
862 | 871 |
} |
... | ... | |
884 | 893 |
if (e.getButton() == MouseEvent.BUTTON3) { |
885 | 894 |
// Boton derecho sobre un nodo del arbol |
886 | 895 |
// if ((e.getModifiers() & InputEvent.META_MASK) != 0) { |
896 |
//***** Change selection |
|
897 |
// if(!lyr.isActive()){ |
|
898 |
// layers.setAllActives(false); |
|
899 |
// updateActive(lyr, true); |
|
900 |
// } |
|
901 |
//***** |
|
887 | 902 |
popmenu = new FPopupMenu(mapContext, node); |
888 | 903 |
tree.add(popmenu); |
889 | 904 |
|
... | ... | |
896 | 911 |
} |
897 | 912 |
|
898 | 913 |
if (node != null && node.getUserObject() instanceof TocItemLeaf) { |
914 |
TocItemBranch owner = |
|
915 |
(TocItemBranch) ((DefaultMutableTreeNode) node |
|
916 |
.getParent()).getUserObject(); |
|
917 |
|
|
918 |
FLayer masterLayer = owner.getLayer(); |
|
919 |
|
|
920 |
if (((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) |
|
921 |
&& ( |
|
922 |
e.getButton() == MouseEvent.BUTTON1 || |
|
923 |
e.getButton() == MouseEvent.BUTTON3 |
|
924 |
) |
|
925 |
) { |
|
926 |
FLayer[] activeLayers = layers.getActives(); |
|
927 |
if (activeLayers.length > 0) { |
|
928 |
selectInterval(layers, masterLayer); |
|
929 |
} else { |
|
930 |
updateActive(masterLayer, !masterLayer.isActive()); |
|
931 |
} |
|
932 |
|
|
933 |
} else { |
|
934 |
if (!((e.getModifiers() & InputEvent.CTRL_MASK) != 0) |
|
935 |
&& ( |
|
936 |
e.getButton() == MouseEvent.BUTTON1 || |
|
937 |
e.getButton() == MouseEvent.BUTTON3 |
|
938 |
) |
|
939 |
) { |
|
940 |
layers.setAllActives(false); |
|
941 |
} |
|
942 |
if (e.getButton() == MouseEvent.BUTTON1 |
|
943 |
||e.getButton() == MouseEvent.BUTTON3) { |
|
944 |
// lyr.setActive(true); |
|
945 |
updateActive(masterLayer, !masterLayer.isActive()); |
|
946 |
} |
|
947 |
} |
|
948 |
|
|
899 | 949 |
// double click with left button ON A LEAF (ISymbol) |
900 | 950 |
if (e.getClickCount() >= 2 |
901 | 951 |
&& e.getButton() == MouseEvent.BUTTON1) { |
... | ... | |
914 | 964 |
* it and FOR ALL OTHER COMPATIBLES THAT HAVE |
915 | 965 |
* BEEN ACTIVATED. |
916 | 966 |
*/ |
967 |
/* |
|
968 |
* #3035: Symbology is applied to active layers too |
|
969 |
* Now it will be done only on the double-clicked one |
|
970 |
*/ |
|
917 | 971 |
ArrayList<FLayer> targetLayers = |
918 | 972 |
new ArrayList<FLayer>(); |
919 | 973 |
|
920 |
TocItemBranch owner = |
|
921 |
(TocItemBranch) ((DefaultMutableTreeNode) node |
|
922 |
.getParent()).getUserObject(); |
|
923 | 974 |
|
924 |
FLayer masterLayer = owner.getLayer(); |
|
925 | 975 |
targetLayers.add(masterLayer); |
926 |
FLayer[] actives = |
|
927 |
mapContext.getLayers().getActives(); |
|
928 |
for (int i = 0; i < actives.length; i++) { |
|
929 |
if (actives[i].getClass().equals( |
|
930 |
masterLayer.getClass())) { |
|
931 |
if (actives[i] instanceof FLyrVect) { |
|
932 |
FLyrVect vectorLayer = |
|
933 |
(FLyrVect) actives[i]; |
|
934 |
FLyrVect vectorMaster = |
|
935 |
(FLyrVect) masterLayer; |
|
936 |
int masterLayerShapetypeOF_THE_LEGEND = |
|
937 |
((IVectorLegend) vectorMaster |
|
938 |
.getLegend()) |
|
939 |
.getShapeType(); |
|
940 |
int anotherVectorLayerShapetypeOF_THE_LEGEND = |
|
941 |
((IVectorLegend) vectorLayer |
|
942 |
.getLegend()) |
|
943 |
.getShapeType(); |
|
944 |
if (masterLayerShapetypeOF_THE_LEGEND == anotherVectorLayerShapetypeOF_THE_LEGEND) { |
|
945 |
targetLayers.add(vectorLayer); |
|
946 |
} else { |
|
947 |
vectorLayer.setActive(false); |
|
948 |
} |
|
949 |
} |
|
950 |
// TODO for the rest of layer types |
|
951 |
// (i.e. FLyrRaster) |
|
952 |
} else { |
|
953 |
actives[i].setActive(false); |
|
954 |
} |
|
955 |
} |
|
976 |
// FLayer[] actives =
|
|
977 |
// mapContext.getLayers().getActives();
|
|
978 |
// for (int i = 0; i < actives.length; i++) {
|
|
979 |
// if (actives[i].getClass().equals(
|
|
980 |
// masterLayer.getClass())) {
|
|
981 |
// if (actives[i] instanceof FLyrVect) {
|
|
982 |
// FLyrVect vectorLayer =
|
|
983 |
// (FLyrVect) actives[i];
|
|
984 |
// FLyrVect vectorMaster =
|
|
985 |
// (FLyrVect) masterLayer;
|
|
986 |
// int masterLayerShapetypeOF_THE_LEGEND =
|
|
987 |
// ((IVectorLegend) vectorMaster
|
|
988 |
// .getLegend())
|
|
989 |
// .getShapeType();
|
|
990 |
// int anotherVectorLayerShapetypeOF_THE_LEGEND =
|
|
991 |
// ((IVectorLegend) vectorLayer
|
|
992 |
// .getLegend())
|
|
993 |
// .getShapeType();
|
|
994 |
// if (masterLayerShapetypeOF_THE_LEGEND == anotherVectorLayerShapetypeOF_THE_LEGEND) {
|
|
995 |
// targetLayers.add(vectorLayer);
|
|
996 |
// } else {
|
|
997 |
// vectorLayer.setActive(false);
|
|
998 |
// }
|
|
999 |
// }
|
|
1000 |
// // TODO for the rest of layer types
|
|
1001 |
// // (i.e. FLyrRaster)
|
|
1002 |
// } else {
|
|
1003 |
// actives[i].setActive(false);
|
|
1004 |
// }
|
|
1005 |
// }
|
|
956 | 1006 |
action.execute(leaf, |
957 | 1007 |
targetLayers.toArray(new FLayer[0])); |
958 | 1008 |
} |
... | ... | |
968 | 1018 |
// TocItemLeaf auxLeaf = (TocItemLeaf) node.getUserObject(); |
969 | 1019 |
// FSymbol theSym = auxLeaf.getSymbol(); |
970 | 1020 |
if ((e.getModifiers() & InputEvent.META_MASK) != 0) { |
1021 |
//***** Change selection |
|
1022 |
if (!masterLayer.isActive()){ |
|
1023 |
layers.setAllActives(false); |
|
1024 |
updateActive(masterLayer, true); |
|
1025 |
} |
|
1026 |
//***** |
|
971 | 1027 |
popmenu = new FPopupMenu(mapContext, node); |
972 | 1028 |
tree.add(popmenu); |
973 | 1029 |
popmenu.show(e.getComponent(), e.getX(), e.getY()); |
Also available in: Unified diff