[Gvsig_desarrolladores] problema PointCADTool

Jose Manuel Díaz Bossini jmdiaz en andago.com
Mar Ene 22 17:55:32 CET 2008


Hola a todos de nuevo y ante todo perdón por ser tan pesado pero es que 
lo que me pasa no tiene ni pies ni cabeza , como os dije estoy haciendo 
una herramienta que extienda de pointCADTool , y una extension para 
usarla , en principio mi extension hace lo que tiene que hacer agrega la 
herramienta a la pila y hasta ahí todo perfecto , el problema está 
cuando pincho en el icono de mi herramienta y hago click en el icono de 
mi herramienta , en principio mi extension añade ahi la herramienta a la 
pila ( he debugeado y lo hace perfectamente ( limpia la pila y añade mi 
herramienta ) ) pero después cuando voy hago click en la capa vectorial 
el evento de CADToolAdapter :

/**
     * @see 
java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
     */
    public void mousePressed(MouseEvent e) throws BehaviorException {
        if (e.getButton() == MouseEvent.BUTTON1) {
            ViewPort vp = getMapControl().getMapContext().getViewPort();
            Point2D p;

            if (mapAdjustedPoint != null) {
                p = mapAdjustedPoint;
            } else {
                p = vp.toMapPoint(adjustedPoint);
            }
            transition(new double[] { p.getX(), p.getY() }, e, ABSOLUTE);
        }
    }

Hace una llamada a transition que a su vez trata de sacar la herramienta 
de la pila :

    CADTool ct = (CADTool) cadToolStack.peek();

Y cual es mi sorpresa cuando en la pila ya no esta mi herramienta sino 
que vuelve a tener la herramienta SelectionCADTool que al registrar la 
mía en teoría se había machacado .

¿Tenéis idea de por que puede estar pasando esto ?  ¿ Es que acaso al 
clickar sobre un punto de la capa se inicializan otras herramientas de 
la extension CAD que machacan a la mía ?

Muchas gracias por la ayuda


Más información sobre la lista de distribución gvSIG_desarrolladores