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.
Eliminar
script. Se puede eliminar un script (y por tanto, también su
menú asociado) seleccionando y pulsando el botón
Eliminar.
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));
}