/* * (non-Javadoc) * * @see * com.iver.cit.gvsig.fmap.tools.Listeners.RectangleListener#rectangle(com * .iver.cit.gvsig.fmap.tools.Events.RectangleEvent) */ public void rectangle(RectangleEvent event) throws BehaviorException { try { // mapCtrl.getMapContext().selectByRect(event.getWorldCoordRect()); Rectangle2D rect = event.getWorldCoordRect(); FLayer[] actives = mapCtrl.getMapContext().getLayers().getActives(); for (int i = 0; i < actives.length; i++) { if (actives[i] instanceof FLyrVect) { FLyrVect lyrVect = (FLyrVect) actives[i]; FBitSet oldBitSet = lyrVect.getSource().getRecordset().getSelection(); FBitSet newBitSet = lyrVect.queryByRect(rect); if (event.getEvent().isControlDown()) newBitSet.xor(oldBitSet); lyrVect.getRecordset().setSelection(newBitSet); } } } catch (ReadDriverException e) { throw new BehaviorException("No se pudo hacer la selección"); } catch (VisitorException e) { throw new BehaviorException("No se pudo hacer la selección"); } }