[Gvsig_desarrolladores] ¿Como habilito y desabilito botones de barra de menus y barra de herramientas cuando quiera?

Javier Estévez jestevez en cartolab.es
Vie Oct 22 15:13:57 CEST 2010


Hay varios métodos para hacer eso, pero creo que el más indicado y
académico es utilizar la interfaz ExclusiveUIExtension, cuyas
implementaciones tienen que definir los métodos isEnabled e isVisible,
que sobreescriben los métodos de mismo nombre de todas y cada una de
las extensiones de gvSIG. Yo lo haría de una forma similar a:

    public boolean isEnabled(IExtension extension) {

      if (extension instanceof MiExtension) {
        return extension.isEnabled();
      } else {
        return false;
      }

    }

Y luego, una vez tengas el listener creado, hay que registrarlo usando
una función de PluginServices que se llama setExclusiveUIExtension. Yo
lo haría en el initialize de mi extensión, para que ya esté en uso al
iniciar el propio programa:

    public void initialize() {
        MiExclusiveUIExtension miex = new MiExclusiveUIExtension();
        PluginServices.setExclusiveUIExtension(miex);
    }


Esto no lo he realizado nunca más allá de un par de pruebas una tarde,
imagino que no tendrá ningún efecto secundario si lo usas para
desactivar extensiones, pero si lo usas para activar extensiones que
no deberían estar activas pueden aparecer errores por todos lados.

Espero haberte sido de ayuda. Un saludo.

El 22 de octubre de 2010 14:09, agirrearri <agirrearri en hotmail.com> escribió:
>
> Hola a todos
>
>   estoy haciendo una extension en gvsig desktop 1.9. He añadido uno menu al
> Frame Principal con cargar y editar.
>
>   Cuando hago cargar quiero que se desabiliten los demas botones de la
> pantalla principal de gvsig. ¿Como lo hago? Hando explorando con MainFrame
> pero no lo consigo.
>
>   Se como hacer que aparezcan los botones que quiera cuando quiera pero
> puedo desabilitar los botones de otros proyectos sin tocar su código? Es que
> cuando se ejecuta mi extension quiero que solo esten disponibles los botones
> de mi extensino para no dejar margen al usuario para hacer errores.
>
>  Esto me parece interesante para hacer el programa mas seguro y fiable.
>
>  Gracias, atentamente Eñaut.
> --
> View this message in context: http://osgeo-org.1803224.n2.nabble.com/Como-habilito-y-desabilito-botones-de-barra-de-menus-y-barra-de-herramientas-cuando-quiera-tp5662297p5662297.html
> Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores



--
Javier Estévez Valiñas
Grupo de Desarrollo
Cartolab - Laboratorio de Ingeniería Cartográfica
http://www.cartolab.es

ETS Ingeniería de Caminos, Canales y Puertos
Universidade da Coruña
Campus de Elviña - 15071 A Coruña (España)
(34)981167000 ext. 5493


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