[Gvsig_desarrolladores] Nueva opción cuando se edita una capa

Iago Alonso Alonso ialonso en enxenio.es
Mar Jun 13 09:59:37 CEST 2017


Hola, estoy intentando crear una nueva opción cuando se edita una capa.
Tras buscar por internet encontré esta entrada en el blog que explica
cómo hacer nuevas opciones en los menús:

https://blog.gvsig.org/2013/07/05/names-of-icons-menus-and-actions-on-gvsig-2-0-ii-applying-it-on-gvsig/


Pero aunque he seguido lo que se indica, hay dos cosas que no entiendo
por qué no me funcionan. La primera es el icono, en el config.xml tengo
puesto:

<action 
    name="layer-insert-multi-linea"
    label="multilinea"
    tooltip="multilinea"
    position="601001300"
    action-command="_multilinea"
    icon="edition-geometry-insert-multilinea"
    accelerator=""
/> 

Y en el código, en la clase xxxEditingLibrary tengo (siguiendo como
ejemplo cómo está hecho en vectorediting):

protected void doPostInitialize() throws LibraryException {
   EditingProviderManager manager =
EditingProviderLocator.getProviderManager();
   manager.addProviderFactory(new MultilineaEditingProviderFactory());
   manager.registerIcon("", "edition-geometry-insert-multilinea",
this.getClass().getClassLoader(), this.getClass().getName());
   registerTranslations();
} 

En "registerIcon" el primer argumento está vacío porque en la extensión,
las imágenes no están en "src/main/resources/images" si no que están en
"src/main/resources-plugin/images" por lo que si no va vacío no
encuentra el icono y no puede registar cuando se pulsa el botón. 

¿Qué tengo que poner en el XML para que detecte el icono? Ahora mismo me
sale un cuadrado rojo. 

El segundo problema es que no soy capaz de hacer que el botón sólo
aparezca cuando se comienza la edición de la capa, ahora me sale nada
más arrancar la aplicación (que por un lado está bien, así veo si me
pilla el icono o no). He intentado poner el método "isVisible()" a FALSE
cuando se carga el programa y después cuando se comienza la edición y se
ejecuta nuestra extensión de edición (En el log sale "Ejecutando
extensión......"), ponerlo a TRUE pero no me funciona, no sé qué estoy
haciendo mal. 

¿Alguien puede orientarme sobre qué estoy haciendo mal? 

Un saludo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170613/74d55a61/attachment.html>


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