<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>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:<br /><br /><a>https://blog.gvsig.org/2013/07/05/names-of-icons-menus-and-actions-on-gvsig-2-0-ii-applying-it-on-gvsig/</a></p>
<p>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:<br /><br /><action <br /> name="layer-insert-multi-linea"<br /> label="multilinea"<br /> tooltip="multilinea"<br /> position="601001300"<br /> action-command="_multilinea"<br /> icon="edition-geometry-insert-multilinea"<br /> accelerator=""<br />/></p>
<p>Y en el código, en la clase xxxEditingLibrary tengo (siguiendo como ejemplo cómo está hecho en vectorediting):<br /><br />protected void doPostInitialize() throws LibraryException {<br /> EditingProviderManager manager = EditingProviderLocator.getProviderManager();<br /> manager.addProviderFactory(new MultilineaEditingProviderFactory());<br /> manager.registerIcon("", "edition-geometry-insert-multilinea", this.getClass().getClassLoader(), this.getClass().getName());<br /> registerTranslations();<br />}</p>
<p>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.</p>
<p>¿Qué tengo que poner en el XML para que detecte el icono? Ahora mismo me sale un cuadrado rojo.</p>
<p>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.</p>
<p>¿Alguien puede orientarme sobre qué estoy haciendo mal?</p>
<p>Un saludo.</p>
</body></html>