TUTORIAL SCRIPTS


OrbisCAD tiene una funcionalidad que permite la extensibilidad mediante scripting.

Dicho de otra forma, permite al usuario añadir menús e introducir el código (en lenguaje

Java) que se ejecutara al accionar el menú correspondiente. Para usar esta funcionalidad

es necesario abrir el Script Manager, que se encuentra dentro del menú Edición.



















Una vez con el Script Manager abierto, las acciones que se pueden realizar con los scripts son tres:


- Añadir un Script. Pulsando el botón de Añadir se abre un nuevo diálogo con tres campos obligatorios que rellenar.



- Nombre: el nombre por el que se conocerá al script dentro del Script Manager

(no tiene por que corresponderse con el nombre del menú que se mostrará)

- Script: el código que se ejecutara al accionar el menú correspondiente.

- Traducciones: El menú asociado que se mostrara para ejecutar el script. Debe de existir obligatoriamente la traducción en español, aunque puede existir una traducción por cada idioma disponible en orbisCAD. Se pueden gestionar las traducciones de manera similar a los scripts. Esto es, añadiendo, editando y eliminando traducciones. La estructura del menú es Menu/submenu/submenu... Es decir, si se desea establecer el menú de un script como "Mi Script" dentro del menú "Edición", la traducción correcta es: "Edición/Mi Script".

ATENCION: las mayúsculas y las tildes deben escribirse correctamente. Se permiten espacios.



- Editar script. Con un script seleccionado, se pulsa el botón Editar y se abre un diálogo semejante al de añadir script con los datos correspondientes al script seleccionado. De esta forma, se puede modificar el nombre del script, el código a ejecutar o el menú asociado. Una vez modificados los datos, se confirman pulsando Aceptar.




IMPORTANTE: Cabe destacar que los cambios en los scripts no se hacen efectivos hasta que no se pulsa Aceptar en el Script Manager.


Por otra parte, los scripts se guardan dentro de la carpeta "scripts" con las siguientes extensiones:

- .ocs (OrbisCAD Script) contiene el código ejecutable.

- .properties. Contiene el menú asociado. La extensión Viene precedida de _(idioma) para idiomas distintos del español. Ejemplo:

Mi Script_en.properties para la traducción en inglés de un script con nombre "Mi Script".


* El nombre de estos ficheros es el introducido en el Script Manager


EJEMPLOS:





Ejemplo 1: Este script (cuyo datos son los que se muestran en la primera figura), muestra un diálogo con el texto “Ejecutando mi script...” haciendo uso de la clase JOptionPane, como se puede observar en el código. Para hacerlo funcionar, únicamente es necesario seleccionarlo mediante su menú Edición/Mis Scripts/Muestra Mensaje, que ha sido introducido en el cuadro de traducciones.




A continuación se muestra un script que añade un campo único a la capa seleccionada si es un shapefile:


import com.iver.cit.gvsig.fmap.drivers.dbf.DBFDriver;
Theme t = ctx.getEditionContext().getActiveTheme();
t.addField("auto", DBFDriver.STRING);
int fc = t.getDataSourceMetadata().getFieldCount();
for (int i = 0; i < t.getRowCount(); i++) {
   t.setFieldValue(i, fc - 1, ValueFactory.createValue(""+i));
}