Revision 10626 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/view/toolListeners/SelectImageListener.java

View differences:

SelectImageListener.java
45 45

  
46 46
import javax.swing.JScrollBar;
47 47

  
48
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
48 49
import com.iver.andami.PluginServices;
49
import com.iver.cit.gvsig.fmap.DriverException;
50
import com.iver.cit.gvsig.exceptions.expansionfile.ExpansionFileReadException;
50 51
import com.iver.cit.gvsig.fmap.MapControl;
51 52
import com.iver.cit.gvsig.fmap.ViewPort;
52 53
import com.iver.cit.gvsig.fmap.layers.FLayer;
......
58 59

  
59 60

  
60 61
/**
61
* Extensi?n de la clase SelectImageListenerImple de FMap. Esta clase 
62
* Extensi?n de la clase SelectImageListenerImple de FMap. Esta clase
62 63
* permite capturar el evento de la selecci?n de un punto sobre la vista
63 64
* . Controlara que capa de la pila que est? visible cae dentro del punto
64
* seleccionado poniendo esta capa como activa. En caso de que haya varias 
65
* capas visibles sobre ese punto, pondr? como activa la capa superior. 
65
* seleccionado poniendo esta capa como activa. En caso de que haya varias
66
* capas visibles sobre ese punto, pondr? como activa la capa superior.
66 67
*
67 68
* @author Nacho Brodin <brodin_ign@gva.es>
68 69
*/
69 70
public class SelectImageListener extends SelectImageListenerImpl {
70
	
71

  
71 72
	FLyrRaster 			layer = null;
72 73
	Rectangle2D extentLayer = null;
73 74
	/**
74
	 * Contructor 
75
	 * Contructor
75 76
	 * @param mapCtrl
76 77
	 */
77 78
	public SelectImageListener(MapControl mapCtrl) {
78 79
		super(mapCtrl);
79 80
	}
80
		
81 81

  
82

  
82 83
	/* (non-Javadoc)
83 84
	 * @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#point(com.iver.cit.gvsig.fmap.tools.Events.PointEvent)
84 85
	 */
85 86
	public void point(PointEvent event) {
86 87
		super.point(event);
87
		
88

  
88 89
		Point2D pointSelect = event.getPoint();
89
		
90

  
90 91
		if (PluginServices.getMainFrame() != null)
91 92
		    PluginServices.getMainFrame().enableControls();
92
		
93

  
93 94
		ViewPort vp = mapCtrl.getMapContext().getViewPort();
94
		
95

  
95 96
		wcPoint = vp.toMapPoint((int)pointSelect.getX(), (int)pointSelect.getY());
96
		
97

  
97 98
		FLayers layers = mapCtrl.getMapContext().getLayers();
98 99
		for(int i=0;i<layers.getLayersCount();i++)
99 100
			layers.getLayer(i).setActive(false);
100
		
101

  
101 102
		boolean firstLayer = false;
102 103

  
103 104
		for(int i=layers.getLayersCount()-1;i>=0;i--){
104 105
			if (select(layers.getLayer(i),i)) break;
105
		}		
106
		}
106 107
	}
107
	
108

  
108 109
	private boolean select(FLayer layer,int pos){
109 110
		if (layer instanceof FLayers){
110 111
			FLayers laux=(FLayers)layer;
......
116 117
		}else{
117 118
		try{
118 119
			extentLayer = layer.getFullExtent();
119
		}catch(DriverException exc){
120
		}catch(ReadDriverException exc){
120 121
			exc.printStackTrace();
122
		} catch (ExpansionFileReadException e) {
123
			e.printStackTrace();
121 124
		}
122 125
		if(	extentLayer.getMaxX() >= wcPoint.getX() &&
123 126
			extentLayer.getMinX() <= wcPoint.getX() &&
......
131 134
			double widthPerEntry = verticalBar.getMaximum()/layer.getMapContext().getLayers().getLayersCount();
132 135
			verticalBar.setValue((int)widthPerEntry*(layer.getMapContext().getLayers().getLayersCount()-pos-1));
133 136
			return true;
134
		}	
135 137
		}
138
		}
136 139
		return false;
137 140
	}
138 141
}

Also available in: Unified diff