Ejemplo de wizard
Este es un manual para el desarrollador, pero para poder entender algunos de los métodos que presentan las interfaces de las transformaciones es necesario tener una visión clara del problema al que pretenden dar solución y por ello, se han incluído unas cuantas capturas de pantalla del wizard por defecto que existe en gvSIG.
En la primera ventana el wizard mostrará todas las transformaciones que hayan sido registradas. Al hablar de "transformaciones" nos estamos refiriendo a todas las transformaciones que se han registrado en gvSIG junto con su interfaz de usuario o lo que es lo mismo, todas las clases que implementen el interfaz DataTransformGui y que se han resgistrado mediante el DataTransformManager. Más adelante se comenta cómo crear y registrar una transformación y su interfaz de usuario.
El usuario deberá elegir la transformación que desee aplicar y el resto del wizard se comportará en función de la transformación elegida en esta primera ventana.
Al pulsar en el botón siguiente se abrirá una nueva ventana en la que se tendrá que seleccionar el DataStore sobre el que se va a aplicar la transformación. Esta ventana también será común a todas las transformaciones ya que una transformación se tiene que aplicar sobre al menos un origen de datos.
Tras pulsar en siguiente se abrirán los paneles asociados a una transformación concreta (más adelante se comenta cómo se asocia un panel a una transformación). En función de la transformación que se elija en la primera ventana del wizard estos panales serán de una forma u otra ya que los parámetros asociados a una transformación no son los mismos que los parámetros de otra transformación.
Una vez que hayan pasado todas las ventanas particulares de la transformación elegida, aparecerá una ventana en la que se podrá seleccionar lo que se desea hacer con la transformación (cancelar el proceso, aplicar sobre una capa, cargar en una vista si se trata de una tabla...). La siguiente figura muestra un ejemplo de la última ventana.
En el ejemplo hemos aplicado una transformación sobre una tabla, por lo que podremos elegir la vista sobre la que queremos que se cargue como una capa. Para que esto sea así, la transformación resultante tiene que tener un atributo de tipo geometría.