Extensión de gvSIG
El lanzamiento de la extensión se hace a través de una entrada en el menú contextual de la capa raster. Este punto de entrada está representado por la clase ZoomPixelCursorTocMenuEntry. Esta se añade a FpopupMenu del menú contextual desde la inicialización de la extensión (RasterModule) añadiendo el correspondiente punto de extensión de la forma
extensionPoints.add("View_TocActions","ZoomPixelCursor",new ZoomPixelCursorTocMenuEntry());
Cuando se ejecuta la función exetute de ZoomPixelCursorTocMenuEntry se añade un MapTool a la vista que es gestionado por la clase ZoomPixelCursorListener. Por tanto para añadir el MapTool tendremos que crear una instancia de este Listener y pasarlo como parámetro a la tool.
StatusBarListener sbl = new StatusBarListener(mapCtrl);
ZoomPixelCursorListener zp = new ZoomPixelCursorListener(mapCtrl);
mapCtrl.addMapTool("zoom_pixel_cursor_SE", new Behavior[]{
new PointBehavior(zp), new MouseMovementBehavior(sbl)});
La creación de esta tool solo se hará la primera vez que se ejecute la herramienta. En sucesivas ocasiones ya estará creada y no es necesario hacerlo de nuevo.
Después de crearla se añadirá con la llamada setTool del MapControl.
ZoomPixelCursorListener es un listener que hereda de PointListener con lo que el método point que es reimplementado por esta clase recogerá un punto seleccionado desde la vista. En este método se calculan los parámetros del extent para la vista que será asignados a esta una vez calculados.