<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">El 9 de abril de 2017, 10:53, Joaquin Jose del Cerro Murciano <span dir="ltr">&lt;<a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-">El 7 de abril de 2017, 19:43, Alex Irmel Oviedo Solis <span dir="ltr">&lt;<a href="mailto:alleinerwolf@gmail.com" target="_blank">alleinerwolf@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Hola a todos, aunque se como manipular la interfaz de gvSIG desde un script quisiera saber la forma correcta de agregar un boton a la barra de herramientas principal de gvSIG y asi mismo como cambiaria la posicion de una ventana, porque en todos los ejemplos de scripts todas las ventanas se abren en el lado superior derecha.<br><br></div></div></div></blockquote></span></div></div></div></blockquote><div><br>Por cierto...<br>manipular la interface grafica de gvSIG desde un script metiendolo mano a los componentes swing de esta no te lo recomiendo. Bastante trabajo nos cuesta precurar no cambiar el API entre versiones como para tener que pensar si le cambiamos el nombre a un componente o lo quitamos y ponemos otro en su lugar. Es facil que si le metes mano a cualquier parte de gvSIG sin pasar por el API que haya para usarla te deje de ir el script en siguientes versiones de gvSIG.<br><br>Cuando tenga un rato con un gvSIG delante le echo un vistazo a lo de posicionar las ventanas.<br><br>Un saludo<br>Joaquin<br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div></div></div></div></blockquote></span><div><br>Hola Alex, <br>la forma de hacerlo consistiria basicamente en crear un ActionInfo y asociarlo a una entrada de menu o un boton de una toolbar de gvSIG.<br>Para hacer esto podemos ver basicamente dos formas de hacerlo:<br><br><br>1. Tal como esta el ejemplo &quot;addMenuAndButton&quot; que biene con la extension de <br>   scripting (los ejemplos estan disponibles a traves de la pestaña sistema<br>   en el editor de scripts).<br>   El ejemplo crea una accion asociandole como extension &quot;ScriptingExtension&quot; y<br>   un nombre o ruta de script. Mejor usar ruta comenzando desde la carpeta de<br>   scripts de usuarios para evitar conflictos con otros scripts. El ejemplo <br>   es muy simplon ya que no controla la visibilidad del boton/menu, y contiene <br>   un error. Deberia usarse &quot;ScriptLaunchExtension&quot; en lugar de &quot;ScriptingExtension&quot;.<br>   Si el script que asocias a la accion ademas del main tiene una funcion <br>   isVisible o isEnabled las invocara para determinar la visibilidad de la <br>   accion.<br><br>2. Crear tu propia clase &quot;extension&quot; y asociarla a la accion.<br>   A mi me gusta mas este metodo, ya que tengo mas control de lo que estoy<br>   haciendo.<br><br>   Puedes ver un ejemplo de esto en el script &quot;Catalog&quot; que hay en el catalogo<br>   de scripts de gvSIG.<br>   <br>    <a href="http://downloads.gvsig.org/download/web/scriptcatalog/build/html/index.html" target="_blank">http://downloads.gvsig.org/<wbr>download/web/scriptcatalog/<wbr>build/html/index.html</a><br><br>   En el modulo &quot;catalog.py&quot; a partir de la linea 325 esta lo que te puede <br>   interesar<br><br>    <a href="http://downloads.gvsig.org/download/web/scriptcatalog/build/html/packages/Catalog/code_browser.html?Catalog/Catalog/catalog.py" target="_blank">http://downloads.gvsig.org/<wbr>download/web/scriptcatalog/<wbr>build/html/packages/Catalog/<wbr>code_browser.html?Catalog/<wbr>Catalog/catalog.py</a><br><br>   Ahi tienes la clase &quot;DatasourceCatalogExtension&quot; que implementa los<br>   metodos:<br>    - canQueryByAction (que devuelba siempre true)<br>    - isEnabled<br>    - isVisible<br>    - execute<br><br>   El metodo execute se invoca cuando se ejecuta una accion (ActionInfo) y <br>   recive como parametro el nombre de la accion (pueden haber varias acciones<br>   asociadas a una &quot;extension&quot;). Los metodos isEnabled e isVisible se invocan<br>   para saber si la accion debe estar visible/habilitada.<br><br>   En la funcion &quot;selfRegister&quot; tienes como se crearn las acciones (en el ejemplo<br>   dos), asociandose a la extension y como se añaden al menu &quot;herramientas&quot;.<br><br><br>Ten cuidado con el metodo registerAction. Recibe una accion, la accion a registrar,<br>y devuelbe la accion registrada. Podria darse el caso que tu le pases una accion<br>y no sea esa la que duvuelve. Quedate siempre la que devuelve, no la que le pasas.<br>Como minimo esto pasa cuando intentas crear una accion con un nombre que ya existe.<br><br>Tambien es interesante que repases los nombres y parametros (sobre todo posicion)<br>de las acciones ya registradas. Puedes hacerlo a traves de la opcion de menu:<br><br>  Herramientas --&gt; Desarrollo --&gt; oooii, no recuerdo el nombre <br><br>Pero bueno, seguro que la encuentra ahi.<br><br>Si necesitas consultar los metodos del ApplicationManager puedes ver los javadocs<br>de el en:<br><br>  <a href="http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/app/ApplicationManager.html" target="_blank">http://downloads.gvsig.org/<wbr>download/gvsig-desktop-<wbr>testing/dists/2.3.0/javadocs/<wbr>html/org/gvsig/app/<wbr>ApplicationManager.html</a><br><br>Espero que te sirvan de ejemplo.<br>Si tienes dudas, ya sabes, pregunta.<br><br>Un saludo<br>Joaquin<br><br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><div dir="ltr"><div><div></div>Gracias de antemano por la ayuda.<br><br></div>Saludos<br></div>
<br></span>______________________________<wbr>_________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv<wbr>.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bi<wbr>n/mailman/listinfo/gvsig_desar<wbr>rolladores</a><br>
<br></blockquote></div><span class="gmail-HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div class="gmail-m_-5836737709635998779gmail_signature">------------------------------<wbr>--------<br>Joaquin Jose del Cerro Murciano<br>Development and software arquitecture manager at gvSIG Team<br><a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br><a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a><br>gvSIG Association<br><a href="http://www.gvsig.com" target="_blank">www.gvsig.com</a><br><a href="http://www.gvsig.org" target="_blank">www.gvsig.org</a></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">--------------------------------------<br>Joaquin Jose del Cerro Murciano<br>Development and software arquitecture manager at gvSIG Team<br><a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br><a href="mailto:jjdelcerro@gvsig.org" target="_blank">jjdelcerro@gvsig.org</a><br>gvSIG Association<br><a href="http://www.gvsig.com" target="_blank">www.gvsig.com</a><br><a href="http://www.gvsig.org" target="_blank">www.gvsig.org</a></div>
</div></div>