Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/pom.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/pom.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/pom.xml	(revision 32773)
@@ -0,0 +1,145 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.gvsig</groupId>
+	<artifactId>extAnimationGUI</artifactId>
+	<packaging>jar</packaging>
+	<version>1.9-SNAPSHOT</version>
+	<name>extAnimationGUI</name>
+	<url>http://gvsig.org</url>
+	<description> This is the extension that contains all the GUI part for
+		the Animation extension of GvSIG</description>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>gvsig-extension-base-pom
+		</artifactId>
+		<version>1.9-SNAPSHOT</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>ext3Dgui</artifactId>
+			<version>1.9-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>libAnimation3D</artifactId>
+			<version>1.9-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>libAnimation2D</artifactId>
+			<version>1.9-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>libAnimationCommon</artifactId>
+			<version>1.9-SNAPSHOT</version>
+		</dependency>
+	</dependencies>
+	<properties>
+		<extension-appgvsig-lib-dir> ${extension-dir}/com.iver.cit.gvsig/lib/
+		</extension-appgvsig-lib-dir>
+		<build-dir>${basedir}/../build</build-dir>
+		<extension-distribution> gvSIG/extensiones/org.gvsig.extAnimationGUI/
+		</extension-distribution>
+		<gvsig-extension-distribution> gvSIG/extensiones/com.iver.cit.gvsig/
+		</gvsig-extension-distribution>
+		
+			<!-- Path to the descriptor for win32 -->
+		<distribution-win32-descriptor>
+			/distribution/win-distribution/distribution-win32.xml
+		</distribution-win32-descriptor>
+		<!-- Path to the descriptor for win32 sources -->
+		<distribution-win32-descriptor-source></distribution-win32-descriptor-source>
+
+		<!-- Path to the descriptor for linux32  -->
+		<distribution-linux32-descriptor>
+			/distribution/linux-distribution/distribution-linux.xml
+		</distribution-linux32-descriptor>
+		<!-- Path to the descriptor for linux32 sources -->
+		<distribution-linux32-descriptor-source></distribution-linux32-descriptor-source>
+
+		<!-- Path to the descriptor for mac -->
+		<distribution-mac-descriptor> /distribution/distribution-mac.xml
+		</distribution-mac-descriptor>
+		<!-- Path to the descriptor for mac sources-->
+		<distribution-mac-descriptor-source></distribution-mac-descriptor-source>
+
+		<!-- Path to the output directory for the distribution -->
+		<distribution-output-directory> ./distribution/
+		</distribution-output-directory>
+		<!-- Final name of the output directory for the distribution -->
+		<distribution-final-name>extAnimation
+		</distribution-final-name>
+		
+		
+		
+		<!-- Path to the file descriptor to generate the extension-->
+		<extension-distribution-file>distribution/extension-distribution.xml
+		</extension-distribution-file>
+		<!-- Final name of the output directory for the distribution -->
+		<distribution-final-name>extAnimationGUI
+		</distribution-final-name>
+		<application-name>Extension-Animation-GUI
+		</application-name>
+	</properties>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<testSourceDirectory>test</testSourceDirectory>
+		<plugins>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>${extension-dir}/${plugin-name}</directory>
+							<includes>
+								<include>**</include>
+							</includes>
+						</fileset>
+						<fileset>
+							<directory>${gvsig-extension-distribution}/lib</directory>
+							<includes>
+								<include>*libAnimation*</include>
+							</includes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<profiles>
+		<profile>
+			<id>generate-installers</id>
+			<activation>
+				<property>
+					<name>generate-install</name>
+				</property>
+			</activation>
+			<build>
+				<plugins>
+					<plugin>
+						<artifactId>maven-antrun-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>generate-install</id>
+								<phase>install</phase>
+								<configuration>
+									<tasks>
+										<property name="base-dir" value="${basedir}" />
+										<ant antfile="${basedir}/distribution/build.xml"
+											inheritRefs="true" />
+									</tasks>
+								</configuration>
+								<goals>
+									<goal>run</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+</project>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.xml	(revision 32773)
@@ -0,0 +1,65 @@
+<project name="Generar extension en Andami" default="generate-without-source" basedir=".">
+	<description>
+        Instala el plugin de ejemplo en Andami.
+    </description>
+	<!-- set global properties for this build -->
+	<property name="src" location="src" />
+	<property name="build" location="bin" />
+	<property name="dist" location="dist" />
+	<property name="plugin" value="com.iver.ai2.animationgui.gui" />
+	<property name="extension-dir" location="../_fwAndami/gvSIG/extensiones" />
+	<property name="logos-dir" location="../_fwAndami/theme" />
+	<property name="gvsig-lib" location="../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/lib" />
+	<!--property name="binaries-dir" location="../binaries" /-->
+
+	<target name="init">
+		<!-- Create the time stamp -->
+		<tstamp />
+		<!-- Create the build directory structure used by compile -->
+		<mkdir dir="${build}" />
+		<!-- Creamos un fichero con el timeStamp para que lo lea el FPanelAbout -->
+		<buildnumber />
+
+	</target>
+
+	<target name="generate-without-source" description="generate the distribution without the source file" depends="">
+		<!-- Create the distribution directory -->
+		<mkdir dir="${dist}" />
+		<mkdir dir="${dist}/lib" />
+		<mkdir dir="${dist}/binaries" />
+		<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file
+         Except classes to be instantiated in core gvSIG -->
+		<jar jarfile="${dist}/lib/${plugin}.jar" basedir="${build}" />
+
+		<copy todir="${dist}/lib/">
+			<fileset dir="lib/" includes="**/**" />
+		</copy>
+		<!-- Put in this .jar the classes to be instantiated in gvSIG -->
+		<copy file="config/config.xml" todir="${dist}" />
+		<copy file="config/about.htm" todir="${dist}" />
+
+		<copy todir="${dist}">
+			<fileset dir="config" includes="text*.properties" />
+		</copy>
+		<copy todir="${dist}/images">
+			<fileset dir="images/" includes="**/**" excludes="**/*.db" />
+		</copy>
+
+		<move todir="${extension-dir}/${plugin}/">
+			<fileset dir="${dist}" includes="**/**" />
+		</move>
+	</target>
+
+	<target name="copy-binaries">
+		<copy todir="${binaries-dir}">
+			<fileset dir="binaries/" includes="**" />
+		</copy>
+	</target>
+
+	<target name="debug-yes">
+		<property name="debug" value="on" />
+		<property name="debuglevel" value="lines, vars" />
+	</target>
+
+</project>
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/extension-distribution.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/extension-distribution.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/extension-distribution.xml	(revision 32773)
@@ -0,0 +1,49 @@
+<assembly>
+	<id>distribution</id>
+	<formats>
+		<format>dir</format>
+	</formats>
+	<fileSets>
+	<!-- Extructure for the extension -->
+		<fileSet>
+			<directory>config</directory>
+			<outputDirectory>${extension-distribution}
+			</outputDirectory>
+		</fileSet>
+		<fileSet>
+			<directory>images</directory>
+			<outputDirectory>/${extension-distribution}/images
+			</outputDirectory>
+		</fileSet>
+	</fileSets>
+	<files>
+		<file>
+			<source>build.number</source>
+			<outputDirectory>${extension-distribution}
+			</outputDirectory>
+		</file>
+	</files>
+	<!--
+		***********************************************************************
+	-->
+  <!-- *													   *-->
+	<!--
+		***********************************************************************
+	-->
+	<dependencySets>
+		<dependencySet>
+			<outputDirectory>${extension-distribution}/${library-dir}
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:extAnimationGUI</include>
+			</includes>
+		</dependencySet>
+		<dependencySet>
+			<outputDirectory>${gvsig-extension-distribution}/lib
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:libAnimation</include>
+			</includes>
+		</dependencySet>
+	</dependencySets>
+</assembly>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.properties
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.properties	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.properties	(revision 32773)
@@ -0,0 +1,5 @@
+version=1.0
+bversion=1.0
+APPNAME=3D_Extension
+OUTPUT_DIR=../target/installers
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/build.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/build.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/build.xml	(revision 32773)
@@ -0,0 +1,34 @@
+<project name="instalador-gvSIG" default="init" basedir=".">
+	<!--
+	<property name="dir_inst" location="C:\Archivos de programa"/>
+	<property name="base_dir" location="./"/>		
+	<property name="dir_libs" location="C:\Archivos de programa\IzPack\lib"/>
+	<property name="vers" location="0.6"/>
+	<property name="izpack_dir" location="C:\Archivos de programa\IzPack"/>
+	-->
+
+	<property name="dir_inst" location="/usr/local" />
+	<property name="base_dir" location="./" />
+	<!--property name="base_dir" location="D:\java\workspaces\osg_2_2_1-snapshot\ext3Dgui\target\ext3Dgui-1.0-SNAPSHOT-distribution\ext3Dgui-1.0-SNAPSHOT\win\	"/-->
+	<property name="izpack_dir" location="../../../build/distribution/IzPack/" />
+	<property name="dir_libs" location="${izpack_dir}/lib" />
+	<property name="INSTALL_FILE" location="install_15.xml" />
+	<property name="JARNAME" location="default_name_installer-WIN" />
+
+	<taskdef name="izpack" classpath="${dir_libs}/compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
+
+	<target name="init">
+		<izpack input="${INSTALL_FILE}" output="${JARNAME}" installerType="standard" basedir="${base_dir}" izPackDir="${izpack_dir}/" />
+	</target>
+
+	<target name="clean">
+		<delete>
+			<fileset dir=".">
+				<include name="**.zip" />
+			</fileset>
+		</delete>
+		<delete dir="bin" />
+		<delete dir="extensions" />
+	</target>
+
+</project>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/distribution-win32.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/distribution-win32.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/distribution-win32.xml	(revision 32773)
@@ -0,0 +1,54 @@
+<assembly>
+	<id>distribution</id>
+	<formats>
+		<format>dir</format>
+	</formats>
+	<includeBaseDirectory>true</includeBaseDirectory>
+
+	<!-- baseDirectory>d:/java/distri</baseDirectory-->
+	<fileSets>
+		<!-- Extructure for the extension -->
+		<fileSet>
+			<directory>/config</directory>
+			<outputDirectory>
+				/win/bin/${extension-distribution}
+			</outputDirectory>
+		</fileSet>
+		<fileSet>
+			<directory>/images</directory>
+			<outputDirectory>
+				/win/bin/${extension-distribution}/images
+			</outputDirectory>
+		</fileSet>
+
+	</fileSets>
+	<!-- files>
+		<file>
+			<source>build.number</source>
+			<outputDirectory>
+				/win/bin/${extension-distribution}
+			</outputDirectory>
+		</file>
+	</files-->
+	<!-- *********************************************************************** -->
+	<!-- *													   *-->
+	<!-- ***********************************************************************-->
+	<dependencySets>
+		<dependencySet>
+			<outputDirectory>
+				/win/bin/${extension-distribution}/lib/
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:extAnimationGUI</include>
+			</includes>
+		</dependencySet>
+		<dependencySet>
+			<outputDirectory>
+				/win/bin/${gvsig-extension-distribution}/lib
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:libAnimation</include>
+			</includes>
+		</dependencySet>
+	</dependencySets>
+</assembly>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LLIG-ME.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LLIG-ME.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LLIG-ME.txt	(revision 32773)
@@ -0,0 +1,42 @@
+gvSIG v1.0 RC1
+
+
+Requisits de l'aplicació:
+
+    - Sistema
+
+        · Mínims: Pentium III / 256 MB RAM.
+
+        · Recomanables: Pentium 4 / 512 MB RAM.
+
+        · Sistemes operatius: plataformes Windows i Linux.
+        Provat en Win98/XP, Linux Suse 8.2/9.0/9.2 i Linux Debian(Lliurex).
+
+
+    - Programari instal·lat (disponible en http://www.gvsig.gva.es o en http://java.sun.com)
+
+        · Màquina Virtual Java 1.4.2 (06 o superior).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+
+Nota: les libreries JAI i JAI Image I/O han d'estar instal·lades sobre la Màquina Virtual Java que gvSIG utilitze en l'execució.
+
+
+Més informació í suport:
+
+    Web oficial del projecte:
+
+        http://www.gvsig.gva.es
+
+    Llistes de distribució:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (suport per a usuaris).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (suport per a desenvolupadors).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (suport per a usuaris o desenvolupadors de parla no-hispana).
+
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LEEME.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LEEME.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/LEEME.txt	(revision 32773)
@@ -0,0 +1,39 @@
+gvSIG v1.0 RC1
+
+Requisitos de la aplicación:
+
+    - Sistema
+
+        · Mínimos: Pentium III / 256 MB RAM.
+
+        · Recomendables: Pentium 4 / 512 MB RAM.
+
+        · Sistemas operativos: plataformas Windows y Linux.
+        Probado en Win98/XP, Linux Suse 8.2/9.0/9.2 y Linux Debian(Lliurex).
+
+
+    - Software instalado (diponible en http://www.gvsig.gva.es o en http://java.sun.com)
+
+        · Máquina Virtual Java 1.4.2 (06 o superior).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+
+Nota: Las librerías JAI y JAI Image I/O deben estar instaladas sobre la Máquina Virtual Java que gvSIG utilice en su ejecución.
+
+
+Más información y soporte:
+
+    Web oficial del proyecto:
+
+        http://www.gvsig.gva.es
+
+    Listas de distribución:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (soporte para usuarios).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (soporte para desarrolladores).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (soporte para usuarios o desarrolladores de habla no hispana).
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/README.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/README.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/README.txt	(revision 32773)
@@ -0,0 +1,39 @@
+gvSIG v1.0 RC1
+
+
+Application Requirements:
+
+    - System
+
+        · At least: Pentium III / 256 MB RAM.
+
+        · Recommended: Pentium 4 / 512 MB RAM.
+
+        · OSes: platforms Windows and Linux.
+        Tested in Win98/XP, Linux Suse 8.2/9.0/9.2 and Linux Debian(Lliurex).
+
+
+    - Installed Software (available in http://www.gvsig.gva.es or in http://java.sun.com)
+
+        · Java VM 1.4.2 (06 or above).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+Note: The JAI and JAI Image I/O must be installed into the same Java VM that runs gvSIG.
+
+
+Further information and support:
+
+    Official web site:
+
+        http://www.gvsig.gva.es
+
+    Mailing lists:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (users).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (developers).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (non-spanish users and developers).
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/install.bat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/install.bat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/installer_files/install.bat	(revision 32773)
@@ -0,0 +1 @@
+java -jar JARNAME
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/exec
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/exec
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/Notas_asociaciacion_archivos.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/Notas_asociaciacion_archivos.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/Notas_asociaciacion_archivos.txt	(revision 32773)
@@ -0,0 +1,496 @@
+
+Pareceser que hay que añadir unas claves al registro... 
+puede hacerse generando un fichero .reg 
+con las claves preparadas y usando el regedit en modo silencioso
+
+el comando es:
+  regedit /s fichero.reg
+
+
+la claves son:
+HKCR\{ext}  = {typeAbr}
+HKCR\{typeAbr}\ = {typeName}
+HKCR\{typeAbr}\DefaultIcon = {FileIcon}
+HKCR\{typeAbr}\shell\open\command = {exeCommand}
+
+
+estas no parecen necesarias:
+HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{ext}\Application = {exeName}
+HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{ext}\OpenWithList\a = {exeName}
+
+donde:
+{ext} = ".gvp"
+{typeAbr} ="gvSIGProject"
+{typeName} ="gvSIG Project file"
+{FileIcon} = "gvSIG.ico" || "gvSIG.exe"
+{exeCommand} = "gvSIG.exe %L"
+{exeName} = "gvSIG.exe"
+
+
+Ejeplo de fichero .reg:
+REGEDIT4
+
+[HKEY_CLASSES_ROOT\.gvp]
+@="gvSIGProject"
+
+[HKEY_CLASSES_ROOT\gvSIGProject]
+@="gvSIG Project file"
+
+[HKEY_CLASSES_ROOT\gvSIGProject\DefaultIcon]
+@="C:\\Archivos de programas\\gvSIG_1.0\\bin\\ico-gvSIG.ico,0"
+
+
+[HKEY_CLASSES_ROOT\gvSIGProject\shell\open]
+@="Abrir"
+
+[HKEY_CLASSES_ROOT\gvSIGProject\shell\open\command]
+@="C:\\Archivos de programas\\gvSIG_1.0\\bin\\gvSIG.exe \"%1\""
+
+
+
+
+
+
+
+
+
+
+
+
+
+*******************************************************************
+URL's y recortes:
+
+
+http://en.wikipedia.org/wiki/Windows_registry
+
+http://www.akadia.com/services/windows_registry_tutorial.html
+
+http://webtools.live2support.com/windows/
+
+
+
+
+
+
+
+http://www.freevbcode.com/ShowCode.asp?ID=2799
+******************
+usando VB
+
+
+Public Sub associate(EXT As String, FileType As String, _
+   FileName As String)
+On Error Resume Next
+Dim b As Object
+Set b = CreateObject("wscript.shell")
+b.regwrite "HKCR\" & EXT & "\", FileType
+b.regwrite "HKCR\" & FileType & "\", "MY file"
+b.regwrite "HKCR\" & FileType & "\DefaultIcon\", FileName
+b.regwrite "HKCR\" & FileType & "\shell\open\command\", _
+   FileName & " %L"
+b.regdelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\Application"
+b.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\Application", FileName
+b.regdelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\OpenWithList\"
+b.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\OpenWithList\a", FileName
+
+End Sub
+
+'Sample Usage
+Private Sub Form_Load()
+associate ".jpg", "JPGFile", _
+   "C:\Program Files\Accessories\MSPAINT.EXE"
+Unload Me
+End Sub
+
+
+****************
+
+
+http://www.ss64.com/nt/:
+http://www.ss64.com/nt/ftype.html
+**************************************************************************
+FTYPE
+
+Display or change the link between a FileType and an executable program
+
+Syntax
+   FTYPE fileType=executable_path
+
+   FTYPE
+
+   FTYPE fileType
+
+   FTYPE fileType=
+
+Key
+   fileType        : The type of file
+
+   executable_path : The executable program including any command line parameters             
+
+More than one file extension may be associated with the same File Type.
+e.g. both the extension .JPG and the extension .JPEG may be associated with the File Type "jpegfile"
+
+File Types can be displayed in the Windows Explorer GUI: [View, Options, File Types] however the spelling is usually different to that expected by the FTYPE command e.g. the File Type "txtfile" is displayed in the GUI as "Text Document"and "jpegfile" is displayed as "image/jpeg"
+
+Several FileTypes can be linked to the same executable application, but
+one FileType cannot be linked to more than one executable application.
+
+FTYPE file type will display the current executable program for that file type.
+
+FTYPE without any parameters will display all FileTypes and the executable program for each.
+
+Defining command line parameters
+
+It is almost always necessary to supply command line parameters so that when a document is opened not only is the relevant application loaded into memory but the document itself also loaded into the application. To make this happen the filename of the document must be passed back to the application.
+
+Command line parameters are exactly like batch file parameters, %0 is the executable program and %1 will reference the document filename
+
+so a simple command line might be:
+
+MyApplication.exe "%1"
+
+If any further parameters are required by the application they can be passed as %2, %3. To pass ALL parameters to an application use %*. To pass all the remaining parameters starting with the nth parameter, use %~n where n is between 2 and 9.
+
+The FileType should always be created before making a File Association
+
+For example:
+
+FTYPE htmlfile="C:\PROGRA~1\Plus!\MICROS~1\iexplore.exe" -nohome
+ASSOC .html=htmlfile
+
+FTYPE pagemill.html=C:\PROGRA~1\Adobe\PAGEMI~1.0\PageMill.exe "%1"
+ASSOC .html=pagemill.html
+
+FTYPE rtffile="C:\Program Files\Windows NT\Accessories\WORDPAD.EXE" "%1"
+ASSOC .rtf=rtffile
+
+FTYPE word.rtf.8="C:\Program Files\Microsoft Office\Office\winword.exe" /n
+ASSOC .rtf=word.rtf.8
+
+Switching a File Association between multiple applications
+
+If you have multiple applications that use the same file extension, the ASSOC command can be used to switch the file extension between the different FileTypes.
+
+Deleting a FileType
+
+Specify executable_path=nothing and the FTYPE command will delete the executable_path for that FileType.
+For example:
+FTYPE htmlfile=
+
+Backing up your FileTypes
+
+FTYPE >backup_types.txt
+ASSOC >backup_ext.txt
+
+Restoring your FileTypes from a Backup
+
+FOR /F "tokens=* delims=" %G IN (backup_types.txt) DO FTYPE %G
+FOR /F "tokens=* delims=" %G IN (backup_ext.txt) DO ASSOC %G
+
+This will recreate the CLASS id's in the registry at HKey_Classes_Root\.<file extension>
+If you put the commands above in a batch file change the %G to be %%G
+
+Using File associations at the command line
+
+If you have a file association between .DOC and Word for Windows then at a command prompt you can open a document with any of the following commands:
+
+Start "My Document.doc"
+"Monthly Report.doc"
+JULY.DOC
+
+note that the file extension must be supplied for this to work
+
+"True to type - Of a plant, or group of plants, which matches the accepted description of the cultivar to which it is assumed to belong"
+
+Related Commands:
+
+ASSOC - Change file extension associations
+Batch file to list the application associated with a file extension
+ASSOCIAT - One step file association (Resource Kit)
+
+**************************************************************************
+
+http://www.ss64.com/nt/assoc.html
+*************************************************************************
+
+ASSOC
+
+Display or change the association between a file extension and a fileType
+
+Syntax
+   ASSOC .ext = [fileType]
+   ASSOC
+   ASSOC .ext
+   ASSOC .ext =
+
+Key
+    .ext      : The file extension
+    fileType  : The type of file 
+
+A file extension is the last few characters in a FileName after the period.
+So a file called JANUARY.HTML has the file extension .HTML
+
+The File extension is used by Windows NT to determine the type of information stored in the file and therefore which application(s) will be able to display the information in the file. File extensions are not case sensitive and are not limited to 3 characters.
+
+More than one file extension may be associated with the same File Type.
+e.g. both the extension .JPG and the extension .JPEG may be associated with the File Type "jpegfile"
+
+At any one time a given file extension may only be associated with one File Type.
+e.g. If you change the extension .JPG so it is associated with the File Type "txtfile" then it's normal association with "jpegfile" will disappear. Removing the association to "txtfile" does not restore the association to "jpegfile"
+
+File Types can be displayed in the Windows Explorer GUI: [View, Options, File Types] however the spelling is usually different to that expected by the ASSOC command e.g. the File Type "txtfile" is displayed in the GUI as "Text Document"and "jpegfile" is displayed as "image/jpeg"
+
+The command ASSOC followed by just a file extension will display the current File Type for that extension.
+
+ASSOC without any parameters will display all the current file associations.
+
+ASSOC with ".ext=" will delete the association for that file extension.
+
+Did you leave the Always Use This Program To Open This File option turned on?
+To change it back so it prompts you to specify a program each time, just delete the association for that file type
+ASSOC .ext=
+[where .ext is the file extension].
+Now when you double-click on a file of that type, the system will ask you what program you want to use.
+
+Using the ASSOC command will edit values stored in the registry at HKey_Classes_Root\.<file extension>
+Therefore it's possible to use registry permissions to protect a file extension and prevent any file association changes.
+
+Examples:
+
+Viewing file associations:
+
+ASSOC .txt
+ASSOC .doc
+ASSOC >backup.txt
+
+Editing file associations:
+
+ASSOC .txt=txtfile
+ASSOC .DIC=txtfile
+ASSOC .html=Htmlfile
+
+Deleting a file association:
+
+ASSOC .html=
+
+Repair .REG and .EXE file associations:
+
+ASSOC .EXE=exefile
+ASSOC .REG=regfile
+
+Digging through CLASSES_ROOT entries often reveals more than one shell for the same application, for example the Apple Quick Time player has two entries, one to "open" (which gives an annoying nag screen) and one to just "play" the QT file:
+[HKEY_CLASSES_ROOT\MOVFile\shell\open] and [play]
+
+In cases like this you can change the default action e.g.
+[HKEY_CLASSES_ROOT\MOVFile\shell]
+@="play"
+
+"Of all forms of caution, caution in love is perhaps the most fatal to true happiness" - Bertrand Russell
+
+Related:
+
+FTYPE - Edit file types (used in file extension associations)
+Batch file to list the application associated with a file extension
+ASSOCIAT - One step file association (Resource Kit)
+Q162059 - Associate Internet Explorer with MS Office files
+JSIFAQ - Tip 9715 - List File Types with executable path
+
+****************************************************************
+
+
+http://www.ss64.com/nt/associate.html
+**********************************************************************
+ASSOCIATE.exe (Resource Kit)
+
+One step file association.
+
+This utility does the job of both ASSOC and FTYPE, in one step. ASSOCIATE assigns an extension directly with an executable application. This is done by automatically adding a new FileType to the system registry.
+
+Syntax
+      ASSOCIATE .ext filename [/q /d /f]
+
+Key
+   .ext     : Extension to be associated.
+   filename : Executable program to associate .ext with.
+   /q       : Quiet - Suppress interactive prompts.
+   /f       : Force - Force overwrite or delete without questions.
+   /d       : Delete - Delete the association.
+
+A file extension is the last few characters in a FileName after the period.
+So a file called JANUARY.HTML has the file extension .HTML
+
+The File extension is used by Windows NT to determine the type of information stored in the file and therefore which application(s) will be able to display the information in the file. File extensions are not case sensitive and are not limited to 3 characters.
+
+Example: adding a File Association
+
+To add the File Type "SQLfile"=Notepad.exe and also set the File Association of .SQL="SQLfile" run this command:
+
+ASSOCIATE .SQL Notepad.exe
+
+Example: Removing a File Association
+
+ASSOCIATE .SQL /d
+
+Note that /d will delete the File Association but will NOT delete the File Type.
+
+File types created by Associate.exe are always given a name in the form xxxfile, where xxx is the file extension.
+
+"There are three roads to ruin; women, gambling and technicians. The most pleasant is with women, the quickest is with gambling, but the surest is with technicians" - Georges Pompidou
+
+Related Commands:
+
+ASSOC Change file extension associations
+FTYPE Display or modify file types used in file extension associations
+**********************************************************************
+
+
+
+
+WINDOWS 98
+
+
+http://groups.google.com/group/alt.msdos.batch/browse_thread/thread/556321da29c9ca2e/e60e3330cd284b99?lnk=gst&q=file+association&rnum=2#e60e3330cd284b99
+***************************************************************************
+
+	
+De:		William Allen - ver perfil
+Fecha:		Mié 26 mar 2003 14:28
+Correo electrónico: 		"William Allen" <_inval...@mayfly13.fsnet.co.uk>
+Grupos: 		alt.msdos.batch
+Sin calificar
+Valoración:	 
+mostrar opciones
+Responder | Responder al autor | Reenviar | Imprimir | Mensaje individual | Mostrar mensaje original | Notificar abuso | Buscar mensajes de este autor
+
+"Robert Mark Bram" wrote in message
+> I recently asked this question in alt.msdos.batch.nt -- but I need an answer
+> for Win 98..
+
+> Can use a batch file to create a windows file association?
+
+Yes. Windows 95/98/ME users can use the Windows 98 Resource Kit
+utility ASSOCIAT.EXE (cloned from the NT4 Resource Kit), which will
+operate with the Windows 95/98/ME registries to create file associations
+very easily. ASSOCIAT.EXE provides an informative ERRORLEVEL and
+is designed for use in Batch files. Downloadable free from the Microsoft FTP site:
+ftp://ftp.microsoft.com/Services/TechNet/samples/ps/win98/Reskit/FILE/
+
+and click on file: ASSOCIAT.EXE
+
+For syntax help with using ASSOCIAT.EXE, use the /? switch
+associat /?
+
+Full documentation, usage instructions, and syntax examples for Batch
+usage of all the Windows 98 Resource Kit Batch tools (which you can
+use in Windows 95 and ME, too):
+ftp://ftp.microsoft.com/Services/TechNet/samples/ps/win98/reskit/help...
+This is a fully indexed and searchable compiled help file. Although
+each utility responds to the usual /? for brief help, this main file has
+huge detail. When you have the file, look in the Contents section
+under "Scripting Tools". 
+
+
+*************************************************************************
+
+PARA TODOS LOS WINDOWS
+
+http://www.robvanderwoude.com/index.html
+http://www.robvanderwoude.com/files/defopen.txt
+
+defopen.bat
+
+Create a default file association to Notepad and add "Open with Notepad", "Print with Notepad" and "Command Prompt Here" options to popup menus
+
+************************************************************************
+@ECHO OFF
+:: No parameters required
+IF NOT [%1]==[] GOTO Syntax
+
+:: Choose the correct command processor for the current operating system
+SET _cmd=
+:: Variable to add shortcut to menu entry (NT only,
+:: since COMMAND.COM cannot echo an ampersand)
+SET _=
+ECHO.%COMSPEC% | FIND /I "command.com" >NUL
+IF NOT ERRORLEVEL 1 SET _cmd=command.com /e:4096
+ECHO.%COMSPEC% | FIND /I "cmd.exe" >NUL
+IF NOT ERRORLEVEL 1 SET _cmd=cmd.exe
+IF [%_cmd%]==[cmd.exe] SET _=^&
+
+:: Create a temporary .REG file
+> "%Temp%.\DefOpen.reg" ECHO REGEDIT4
+>>"%Temp%.\DefOpen.reg" ECHO.
+ECHO Adding "Open with Notepad" entry
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\open]
+>>"%Temp%.\DefOpen.reg" ECHO @="%_%Open with Notepad"
+>>"%Temp%.\DefOpen.reg" ECHO.
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\open\command]
+>>"%Temp%.\DefOpen.reg" ECHO @="notepad.exe \"%%1\""
+>>"%Temp%.\DefOpen.reg" ECHO.
+ECHO Adding "Print with Notepad" entry
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\print]
+>>"%Temp%.\DefOpen.reg" ECHO @="%_%Print with Notepad"
+>>"%Temp%.\DefOpen.reg" ECHO.
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\print\command]
+>>"%Temp%.\DefOpen.reg" ECHO @="notepad.exe /p \"%%1\""
+>>"%Temp%.\DefOpen.reg" ECHO.
+
+:: If neither COMMAND.COM nor CMD.EXE then skip this step
+IF [%_cmd%]==[] ECHO Skipping "Command Prompt Here" entry
+IF [%_cmd%]==[] GOTO Merge
+
+ECHO Adding "Command Prompt Here" entry
+:: Add Command Prompt Here for files
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\prompt]
+>>"%Temp%.\DefOpen.reg" ECHO @="Command Prompt Here"
+>>"%Temp%.\DefOpen.reg" ECHO.
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\*\shell\prompt\command]
+>>"%Temp%.\DefOpen.reg" ECHO @="%_cmd% /k cd \"%%1\\..\""
+>>"%Temp%.\DefOpen.reg" ECHO.
+:: Add Command Prompt Here for directories
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\Directory\shell\prompt]
+>>"%Temp%.\DefOpen.reg" ECHO @="Command Prompt Here"
+>>"%Temp%.\DefOpen.reg" ECHO.
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\Directory\shell\prompt\command]
+>>"%Temp%.\DefOpen.reg" ECHO @="%_cmd% /k cd \"%%1\""
+>>"%Temp%.\DefOpen.reg" ECHO.
+:: Add Command Prompt Here for drives
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\Drive\shell\prompt]
+>>"%Temp%.\DefOpen.reg" ECHO @="Command Prompt Here"
+>>"%Temp%.\DefOpen.reg" ECHO.
+>>"%Temp%.\DefOpen.reg" ECHO [HKEY_CLASSES_ROOT\Drive\shell\prompt\command]
+>>"%Temp%.\DefOpen.reg" ECHO @="%_cmd% /k cd \"%%1\""
+>>"%Temp%.\DefOpen.reg" ECHO.
+
+:: Merge the temporary .REG file
+:Merge
+START /WAIT REGEDIT /S "%Temp%.\DefOpen.reg"
+
+:: Delete the temporary .REG file
+DEL "%Temp%.\DefOpen.reg"
+
+:: Ready
+GOTO End
+
+:Syntax
+ECHO.
+ECHO DefOpen.bat,  Version 3.00 for Windows 95/98/NT 4/2000/XP
+ECHO Adds a default association: when a file without a file association
+ECHO is double-clicked, it will be opened with Notepad.
+ECHO Adds three new entries to the right mouse button menu as well:
+ECHO "Open with Notepad", "Print with Notepad" and "Command Prompt Here".
+ECHO.
+ECHO Usage:  DEFOPEN
+ECHO.
+ECHO Written by Rob van der Woude
+ECHO http://www.robvanderwoude.com
+ECHO Notepad registry tip courtesy of Regedit.com
+ECHO http://www.regedit.com
+
+:: Clean up variables and quit
+:End
+SET _cmd=
+SET _=
+*****************************
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install.xml	(revision 32773)
@@ -0,0 +1,136 @@
+<installation version="1.0">
+	<info>
+		<appname>gvSIG_1.0 piloto 3D</appname>
+		<appversion>1.0</appversion>
+		<authors>
+			<author
+				name="Generalitat Valenciana. Conselleria d'Infraestructures i Transport"
+				email="" />
+			<author name="Iver TecnologÃ­as de la InformaciÃ³n S.A."
+				email="" />
+		</authors>
+		<url>http://www.gvsig.gva.es/</url>
+		<javaversion>1.4</javaversion>
+	</info>
+
+	<guiprefs height="600" resizable="yes" width="800">
+		<laf name="liquid">
+			<os family="windows" />
+		</laf>
+	</guiprefs>
+
+	<locale>
+		<!-- only keep the languages which are also available in gvSIG -->
+		<langpack iso3="spa" />
+		<langpack iso3="val" />
+		<langpack iso3="eng" />
+		<!--	<langpack iso3="cat"/>
+			<langpack iso3="chn"/> -->
+		<langpack iso3="cze" />
+		<!--	<langpack iso3="dan"/> -->
+		<langpack iso3="deu" />
+		<!--	<langpack iso3="fin"/>-->
+		<langpack iso3="fra" />
+		<langpack iso3="glg" />
+		<!--	<langpack iso3="hun"/> -->
+		<langpack iso3="ita" />
+		<!--	<langpack iso3="jpn"/>
+			<langpack iso3="mys"/>
+			<langpack iso3="ned"/>
+			<langpack iso3="nor"/>
+			<langpack iso3="pol"/> -->
+		<langpack iso3="por" />
+		<!--	<langpack iso3="rom"/>
+			<langpack iso3="rus"/>
+			<langpack iso3="scg"/>
+			<langpack iso3="svk"/>
+			<langpack iso3="swe"/>
+			<langpack iso3="ukr"/> -->
+	</locale>
+
+	<native os="windows" type="izpack" name="ShellLink.dll" />
+
+	<resources>
+		<res src="resources/gpl.txt" id="LicencePanel.licence" />
+		<res src="resources/LEEME.html" id="HTMLInfoPanel.info" />
+		<res src="resources/images/Logo_gvsig_gva.jpg"
+			id="Installer.image" />
+		<res src="resources/userInputSpec.xml" id="userInputSpec.xml" />
+		<parsable os="windows" targetfile="resources/userInputSpec.xml" />
+		<res src="resources/userInputLang.xml_val"
+			id="userInputLang.xml_val" />
+		<res src="resources/userInputLang.xml_spa"
+			id="userInputLang.xml_spa" />
+		>
+	</resources>
+
+	<panels>
+		<panel classname="HTMLInfoPanel" />
+		<panel classname="LicencePanel" />
+		<panel classname="PacksPanel" />
+		<panel classname="UserInputPanel" />
+		<panel classname="InstallPanel" />
+		<panel classname="SimpleFinishPanel" />
+	</panels>
+
+
+
+
+	<packs>
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="GvSIG UPDATES" required="yes">
+			<description>Extension piloto 3D</description>
+
+
+			<!-- dll necesarias para la extension 3D -->
+			<fileset targetdir="$INSTALL_PATH/lib"
+				dir="../../ext3D/binaries/w32" override="true">
+				<include name="**/*" />
+			</fileset>
+
+			<fileset targetdir="$JAVA_HOME/bin"
+				dir="../../ext3D/binaries/w32" override="true">
+				<include name="**/*" />
+			</fileset>
+
+
+			<!-- Copiando JDialogSkin -->
+			<file
+				targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/com.iver.core/"
+				src="/bin/gvSIG/extensiones/com.iver.core/com.iver.core.jar"
+				override="true" />
+			
+			<!-- Copiando la cache 
+			<file targetdir="$USER_HOME/gvSIG/.data/"
+				src="/home/rgaitan/Desktop/cache" override="true" />
+			-->
+			<!-- Sobreescribiendo el nuevo .ini -->
+			<file os="windows" targetdir="$INSTALL_PATH/bin"
+				src="resources/gvSIG.ini" override="true" />
+			<parsable os="windows"
+				targetfile="$INSTALL_PATH/bin/gvSIG.ini" />
+
+			<file targetdir="$INSTALL_PATH/bin/"
+				src="../../_fwAndami/theme" override="true" />
+		</pack>
+
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="3D extensions" required="yes">
+			<description>Install 3D Extension</description>
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="/extensiones/com.iver.ai2.gvsig3d"
+				override="true" />
+		</pack>
+		
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="Catalog client" required="yes">
+			<description>Install Catalog client</description>
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="/extensiones/es.gva.cit.gvsig.catalogClient"
+				override="true" />
+		</pack>
+
+
+	</packs>
+
+</installation>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install_15.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install_15.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/install_15.xml	(revision 32773)
@@ -0,0 +1,112 @@
+<installation version="1.0">
+	<info>
+		<appname>Animation</appname>
+		<appversion>2.0</appversion>
+		<authors>
+			<author
+				name="Generalitat Valenciana. Conselleria d'Infraestructures i Transport"
+				email="" />
+			<author name="Iver TecnologÃ­as de la InformaciÃ³n S.A."
+				email="" />
+		</authors>
+		<url>http://www.gvsig.gva.es/</url>
+		<javaversion>1.5</javaversion>
+	</info>
+
+	<guiprefs height="600" resizable="yes" width="800">
+		<laf name="liquid">
+			<os family="windows" />
+		</laf>
+	</guiprefs>
+
+	<locale>
+		<!-- only keep the languages which are also available in gvSIG -->
+		<langpack iso3="spa" />
+		<langpack iso3="val" />
+		<langpack iso3="eng" />
+		<!--	<langpack iso3="cat"/>
+			<langpack iso3="chn"/> -->
+		<langpack iso3="cze" />
+		<!--	<langpack iso3="dan"/> -->
+		<langpack iso3="deu" />
+		<!--	<langpack iso3="fin"/>-->
+		<langpack iso3="fra" />
+		<langpack iso3="glg" />
+		<!--	<langpack iso3="hun"/> -->
+		<langpack iso3="ita" />
+		<!--	<langpack iso3="jpn"/>
+			<langpack iso3="mys"/>
+			<langpack iso3="ned"/>
+			<langpack iso3="nor"/>
+			<langpack iso3="pol"/> -->
+		<langpack iso3="por" />
+		<!--	<langpack iso3="rom"/>
+			<langpack iso3="rus"/>
+			<langpack iso3="scg"/>
+			<langpack iso3="svk"/>
+			<langpack iso3="swe"/>
+			<langpack iso3="ukr"/> -->
+	</locale>
+
+	<native os="windows" type="izpack" name="ShellLink.dll" />
+
+	<resources>
+		<res src="resources/gpl.txt" id="LicencePanel.licence" />
+		<res src="resources/LEEME.html" id="HTMLInfoPanel.info" />
+		<res src="resources/images/Logo_gvsig_gva.jpg"
+			id="Installer.image" />
+		<res src="resources/userInputSpec.xml" id="userInputSpec.xml" />
+		<parsable os="windows" targetfile="resources/userInputSpec.xml" />
+		<res src="resources/userInputLang.xml_val"
+			id="userInputLang.xml_val" />
+		<res src="resources/userInputLang.xml_spa"
+			id="userInputLang.xml_spa" />
+
+	</resources>
+
+	<panels>
+		<panel classname="HTMLInfoPanel" />
+		<panel classname="LicencePanel" />
+		<panel classname="PacksPanel" />
+		<panel classname="UserInputPanel" />
+		<panel classname="InstallPanel" />
+		<panel classname="SimpleFinishPanel" />
+	</panels>
+
+	<variables>
+		<variable name="A"
+			value="../../target/extAnimation-distribution/extAnimation/win" />
+	</variables>
+
+
+
+	<packs>
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="GvSIG UPDATES" required="yes">
+			<description>GvSIG updates</description>
+			<file os="windows"
+				targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/com.iver.cit.gvsig/lib/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/com.iver.cit.gvsig/lib/libAnimation-1.0-SNAPSHOT.jar"
+				override="true" />
+		</pack>
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="Animation extension" required="yes">
+			<description>Install the animation extension.</description>
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimation2D"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimation3D"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimationCommon"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimationGUI"
+				override="true" />
+		</pack>
+
+
+
+	</packs>
+</installation>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.GIF
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.GIF
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.JPG
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.JPG
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/papelera.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/papelera.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/Logo_gvsig_gva.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/Logo_gvsig_gva.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/ico-gvSIG16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/Logo-gvSIG.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/Logo-gvSIG.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/help16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/images/uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputSpec.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputSpec.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputSpec.xml	(revision 32773)
@@ -0,0 +1,21 @@
+<userInput>
+	<panel order="0">
+		<field 	type="search" 
+				variable="INSTALL_PATH"
+				size="45">
+  			<description align="left" />
+  			<spec 	txt="Path to gvSIG:" 
+		  			id="text.label"
+  					checkfilename="bin/andami.jar"
+        			type="directory" 
+        			result="directory">
+  			<choice value="/usr/local/gvSIG_1.0" os="unix" />
+  			<choice value="/opt/gvSIG_1.0" os="unix" />
+  			<choice value="$USER_HOME/gvSIG_1.0" os="unix" />
+  			<choice value="C:\Archivos de Programa\gvSIG_1.0" os="windows" />
+  			<choice value="C:\Program Files\gvSIG_1.0" os="windows" />
+  			</spec>
+		</field>
+	</panel>
+</userInput>
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/install.bat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/install.bat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/install.bat	(revision 32773)
@@ -0,0 +1,19 @@
+REM This is used at installation time, in order to perform some extra actions
+REM that the installer is not able to do
+
+REM different syntax in win98 and (nt, xp)
+
+SET > salida.txt
+SET
+IF OS_%os% == OS_Windows_NT GOTO wnt
+GOTO win
+
+:wnt
+IF NOT EXIST $USER_HOME\gvSIG MKDIR $USER_HOME\gvSIG
+IF NOT EXIST $USER_HOME\gvSIG\andami-config.xml COPY $INSTALL_PATH\bin\andami-config.xml $USER_HOME\gvSIG\andami-config.xml
+
+:win
+IF NOT EXIST "$USER_HOME"\gvSIG MKDIR "$USER_HOME"\gvSIG
+IF NOT EXIST "$USER_HOME"\gvSIG\andami-config.xml COPY "$INSTALL_PATH"\bin\andami-config.xml "$USER_HOME"\gvSIG\andami-config.xml
+
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/launcher-Win32.ini.j15
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/launcher-Win32.ini.j15	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/launcher-Win32.ini.j15	(revision 32773)
@@ -0,0 +1,144 @@
+[default]
+; Nombre de la aplicacion
+appname = gvSIG
+
+; Ruta al achivo Jar a lanzar
+jar = %JARNAME%
+
+
+; Comando a ejecutar:
+;    Admite remplazo de variable:
+;	* #JAVA# ejecutable de java
+;	* #JAVA_HOME# path del Java_home
+;	* #JAR# el valor de la variable 'jar' de este fichero
+;	* #ARGS# cadena con todos los argumentos con los que se ha llamado al lanzador
+;	* #ARG1#, #ARG2#, ... #ARG9#: parametro recivido en 'n' lugar
+;	* #ARG0#: Nombre del ejecutable del lanzador
+;    Tambien admite los valores de la seccion 'Variables' encerrados entre
+;    el caracter almuadilla '#'
+; 	 * Nota: los nombres de las variables son case sensitive
+command = #JAVA# -jar #JAR#
+
+
+
+
+; Lanzar el Jar en ansincrono o no:
+;     * si(se lanza el javaw.exe y finaliza el lanzador):S SI YES Y 1
+;     * si(el lanzado se espera a que termine la ejecucion del javaw.exe):{distinto de los anterirores}
+launchJarAsync = 0
+
+; Modo: dice si se va a usar en modo lanzador de la instalacion o de la aplicacion
+; (De momento solo afecta al titulo)
+;     * Instalacion: INSTALL
+;     * Applicacion: APPLICATION
+launchMode = INSTALL
+
+; Realizar la comprobaciones o no:
+;     * si(por defecto):S SI YES Y 1
+;     * no(debera estar especificado el parametro'jre_home'):{distinto de los anterirores}
+doChecks = YES
+
+; Realizar la comprobacion de codigo que
+; retorna la JRE
+;     * si(por defecto):S SI YES Y 1
+;     * no:{distinto de los anterirores}
+checksJREExecutionTerminationCode = YES
+
+
+
+; Ruta el Java_home a usar en caso de 'doChecks-->No'
+jre_home =
+;ejemplo: jre_home = C:/Archivos de programa/Java/j2re1.4.2_11
+
+
+; Habilita la pregunta al usuario de si hay que hacer las comprobaciones de JRE etc...
+;     - por defecto se hace la pregunta
+;     - Si la respuesta del usario es 'no' se solicita la usuario que indique el ejectuable de la JRE
+;     * si(se pregunta al usario):S SI YES Y 1
+;     * no(no se pregunta y se realizan las comprobaciones):{distinto de los anterirores}
+askForCheckingProcess = SI
+
+
+
+; Version de JRE requerida
+jre_version = 1.5.0
+jre_version_prefered = 1.5.0_12
+
+
+
+; Descarga remota
+; 	* los valores valido de downloadEnabled son:
+;		- habilitado: S SI YES Y 1
+;		- deshabilitado: {distinto de los anteriores}
+downloadEnabled = 1
+
+
+
+; Path del instalable del jre (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jre = jre-1_5_0_12-windows-i586-p.exe
+downloadJre = http://www.gvsig.org/runtime/jre-1_5_0_12-windows-i586-p.exe
+
+
+; Comprobar si esta instaladas las Jai
+;	- habilitado: S SI YES Y 1 (por defecto)
+;	- deshabilitado: {distinto de los anteriores}
+checkJai=S
+; Path del instalable del jai (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jai = jai-1_1_3-lib-windows-i586-jre.exe
+;downloadJai = http://www.gvsig.org/jai-1_1_2_01-lib-windows-i586-jre.exe
+downloadJai = http://www.gvsig.gva.es/fileadmin/conselleria/images/Documentacion/descargas/software/windows/jai-1_1_3-lib-windows-i586-jre.exe
+
+
+; Comprobar si esta instaladas las Jai Image I/O
+;	- habilitado: S SI YES Y 1 (por defecto)
+;	- deshabilitado: {distinto de los anteriores}
+checkJai_io=N
+; Path del instalable del jai io (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jai_io =
+downloadJai_io =
+
+
+
+; Esta seccion indica una lista de fichero a
+; copiar antes de lanzar el comando.
+; Los ficheros se copiaran si no existen en el
+; destino.
+; Destino puede ser un directorio, pero debe finalizar
+; con '/'
+; Pueden usarse variables declaradas en la
+; seccion 'variables' colocadas entre '#'
+;  * Nota: los nombres de las variables son case sensitive
+; Requiere los valores:
+;	* source1: primer fichero origen
+;	* target1: primer destino
+;	* source2: segundo fichero origen
+;	* target2: segundo destino
+;	...
+;	* source{n}: 'n' fichero origen
+;	* target{n}: 'n' destino
+[CopyRequiredFiles]
+source1=
+target1=
+
+source2=
+target2=
+
+source3=
+target3=
+
+
+; En esta seccion se pueden definir valores
+; que se pueden utilizar en el parametro 'command'
+; o en la copia de los ficheros
+;  * Nota: los nombres son case sensitive
+[Variables]
+
+
+
+; En esta seccion se pueden definir valores
+; que se estableceran como variables de entorno
+; al arrancar el lanzador (y heredara la aplicacion)
+[EnvironVariables]
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/uninstall.bat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/uninstall.bat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/uninstall.bat	(revision 32773)
@@ -0,0 +1 @@
+java -jar "$INSTALL_PATH/Uninstaller/uninstaller.jar"
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_por
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_por	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_por	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.bat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.bat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.bat	(revision 32773)
@@ -0,0 +1,19 @@
+@echo off
+cd "$INSTALL_PATH\"
+
+IF OS_%os% == OS_Windows_NT GOTO wnt
+GOTO win
+
+:wnt
+SET PATH=$INSTALL_PATH\lib;%PATH%
+cd bin
+"$JAVA_HOME\bin\java.exe" -Djava.library.path="$INSTALL_PATH\lib" -cp andami.jar;./lib/gvsig-i18n.jar;./lib/beans.jar;./lib/log4j-1.2.8.jar;./lib/iver-utiles.jar;./lib/castor-0.9.5.3-xml.jar;./lib/crimson.jar;./lib/xerces_2_5_0.jar;./lib/javaws.jar;./lib/xml-apis.jar;lib/looks-2.0.2.jar;./lib/JWizardComponent.jar;./lib/kxml2.jar;./lib/jcalendar.jar -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones %1
+GOTO end
+
+:win
+SET PATH="$INSTALL_PATH\lib";%PATH%
+cd bin
+"$JAVA_HOME\bin\java.exe" -Djava.library.path="$INSTALL_PATH\lib" -cp andami.jar;./lib/gvsig-i18n.jar;./lib/beans.jar;./lib/log4j-1.2.8.jar;./lib/iver-utiles.jar;./lib/castor-0.9.5.3-xml.jar;./lib/crimson.jar;./lib/xerces_2_5_0.jar;./lib/javaws.jar;./lib/xml-apis.jar;lib/looks-2.0.2.jar;./lib/JWizardComponent.jar;./lib/kxml2.jar;./lib/jcalendar.jar -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones %1
+
+:end
+pause
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cat	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_fra
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_fra	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_fra	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_eng
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_eng	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_eng	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/LEEME.html
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/LEEME.html	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/LEEME.html	(revision 32773)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<style type="text/css">
+html, body, h1, h2, h3, h4, div, p, ul, li, input {
+   font-family: Arial, Helvetica, sans-serif;
+}
+
+h1 {
+   font-size: large;
+}
+
+h2 {
+   font-size: large;
+}
+
+h3 {
+   font-size: medium;
+}
+</style>
+</head>
+<body>
+<h1>gvSIG, el SIG en software libre de la Generalitat Valenciana
+(http://www.gvsig.gva.es).</h1>
+
+<h2>Autores:</h2>
+<ul>
+<li>Generalitat Valenciana
+ (Conselleria d'Infraestructures i Transport).</li>
+<li>Iver Tecnolog&iacute;as de la Informaci&oacute;n S.A.</li>
+</ul>
+
+<p>Software con licencia GNU/GPL
+(http://www.fsf.org/licensing/licenses/gpl.html)</p>
+
+<p>Contacto:
+	gvsig@gva.es<p>
+
+<h2>Requisitos de la aplicaci&oacute;n:</h2>
+<h3>Sistema</h3>
+<ul>
+<li>M&iacute;nimos: Pentium IV / 512 MB RAM / Targeta grafica compatible con OpenGL 1.5</li>
+<li>Recomendables: Pentium IV / 1 GB RAM / Targeta Grafica compatible con OpenGL 2.0</li>
+<li>Sistemas operativos: plataformas Windows y Linux.
+ Probado en XP, Ubuntu Linux y Mac OS X.</li>
+</ul>
+
+<h3>Software instalado</h3> (disponible en http://www.gvsig.gva.es o en http://java.sun.com)
+<ul>
+<li>M&aacute;quina Virtual Java 1.5.</li>
+<li>JAI (Java Advanced Imaging).</li>
+<li>JAI Image I/O.</li>
+</ul>
+
+<p style="text-align:justify">Nota: Las librer&iacute;as JAI y JAI Image I/O deben estar instaladas sobre la M&aacute;quina Virtual Java que gvSIG utilice en su ejecuci&oacute;n. Si se instala una nueva JVM en el sistema y se usa para ejecutar gvSIG ser&aacute; indispensable instalar las librer&iacute;as sobre &eacute;sta (gvSIG se ejecuta con la JVM que tenga por defecto el sistema operativo; para saber cu&aacute;l es, ejecutar <span style="monospace">"java&nbsp;-version"</span> en un interfaz de comandos o consola).</p>
+
+<h2>M&aacute;s informaci&oacute;n y soporte en:</h2>
+<h3> Web oficial del proyecto:</h3>
+	http://www.gvsig.gva.es
+
+<h3>Listas de distribuci&oacute;n:</h3>
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios</span> (soporte para usuarios).
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores</span> (soporte para desarrolladores).
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional</span> (soporte para desarrolladores o usuarios de habla no hispana).
+
+</body>
+</html>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/andami-config.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/andami-config.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/andami-config.xml	(revision 32773)
@@ -0,0 +1,5 @@
+<andami-config locale-language="$ISO3_LANG" pluginsDirectory="gvSIG/extensiones">
+	<andami update="yes"/>
+        <plugin name="com.iver.cit.gvsig" update="yes"/>
+        <plugin name="com.iver.core" update="no"/>
+</andami-config>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_deu
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_deu	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_deu	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_ita
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_ita	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_ita	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.ini
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.ini	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gvSIG.ini	(revision 32773)
@@ -0,0 +1,201 @@
+[default]
+
+
+; Ruta al achivo Jar a lanzar
+jar =
+
+
+; Comando a ejecutar:
+;    Admite remplazo de variable:
+;	* #JAVA# ejecutable de java
+;	* #JAVA_HOME# path del Java_home
+;	* #JAR# el valor de la variable 'jar' de este fichero
+;	* #ARGS# cadena con todos los argumentos con los que se ha llamado al lanzador
+;	* #ARG1#, #ARG2#, ... #ARG9#: parametro recivido en 'n' lugar
+;	* #ARG0#: Nombre del ejecutable del lanzador
+;	* #CLASSPATH#: path declarados en la seccion classpath
+;    Tambien admite los valores de la seccion 'Variables' encerrados entre
+;    el caracter almuadilla '#'
+; 	 * Nota: los nombres de las variables son case sensitive
+command = #JAVA# -Djava.library.path="#GVSIG_INSTALL_PATH#\lib" -cp #CLASSPATH# -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones #ARGS#
+
+
+
+
+; Lanzar el Jar en ansincrono o no:
+;     * si(se lanza el javaw.exe y finaliza el lanzador):S SI YES Y 1
+;     * si(el lanzado se espera a que termine la ejecucion del javaw.exe):{distinto de los anterirores}
+launchJarAsync = 0
+
+; Modo: dice si se va a usar en modo lanzador de la instalacion o de la aplicacion
+; (De momento solo afecta al titulo)
+;     * Instalacion: INSTALL
+;     * Applicacion: APPLICATION
+launchMode = APPLICATION
+
+; Realizar la comprobaciones o no:
+;     * si(por defecto):S SI YES Y 1
+;     * no(debera estar especificado el parametro'jre_home'):{distinto de los anterirores}
+doChecks = No
+
+; Ruta el Java_home a usar en caso de 'doChecks-->No'
+jre_home = $JAVA_HOME
+;ejemplo: jre_home = C:/Archivos de programa/Java/j2re1.4.2_11
+
+
+; Habilita la pregunta al usuario de si hay que hacer las comprobaciones de JRE etc...
+;     - por defecto se hace la pregunta
+;     - Si la respuesta del usario es 'no' se solicita la usuario que indique el ejectuable de la JRE
+;     * si(se pregunta al usario):S SI YES Y 1
+;     * no(no se pregunta y se realizan las comprobaciones):{distinto de los anterirores}
+askForCheckingProcess = No
+
+
+
+; Version de JRE requerida
+jre_version = 1.5.0
+jre_version_prefered = 1.5.0_12
+
+
+
+; Descarga remota
+; 	* los valores valido de downloadEnabled son:
+;		- habilitado: S SI YES Y 1
+;		- deshabilitado: {distinto de los anteriores}
+downloadEnabled = 0
+
+
+
+; Path del instalable del jre (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jre =
+downloadJre =
+
+
+
+; Path del instalable del jai (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jai =
+downloadJai =
+
+
+
+; Path del instalable del jai io (si no existe y estan
+;	habilitadas las descargas, lo dejara aqui)
+jai_io =
+downloadJai_io =
+
+
+
+; Esta seccion indica una lista de fichero a
+; copiar antes de lanzar el comando.
+; Los ficheros se copiaran si no existen en el
+; destino.
+; Destino puede ser un directorio, pero debe finalizar
+; con '/'
+; Pueden usarse variables declaradas en la
+; seccion 'variables' colocadas entre '#'
+;  * Nota: los nombres de las variables son case sensitive
+; Requiere los valores:
+;	* source1: primer fichero origen
+;	* target1: primer destino
+;	* source2: segundo fichero origen
+;	* target2: segundo destino
+;	...
+;	* source{n}: 'n' fichero origen
+;	* target{n}: 'n' destino
+[CopyRequiredFiles]
+source1 = #GVSIG_INSTALL_PATH#/lib/msvcp71.dll
+target1 = #JAVA_HOME#/bin/
+
+source2 = #GVSIG_INSTALL_PATH#/lib/msvcr71.dll
+target2 = #JAVA_HOME#/bin/
+
+source3 = #GVSIG_INSTALL_PATH#/lib/jmrsid.dll
+target3 = #JAVA_HOME#/bin/
+
+source4 = #GVSIG_INSTALL_PATH#/lib/lti_dsdk_cdll.dll
+target4 = #JAVA_HOME#/bin/
+
+source5 = #GVSIG_INSTALL_PATH#/lib/lti_dsdk_dll.dll
+target5 = #JAVA_HOME#/bin/
+
+
+source6 = #GVSIG_INSTALL_PATH#/lib/jecwcompress.dll
+target6 = #JAVA_HOME#/bin/
+
+source7 = #GVSIG_INSTALL_PATH#/lib/jecw.dll
+target7 = #JAVA_HOME#/bin/
+
+source8 = #GVSIG_INSTALL_PATH#/lib/NCScnet.dll
+target8 = #JAVA_HOME#/bin/
+
+source9 = #GVSIG_INSTALL_PATH#/lib/NCSEcwC.dll
+target9 = #JAVA_HOME#/bin/
+
+source10 = #GVSIG_INSTALL_PATH#/lib/NCSEcw.dll
+target10 = #JAVA_HOME#/bin/
+
+source11 = #GVSIG_INSTALL_PATH#/lib/NCSUtil.dll
+target11 = #JAVA_HOME#/bin/
+
+
+
+source12 = #GVSIG_INSTALL_PATH#/lib/gdal.dll
+target12 = #JAVA_HOME#/bin/
+
+
+source13 = #GVSIG_INSTALL_PATH#/lib/jgdal060.dll
+target13 = #JAVA_HOME#/bin/
+
+source14 = #GVSIG_INSTALL_PATH#/lib/glut32.dll
+target14 = #JAVA_HOME#/bin/
+
+source15 = #GVSIG_INSTALL_PATH#/lib/jpeg62.dll
+target15 = #JAVA_HOME#/bin/
+
+source16 = #GVSIG_INSTALL_PATH#/lib/libimage.dll
+target16 = #JAVA_HOME#/bin/
+
+source17 = #GVSIG_INSTALL_PATH#/lib/libpng13.dll
+target17 = #JAVA_HOME#/bin/
+
+source18 = #GVSIG_INSTALL_PATH#/lib/libtiff3.dll
+target18 = #JAVA_HOME#/bin/
+
+source19 = #GVSIG_INSTALL_PATH#/lib/zlib1.dll
+target19 = #JAVA_HOME#/bin/
+
+source20 = #GVSIG_INSTALL_PATH#/lib/CrsJniProj.dll
+target20 = #JAVA_HOME#/bin/
+
+source21 = #GVSIG_INSTALL_PATH#/lib/proj.dll
+target21 = #JAVA_HOME#/bin/
+
+
+; En esta seccion se pueden definir valores
+; que se pueden utilizar en el parametro 'command'
+; o en la copia de los ficheros
+;  * Nota: los nombres son case sensitive
+[Variables]
+GVSIG_INSTALL_PATH = $INSTALL_PATH
+
+[EnvironVariables]
+PROJ_LIB=$INSTALL_PATH/bin/gvSIG/extensiones/org.gvsig.crs/data
+
+
+; En esta seccion se indican las rutas a directorios o ficheros
+; que se quieran incluir en el classpath. Pueden ser rutas a Directorios,
+; en cuyo caso deben de acabar en '/', o rutas a ficheros, pudiendo usar
+; los comodines '*' y '?'
+; Pueden usarse variables declaradas en la
+; seccion 'variables' colocadas entre '#'
+;  * Nota: los nombres de las variables son case sensitive
+;  Por Ejemplo:
+; path1=C:\Program Files\gvSIG_1/bin/lib/
+; path2=#INSTALL_PATH#/bin/lib/*.jar
+; path3=#INSTALL_PATH#/bin/andami.jar
+[classpath]
+path1=$INSTALL_PATH/bin/andami.jar
+path2=$INSTALL_PATH/bin/lib/*.jar
+path3=$INSTALL_PATH/bin/lib/*.zip
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gpl.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gpl.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/gpl.txt	(revision 32773)
@@ -0,0 +1,125 @@
+	GNU GENERAL PUBLIC LICENSE
+	Version 2, June 1991
+
+	 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+		Preamble
+
+	The licenses for most software are designed to take away your freedom to share and change it.  By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.  This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it.  (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.)  You can apply it to your programs, too.
+
+	When we speak of free software, we are referring to freedom, not price.  Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+	To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+	For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have.  You must make sure that they, too, receive or can get the source code.  And you must show them these terms so they know their
+rights.
+
+	We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+	Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software.  If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+	Finally, any free program is threatened constantly by software	patents.  We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.  To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+	The precise terms and conditions for copying, distribution and modification follow.
+
+				GNU GENERAL PUBLIC LICENSE
+	TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+	0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.  The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.  (Hereinafter, translation is included without limitation in the term "modification".)  Each licensee is addressed as "you".
+
+	Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.  The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1.	You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2.	You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+c)	If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.  (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.  But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3.	You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+c)	Accompany it with the information you received as to the offer to distribute corresponding source code.  (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it.  For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.  However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4.	You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.  Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5.	You are not required to accept this License, since you have not signed it.  However, nothing else grants you permission to modify or distribute the Program or its derivative works.  These actions are prohibited by law if you do not accept this License.  Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6.	Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to this License.
+
+7.	If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.  If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.  For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.  Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8.	If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded.  In such case, this License incorporates the limitation as if written in the body of this License.
+
+9.	The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.  Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.  If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10.	If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.  For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this.  Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11.	BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12.	IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program.  It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+<one line to give the program's name and a brief idea of what it does.> Copyright (C) <year>  <name of author>
+
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.  Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary.  Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs.  If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library.  If this is what you want to do, use the GNU Library General Public License instead of this License.
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cze
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cze	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_cze	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/win_shortcut_spec.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/win_shortcut_spec.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/win_shortcut_spec.xml	(revision 32773)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+
+<shortcuts>
+
+	<skipIfNotSupported/>
+	<programGroup 	defaultName="Gva/gvSIG"
+									location="applications"/>
+	<shortcut	name="gvSIG"
+						target="$INSTALL_PATH/bin/gvSIG.exe"
+						workingDirectory="$INSTALL_PATH/bin"
+						description="gvSIG application"
+						iconFile="$INSTALL_PATH/bin/ico-gvSIG.ico"
+						iconIndex="0"
+						initialState="normal"
+						programGroup="yes"
+						desktop="yes"
+						applications="no"
+						startMenu="yes"
+						startup="no">
+		<createForPack name="gvSIG program"/>
+	</shortcut>
+		
+   	<shortcut	name="User Manual"
+				target="$INSTALL_PATH\user-doc\user-doc-0.3.pdf"
+		     	programGroup="yes"
+				desktop="no"
+				applications="no"
+				startMenu="no"
+				startup="no"
+				iconFile="$INSTALL_PATH\bin\help.ico"
+				commandLine=""
+				description="Documentation">  
+     <createForPack name="Documentation" />
+   </shortcut>
+   
+	<shortcut
+         name="Uninstall gvSIG"
+         programGroup="yes"
+         desktop="no"
+         applications="no"
+         startMenu="no"
+         startup="no"
+         type="Application"
+         encoding="UTF-8"
+         target="$INSTALL_PATH\bin\uninstall.bat"
+         commandLine=""
+         workingDirectory=""
+         description="Uninstall gvSIG"
+         iconIndex="0"
+         iconFile="$INSTALL_PATH\bin\uninstall.ico"
+         initialState="noShow">
+	</shortcut>
+   
+</shortcuts>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_val
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_val	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_val	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_spa
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_spa	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/win-distribution/resources/userInputLang.xml_spa	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/Logo-gvSIG.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/Logo-gvSIG.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/Logo-gvSIG.gif
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/Logo-gvSIG.gif	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/Logo-gvSIG.gif	(revision 32773)
@@ -0,0 +1,5 @@
+P7 332
+#IMGINFO:270x272 Indexed (13326 bytes)
+#END_OF_COMMENTS
+59 60 255
+I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$IÛ¶Ú·$IHI$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HIÿúúþûú(EIÚ·¶ºE(IEÛ¶ºÖ%H)I×ºÖ¶%HII$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶þúúþúúúúúùúöúùúÚÖ»$IHE»Öº·$IHI×º¶·D)HI$IIÛ¶¶¶IH%IÛ¶¶Ú%HÿúÿùûùûùúùúöùúÙöùúùöùúõ)I$ÛÖ»¶$IIH·Ú·¶D)IÛ¶¶¶I$IIÛ¶¶Ú%H%IÿþúúúúùúõúôÚõùôöùõùÕúõùöùùö¶(IE)Ú·Öº$IIEº×ºÛ¶¶¶I$IIÛ¶¶Ú%H%ÿþúúùöùõùÕôõôõôÕôõôùÕôöøöùõÙöù$II×º¶¶I$IIÛ¶¶Û¶¶¶I$IIÛ¶¶Ú%þûùúúùõõôÙðùôõÔõôõôÕôõôõÔùõôöùõÙõú)Ö»Ö¶)DI)ÛÖ¶Û¶¶¶I$IIÛ¶¶ÚûùûùÙõõôõØñøõôõÔõôõôÕôõôôÕøñùôõÕùõôú¶¶·ºDI%IÚ·ºI$IIÛ¶¶¶IH%ÿúùúùõôÕôõôõôÕôôõôÙðùôõÔõôõôÕôõôõøÑÕÕÕ%HIÛ¶¶×(E(I$IIÛ¶¶¶IþûùúùõõôÕôõôõØñøõôÕôõôôõÔõôõôÕøñøõÔõ±±‘ŒûÕÿÿÿÿÿûµ¶I$IIÛ¶¶¶ÿúþúöøõÕôõôõôÕøðùôÕôõôõÔõôõôõÔõôøñØõÑ±‘�mIÚÿÿÿÿû¶l)I$IIÛ¶¶¶þúúúôõõÔõôùðøÕôõôõÔõôõôÕôõôùÐøõôõôÕô²�Žh)IIùÿÛ¶’i(IÛ¶¶¶I$IúúúÙõõôõøÑøõôõÔõôõôÕôôõôõÔùðùôÕôõôõÔÕ±�m¶·Öº¶Ñ»mIÛ¶ÖÛ¶¶¶I$ÿÖùúõøõÔõôõôÕôôõôÕôõôõØñøõôõÔõôôõÔõôõµ��m)Ö»Ö¶$ÖMEÚ·ºÛ¶¶¶I$ÿÕúôõÕôõôøñØõôõôÕôõôõÔõôõôØñøõôõÔõôõÔ²ŒnÚ$Û¶·Ú$—$IÛ¶¶Û¶¶¶IúúÕõÙôõôõÔõôõôÔõôõôõØñøõôÕôõôõÔôõôõÔõÕ‘�iºEº×º¶ÛSº$Û¶ÛI$IIÛùú±õôÕôõøñØôõôõÔõôõôõÔõôõôÙðøõôÕôõôõÕ°ŽqÖ·Ú$I%H»w.Ú%H)I$IIþöù�ÔÑÔÑô°õ°ñ´ðµðÕÐÔÑÔÑÔÑÐÔÑÔÑÔÐÕÐÕÐÑ°‘mi’mÛ$I$ß—s¶$III$IIúùú¬ùðÙôôõôõÔõôõôÕôõôùÐùôôõôÕôõôõÔõôÕ±±m’¶Ú·$I»·–3RNH)EI$Iÿùõù­ôÕôùðùôÔõôõôÕôõôõÔõôùðùÔôõôõÔõôõÕ‘��º×¶º$Û——vQOÚ$IÛ¶¶ùúõù�ôõôøñØõôõôÕôõôõôÕôõôôÙðùôõÔõôõôÕÑ±qiHIÛ$Û›·vSNR’Ö»Û¶¶ùúõõ�ôõõÿÿÿÿôÕÿôõôúúÔôõôõØñøõôÔõôõôÕõ°²lnHEÛ(»——RSNRNÖºÛ¶¶ùöùô�øöÿôõøÿÐùÿõôõÿÔõøñøÕôõôõôÕôôõôÕÕÑ‘mÖ$I»·š“w22RNQ×ºÛ¶ùúõùÕ¬ôÿÿðØñÿôõùÿÐøÿôõôÕôõôõôÔõôõôÕøñÕ±‘�ºE(×›’Wr/1oQ·¶I$þõúôõŒøûÿôôõÿÔõôÿôúÿôÔõôõôÕôõôôÕôõôùÐÕ±‘�I·Úr—rW2/1oM’(I$þõõùô�ôÿÿðøñÿÔõôÿùÿôõÔõôõôÕôõøñØõôôõÔÒ´®�%Û¶wrw232nMr%I$þõõùð�õúÿôõôÿÔõôùÿÿôÕôõôõôÕôôõôÕøñøõÔÑÕ�‘I×ºRsR22NrIII$úùõôõ�õôùÿÿÿÿðùÔõÿúôõôÕôùðùÔõôõôÔõôõôÕ±±±)Ö»R3R.rNIHÛ¶ôúõÔõ°ôÕôõôõÿ°$õôùðùÔd)ôõôõøÑ°Õ·$IS2.rNIÛÛ¶ôúôÕô­øÕôõôõÿhøÑhhùôõÔõh ùôõôÕÔŒõøñÕ°¶Ö$I—232nMNÖÛ¶ôúôÕô­øÕôûùÿ×øñøõÔõôõôÔõh$õôõôÙˆùôõÐõµÑ•EH·2/22SMNmÛÛ¶ôõùÕô¬õØöùúùhøõôõôÔõôùðÙd$ùôõôõ$$øõôõÔÑÕ±)DÛRNS2.RNMnÚI$ùõùôõŒõôõøÑø­øõôõôÕôõôôÕh$õôõøñ($ôõôõÔõÕ±Û¶Ú¶NRNS2.RNMŽ(I$ùõõøñ�ôõôõÔõômôõôøñØõôõH ùôõôõ$$øõÐD%ø±Õ·¶Ú—MnRN3mNN±)I$þðùõô�øðùôÕôõô�ŒõôõÔôùðI$øõôõô$$ùôõDHõÕÐß×¶(·MNr.rNIßDI$ÿôõôõ�õôôõÔõôõôÕ°�ôôÕôõhõôõøñ($ôõôõøõÕÐ¶¶×(E(sRNRmND)Û¶¶ôõôÕ°õôôÕôõôõÔõôùÐõôõôÕh$øõôõÔD%øõôôõôÕÑ±»D»Öº·ÖNmNÖ¶Û¶¶ôÕôõŒøõôõôÕôõôõÔõôõôÔõôI$ôùðùô$$õôùðùôÕÑ‘‘E»Öº¶EWMNmÛ¶Û¶¶úÔôõŒõôõôÙðŒõÔõô±øõôõôH!øôõôõlõôõøñôµ±�’Ú·¶Ö¿—.rMû¶¶Û¶¶¶ôÕõŒøñøõôÕô$�ôõôõôH%øõôôõÔ! $õ‘‘�i(Û¶Û»s2mNÖ¶»I$IIõÔÕ¬õôÕôøñøõDùôõÔõôHDùôõôõÔÑÕ�‘m²¶)û›¶WNmIII$I$IIúÕÔ�ôõôõôÕôùðøÕôõôõôÕôõôõÔõôùðØõôõôÕõ°²lŽmÚ·$»»r3mNú%H)I$IIÛÐÕŒôõôùÐùôõôÕôõôõÔõôôõÔùðùôõÔõôõôÕô±±‘�IÛ¶Ú——–3mNIÚ%HII$IIÛÚÐ�øñØõôõôÕôõôõÔõôôõÔõøñøÕôõôõôÕôÕÑ±‘�m¶Û¶»–s2rINÿ¶D)IÛ¶¶¶I$úˆÙÐõôõÔùðùôÕôõôõÔõôôõôÕôùðùÔõôÕÑ±‘m�Û$I¶›“2RIN�)HÛ¶·Û¶¶¶I$Ii��Œ�¬�­ŒŒ°�¬Œ‘¬Œ±ŒŒ¬‘¬Œ‘¬Œ­�Œ��HiMiÛ$Ir’mNNh)IIÖ»¶Û¶¶¶I$I¶±±ÕÑÔõôÕôõôùðÙôôõôÕôõôõÔõôõÔõ‘�‘mm×¶HÛwRNNmIÿ)D)ÛÖ¶Û¶¶¶I$IIÖ‘±µÑôÕôõôÕôõôõÔõøðùôÕôõôõÔÕÑ�m‘i»¶Ö(—S.mNmÛ$I(EÛº×I$IIÛ¶¶¶I¶±‘Ñ´ñÕôõÔùðùôÕôõôôõÔõôõÔõ±‘��rDI)H×W.mNIÚ$Û¶·¶HI%I$IIÛ¶¶¶IH%±‘±ÕÑÕôÕôõôõÔôõôõØñøõôÕÑ‘�mmÖ)D)I›.NmIII(×Ú·¶$III$IIÛ¶¶¶IH%Û�®´²ÔñÔõôùÐùôõôÕôõôôÕõ±‘m�¶×(I$IWNMjß$ID»Ú·¶$III$IIÛ¶¶¶IH%Iÿ�‘�µÑÔÑõÔõôÕøñøôõÔõôÑ’Œr�¶Û$I(ESMM×(EIHÛ¶·¶H)EÛ¶¶¶I$IIÛ¶¶Ú%H’�‘�±µÑ±ôÕÕôõÔõôõÔõ±‘�i(II×º¶—M’$IÛ¶¶Û$I(EÛ¶ÚÛ¶¶¶I$IIÛ¶¶Ú%H%ÿm�‘�‘­•Ñ±ÕÑÔ±õµÑÔŽ�JHIE(ÛÖ·qÿ%HIÛ¶¶·H)DIÛ¶¶Û¶¶¶I$IIÛ¶¶Ú%H%IÛ¶�m‘�m‘­‘‘�±‘±�‘�m‘EI(IÛúú¶$I)EÚ»Ö¶$II)×Ú¶Û¶¶¶I$IIÛ¶¶Ú%H%IÛ¶ÚÛ¶m�m�m‘�m��q�m��‘)úÿÿÿh»E(II×º¶Ö%H)IÛ¶¶I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶ÚÛ‘mim�q�mimm·Ú×´û»±%HÛ¶»¶D)IDÛº·Ö$I)I$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶²‘m$IÛ¶¶Û$I(EÛ¶Û¶$III$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶Iÿ$%ÛÚ¶¶%HII·Ú¶·H%HI$IIÛ¶¶¶IH%IÛ¶¶Ú%HI%Û¶Ú¶%HII·Ú¶¶%HIIÛ¶¶¶I$IIÛ¶¶Û$I$IÛ¶Ú·$IH
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/help16x16.png
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/help16x16.png	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/help16x16.png	(revision 32773)
@@ -0,0 +1,5 @@
+P7 332
+#IMGINFO:16x16 RGB (925 bytes)
+#END_OF_COMMENTS
+16 16 255
+I$IIÿÿßûßÿû(×º·¶I$IÿÿßÖ·(ÿÿÛÿ¶·ÚI$ÿÿ¶ÿ¿»ß»ÿÿÛÿ¶¶IÿßÛ»—»Ú·w—Ûÿ»ÿ¶ÿÿßssÛÿºÿÛOwÚÛÛ$ÿÿ—Snß“.“ÿrO—ÿ¶ÿÿÿOR+R+N—ÿNSNÿ¶ûÿÛO.N/Nsÿ–+NRû»¶ÿßK2J/Nÿ·..ONûš×ÿÿO.N/nßN/J/rÿ’Úÿß·*O.Ns.O.J»ÿmßIßûrO.nÿs.Nsþ·‘ÿÛÚÿÛ—.n—NN—ûºŽÞ%Û¶ÛÚÿÛ–·¶ßû»mÚû)Û¶¶ÿ¶»Ûúß·‘’Ûú)%Û¶¶¶ÿÛ¶¶’¶Ûþ%H)E
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall16x16.png
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall16x16.png	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall16x16.png	(revision 32773)
@@ -0,0 +1,5 @@
+P7 332
+#IMGINFO:14x16 RGB (630 bytes)
+#END_OF_COMMENTS
+14 16 255
+ÿÿÿmnmmIImI’‘ÿÿÿ$’nµ’’¶’’‘’$ÿÿ$J‘m’’¶‘nm’mÿÿI‘’n‘’¶ÛÚÿÛ‘ÿÿImmnm¶Û¶ÛÚÿmÿÿmn‘’m’Û¶¶ÿ¶’ÿÿ’HnmI¶Û¶Úÿ’¶ÿÿ¶ImmJµÿ·¶ÿmÿÿÿ¶mn‘n¶ÛÚÛ¶mÿÿÿÛH’m’nÿÚ¶Û‘ÿÿÿÿ$’n‘’ÿ¶ÛÚmÿÿÿÿI’m’‘ÿ·ÚÚnÿÿÿÿm’m’’ÿÚÛ’‘ÿÿÿÿm’’m’ÿÚ·¶¶ÿÛÚ¶’$nH’’’mmÿÿ¶·Ú¶Ûµ“‘’ÚÛÿÿÿ
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/.xvpics/uninstall1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.GIF
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.GIF
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.JPG
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.JPG
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/papelera.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/papelera.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/Logo_gvsig_gva.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/Logo_gvsig_gva.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/help.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/uninstall1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/images/ico-gvSIG16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputSpec.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputSpec.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputSpec.xml	(revision 32773)
@@ -0,0 +1,21 @@
+<userInput>
+	<panel order="0">
+		<field 	type="search" 
+				variable="INSTALL_PATH"
+				size="45">
+  			<description align="left" />
+  			<spec 	txt="Path to gvSIG:" 
+		  			id="text.label"
+  					checkfilename="bin/andami.jar"
+        			type="directory" 
+        			result="directory">
+  			<choice value="/usr/local/gvSIG_1.0" os="unix" />
+  			<choice value="/opt/gvSIG_1.0" os="unix" />
+  			<choice value="$USER_HOME/gvSIG_1.0" os="unix" />
+  			<choice value="C:\Archivos de Programa\gvSIG_1.0" os="windows" />
+  			<choice value="C:\Program Files\gvSIG_1.0" os="windows" />
+  			</spec>
+		</field>
+	</panel>
+</userInput>
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/launcher.ini.j15
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/launcher.ini.j15	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/launcher.ini.j15	(revision 32773)
@@ -0,0 +1,36 @@
+
+## Ruta al achivo Jar a lanzar
+jar = %JARNAME%
+
+
+
+## Parametros a incluir al lanzar el Jar
+jarParams =
+
+
+
+## Lanzar el Jar en ansincrono o no:
+##     * si(se lanza el java y finaliza el lanzador):S SI YES Y 1
+##     * no(el lanzado se espera a que termine la ejecucion del java):{distinto de los anterirores}
+launchJarAsync = NO
+
+## Version de JRE requerida
+jre_version = 1.5.0_12
+## Si existen varias JRE de la requerida, cual es la preferida (si esta)
+jre_version_prefered = 1.5.0_12
+
+
+## Descarga remota
+## 	* los valores valido de downloadEnabled son:
+##		- habilitado: S SI YES Y 1
+##		- deshabilitado: {distinto de los anteriores}
+downloadEnabled = 1
+
+
+## Path del instalable del jre (si no existe y estan
+##	habilitadas las descargas, lo dejara aqui)
+jre = j2re-1_5_0_12-linux.tar.gz
+downloadJre = http://www.gvsig.org/runtime/j2re-1_5_0_12-linux.tar.gz
+installJreCmd =./install_jre.sh
+installedJreJavaFile = $HOME/gvSIG/jre/1.5.0_12/bin/java
+installedJreRootDirectory =$HOME/gvSIG/jre
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/install.sh
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/install.sh	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/install.sh	(revision 32773)
@@ -0,0 +1,8 @@
+#!/bin/sh
+# This is used at installation time, in order to perform some extra actions
+# that the installer is not able to do
+
+chmod +x "$INSTALL_PATH"/bin/gvSIG.sh
+chmod +x "$INSTALL_PATH"/Uninstaller/uninstall.sh
+[ -a "$USER_HOME"/gvSIG ] || mkdir -p "$USER_HOME"/gvSIG
+[ -a "$USER_HOME"/gvSIG/andami-config.xml ] || cp "$INSTALL_PATH"/bin/andami-config.xml "$USER_HOME"/gvSIG/andami-config.xml
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_por
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_por	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_por	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/uninstall.sh
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/uninstall.sh	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/uninstall.sh	(revision 32773)
@@ -0,0 +1,2 @@
+#!/bin/sh
+$JAVA_HOME/bin/java -jar "$INSTALL_PATH/Uninstaller/uninstaller.jar"
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cat
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cat	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cat	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/unix_shortcut_spec.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/unix_shortcut_spec.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/unix_shortcut_spec.xml	(revision 32773)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+
+<shortcuts>
+	<programGroup 	defaultName="Gva/gvSIG"
+					location="applications"/>
+					
+   <shortcut	name="gvSIG User Manual" 
+   				programGroup="no" 
+   				desktop="no" 
+   				applications="no" 
+   				startMenu="yes" 
+   				startup="no" 
+   				target="acroread" 
+   				workingDirectory="" 
+   				commandLine="$INSTALL_PATH/doc/user/user-doc-0.3.pdf" 
+   				initialState="noShow" 
+   				iconFile="$INSTALL_PATH/bin/help.png" 
+   				iconIndex="0" 
+   				url="$INSTALL_PATH/doc/user/user-doc-0.3.pdf" 
+   				type="Application" 
+   				encoding="UTF-8" 
+   				description="gvSIG user documentation (PDF format)"> 
+   				<createForPack name="Documentation"/> 
+   	</shortcut>
+   	<shortcut	name="gvSIG"
+				programGroup="yes"
+				desktop="yes"
+				startMenu="yes"
+				applications="no"
+				startup="no"
+				target="$INSTALL_PATH/bin/gvSIG.sh"
+				workingDirectory="$INSTALL_PATH/bin"
+				initialState="normal"
+				iconFile="$INSTALL_PATH/bin/ico-gvSIG.png"
+				iconIndex="0"
+				type="Application"
+				encoding="UTF-8"
+				description="gvSIG application">
+		<createForPack name="gvSIG program"/>
+	</shortcut>
+   <shortcut	name="gvSIG Uninstaller"
+				programGroup="yes"
+				desktop="yes"
+				applications="no"
+				startMenu="yes"
+				startup="no"
+				target="$INSTALL_PATH/Uninstaller/uninstall.sh"
+				initialState="normal"
+				iconFile="$INSTALL_PATH/bin/uninstall.png"
+				iconIndex="0"
+				workingDirectory="$INSTALL_PATH/Uninstaller"
+				type="Application"
+				encoding="UTF-8"
+				description="gvSIG uninstaller">
+		<createForPack name="gvSIG program" />
+	</shortcut> 
+</shortcuts>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_fra
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_fra	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_fra	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_eng
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_eng	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_eng	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gvSIG.sh
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gvSIG.sh	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gvSIG.sh	(revision 32773)
@@ -0,0 +1,16 @@
+#!/bin/sh
+# gvSIG.sh
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$INSTALL_PATH/libs/"
+export PROJ_LIB="$INSTALL_PATH/bin/gvSIG/extensiones/org.gvsig.crs/data"
+cd "$INSTALL_PATH/bin"
+#java -Djava.library.path=/usr/lib:"$INSTALL_PATH/libs" -cp andami.jar:./lib/gvsig-i18n.jar:./lib/beans.jar:./lib/log4j-1.2.8.jar:./lib/iver-utiles.jar:./lib/castor-0.9.5.3-xml.jar:./lib/crimson.jar:./lib/xerces_2_5_0.jar:./lib/javaws.jar:./lib/xml-apis.jar:./lib/looks-2.0.2.jar:./lib/JWizardComponent.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/jogl.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/gluegen-rt.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-core-1.0-SNAPSHOT.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-features-1.0-SNAPSHOT.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-planets-1.0-SNAPSHOT.jar:./gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-viewer-1.0-SNAPSHOT.jar -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones $1
+
+for i in ./lib/*.jar ; do
+  LIBRARIES=$LIBRARIES:"$i"
+done
+for i in ./lib/*.zip ; do
+  LIBRARIES=$LIBRARIES:"$i"
+done
+
+$JAVA_HOME/bin/java -Djava.library.path=/usr/lib:"$INSTALL_PATH/libs" -cp andami.jar$LIBRARIES -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones "$@"
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/LEEME.html
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/LEEME.html	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/LEEME.html	(revision 32773)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<style type="text/css">
+html, body, h1, h2, h3, h4, div, p, ul, li, input {
+   font-family: Arial, Helvetica, sans-serif;
+}
+
+h1 {
+   font-size: large;
+}
+
+h2 {
+   font-size: large;
+}
+
+h3 {
+   font-size: medium;
+}
+</style>
+</head>
+<body>
+<h1>gvSIG, el SIG en software libre de la Generalitat Valenciana
+(http://www.gvsig.gva.es).</h1>
+
+<h2>Autores:</h2>
+<ul>
+<li>Generalitat Valenciana
+ (Conselleria d'Infraestructures i Transport).</li>
+<li>Iver Tecnolog&iacute;as de la Informaci&oacute;n S.A.</li>
+</ul>
+
+<p>Software con licencia GNU/GPL
+(http://www.fsf.org/licensing/licenses/gpl.html)</p>
+
+<p>Contacto:
+	gvsig@gva.es<p>
+
+<h2>Requisitos de la aplicaci&oacute;n:</h2>
+<h3>Sistema</h3>
+<ul>
+<li>M&iacute;nimos: Pentium IV / 512 MB RAM / Targeta grafica compatible con OpenGL 1.5</li>
+<li>Recomendables: Pentium IV / 1 GB RAM / Targeta Grafica compatible con OpenGL 2.0</li>
+<li>Sistemas operativos: plataformas Windows y Linux.
+ Probado en XP, Ubuntu Linux y Mac OS X.</li>
+</ul>
+
+<h3>Software instalado</h3> (disponible en http://www.gvsig.gva.es o en http://java.sun.com)
+<ul>
+<li>M&aacute;quina Virtual Java 1.5.</li>
+<li>JAI (Java Advanced Imaging).</li>
+<li>JAI Image I/O.</li>
+</ul>
+
+<p style="text-align:justify">Nota: Las librer&iacute;as JAI y JAI Image I/O deben estar instaladas sobre la M&aacute;quina Virtual Java que gvSIG utilice en su ejecuci&oacute;n. Si se instala una nueva JVM en el sistema y se usa para ejecutar gvSIG ser&aacute; indispensable instalar las librer&iacute;as sobre &eacute;sta (gvSIG se ejecuta con la JVM que tenga por defecto el sistema operativo; para saber cu&aacute;l es, ejecutar <span style="monospace">"java&nbsp;-version"</span> en un interfaz de comandos o consola).</p>
+
+<h2>M&aacute;s informaci&oacute;n y soporte en:</h2>
+<h3> Web oficial del proyecto:</h3>
+	http://www.gvsig.gva.es
+
+<h3>Listas de distribuci&oacute;n:</h3>
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios</span> (soporte para usuarios).
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores</span> (soporte para desarrolladores).
+<span style="monospace"> http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional</span> (soporte para desarrolladores o usuarios de habla no hispana).
+
+</body>
+</html>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/andami-config.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/andami-config.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/andami-config.xml	(revision 32773)
@@ -0,0 +1,5 @@
+<andami-config locale-language="$ISO3_LANG" pluginsDirectory="gvSIG/extensiones">
+	<andami update="yes"/>
+        <plugin name="com.iver.cit.gvsig" update="yes"/>
+        <plugin name="com.iver.core" update="no"/>
+</andami-config>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_deu
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_deu	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_deu	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_ita
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_ita	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_ita	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gpl.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gpl.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/gpl.txt	(revision 32773)
@@ -0,0 +1,125 @@
+	GNU GENERAL PUBLIC LICENSE
+	Version 2, June 1991
+
+	 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+		Preamble
+
+	The licenses for most software are designed to take away your freedom to share and change it.  By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.  This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it.  (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.)  You can apply it to your programs, too.
+
+	When we speak of free software, we are referring to freedom, not price.  Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+	To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+	For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have.  You must make sure that they, too, receive or can get the source code.  And you must show them these terms so they know their
+rights.
+
+	We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+	Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software.  If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+	Finally, any free program is threatened constantly by software	patents.  We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.  To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+	The precise terms and conditions for copying, distribution and modification follow.
+
+				GNU GENERAL PUBLIC LICENSE
+	TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+	0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.  The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.  (Hereinafter, translation is included without limitation in the term "modification".)  Each licensee is addressed as "you".
+
+	Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.  The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1.	You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2.	You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+c)	If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.  (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.  But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3.	You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+c)	Accompany it with the information you received as to the offer to distribute corresponding source code.  (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it.  For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.  However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4.	You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.  Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5.	You are not required to accept this License, since you have not signed it.  However, nothing else grants you permission to modify or distribute the Program or its derivative works.  These actions are prohibited by law if you do not accept this License.  Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6.	Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to this License.
+
+7.	If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.  If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.  For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.  Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8.	If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded.  In such case, this License incorporates the limitation as if written in the body of this License.
+
+9.	The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.  Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.  If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10.	If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.  For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this.  Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11.	BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12.	IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program.  It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+<one line to give the program's name and a brief idea of what it does.> Copyright (C) <year>  <name of author>
+
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.  Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary.  Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs.  If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library.  If this is what you want to do, use the GNU Library General Public License instead of this License.
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cze
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cze	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_cze	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/win_shortcut_spec.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/win_shortcut_spec.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/win_shortcut_spec.xml	(revision 32773)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+
+<shortcuts>
+
+	<skipIfNotSupported/>
+	<programGroup 	defaultName="Gva/gvSIG"
+									location="applications"/>
+	<shortcut	name="gvSIG"
+						target="$INSTALL_PATH/bin/gvSIG.exe"
+						workingDirectory="$INSTALL_PATH/bin"
+						description="gvSIG application"
+						iconFile="$INSTALL_PATH/bin/ico-gvSIG.ico"
+						iconIndex="0"
+						initialState="normal"
+						programGroup="yes"
+						desktop="yes"
+						applications="no"
+						startMenu="yes"
+						startup="no">
+		<createForPack name="gvSIG program"/>
+	</shortcut>
+		
+   	<shortcut	name="User Manual"
+				target="$INSTALL_PATH\user-doc\user-doc-0.3.pdf"
+		     	programGroup="yes"
+				desktop="no"
+				applications="no"
+				startMenu="no"
+				startup="no"
+				iconFile="$INSTALL_PATH\bin\help.ico"
+				commandLine=""
+				description="Documentation">  
+     <createForPack name="Documentation" />
+   </shortcut>
+   
+	<shortcut
+         name="Uninstall gvSIG"
+         programGroup="yes"
+         desktop="no"
+         applications="no"
+         startMenu="no"
+         startup="no"
+         type="Application"
+         encoding="UTF-8"
+         target="$INSTALL_PATH\bin\uninstall.bat"
+         commandLine=""
+         workingDirectory=""
+         description="Uninstall gvSIG"
+         iconIndex="0"
+         iconFile="$INSTALL_PATH\bin\uninstall.ico"
+         initialState="noShow">
+	</shortcut>
+   
+</shortcuts>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_val
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_val	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_val	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_spa
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_spa	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/resources/userInputLang.xml_spa	(revision 32773)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/distribution-linux.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/distribution-linux.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/distribution-linux.xml	(revision 32773)
@@ -0,0 +1,54 @@
+<assembly>
+	<id>distribution</id>
+	<formats>
+		<format>dir</format>
+	</formats>
+	<includeBaseDirectory>true</includeBaseDirectory>
+
+	<!-- baseDirectory>d:/java/distri</baseDirectory-->
+	<fileSets>
+		<!-- Extructure for the extension -->
+		<fileSet>
+			<directory>/config</directory>
+			<outputDirectory>
+				/linux/bin/${extension-distribution}
+			</outputDirectory>
+		</fileSet>
+		<fileSet>
+			<directory>/images</directory>
+			<outputDirectory>
+				/linux/bin/${extension-distribution}/images
+			</outputDirectory>
+		</fileSet>
+
+	</fileSets>
+	<!--files>
+		<file>
+			<source>build.number</source>
+			<outputDirectory>
+				/linux/bin/${extension-distribution}
+			</outputDirectory>
+		</file>
+	</files-->
+	<!-- *********************************************************************** -->
+	<!-- *													   *-->
+	<!-- ***********************************************************************-->
+	<dependencySets>
+		<dependencySet>
+			<outputDirectory>
+				/linux/bin/${extension-distribution}/lib/
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:extAnimationGUI</include>
+			</includes>
+		</dependencySet>
+		<dependencySet>
+			<outputDirectory>
+				/linux/bin/${gvsig-extension-distribution}/lib
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:libAnimation</include>
+			</includes>
+		</dependencySet>
+	</dependencySets>
+</assembly>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/build.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/build.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/build.xml	(revision 32773)
@@ -0,0 +1,36 @@
+<project name="instalador-gvSIG" default="init" basedir=".">
+	<!--
+	<property name="dir_inst" location="C:\Archivos de programa"/>
+	<property name="base_dir" location="./"/>		
+	<property name="dir_libs" location="C:\Archivos de programa\IzPack\lib"/>
+	<property name="vers" location="0.6"/>
+	<property name="izpack_dir" location="C:\Archivos de programa\IzPack"/>
+	-->
+	
+	<property name="dir_inst" location="/usr/local"/>
+	<property name="base_dir" location="./"/>		
+	<property name="izpack_dir" location="../../../build/distribution/IzPack/"/>
+	<property name="dir_libs" location="${izpack_dir}/lib"/>
+	<property name="INSTALL_FILE" location="install.xml"/>
+	
+	<taskdef name="izpack" classpath="${dir_libs}/compiler.jar" classname="com.izforge.izpack.ant.IzPackTask"/>
+	
+	<target name="init">
+		<izpack input="${INSTALL_FILE}" 
+				output="${JARNAME}" 
+				installerType="standard" 
+				basedir="${base_dir}" 
+				izPackDir="${izpack_dir}/"/>
+	</target>
+	
+	<target name="clean">
+		<delete>
+			<fileset dir=".">
+			    <include name="**.zip"/>
+			</fileset>
+		</delete>
+		<delete dir="bin" />
+		<delete dir="extensions" />
+	</target>
+	
+</project>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LEEME
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LEEME	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LEEME	(revision 32773)
@@ -0,0 +1,40 @@
+gvSIG v1.0 RC1
+
+
+Requisitos de la aplicación:
+
+    - Sistema
+
+        · Mínimos: Pentium III / 256 MB RAM.
+
+        · Recomendables: Pentium 4 / 512 MB RAM.
+
+        · Sistemas operativos: plataformas Windows y Linux.
+        Probado en Win98/XP, Linux Suse 8.2/9.0/9.2 y Linux Debian(Lliurex).
+
+
+    - Software instalado (diponible en http://www.gvsig.gva.es o en http://java.sun.com)
+
+        · Máquina Virtual Java 1.4.2 (06 o superior).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+
+Nota: Las librerías JAI y JAI Image I/O deben estar instaladas sobre la Máquina Virtual Java que gvSIG utilice en su ejecución.
+
+
+Más información y soporte:
+
+    Web oficial del proyecto:
+
+        http://www.gvsig.gva.es
+
+    Listas de distribución:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (soporte para usuarios).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (soporte para desarrolladores).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (soporte para usuarios o desarrolladores de habla no hispana).
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/README
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/README	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/README	(revision 32773)
@@ -0,0 +1,40 @@
+gvSIG v1.0 RC1
+
+
+
+Application Requirements:
+
+    - System
+
+        · At least: Pentium III / 256 MB RAM.
+
+        · Recommended: Pentium 4 / 512 MB RAM.
+
+        · OSes: platforms Windows and Linux.
+        Tested in Win98/XP, Linux Suse 8.2/9.0/9.2 and Linux Debian(Lliurex).
+
+
+    - Installed Software (available in http://www.gvsig.gva.es or in http://java.sun.com)
+
+        · Java VM 1.4.2 (06 or above).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+Note: The JAI and JAI Image I/O must be installed into the same Java VM that runs gvSIG.
+
+
+Further information and support:
+
+    Official web site:
+
+        http://www.gvsig.gva.es
+
+    Mailing lists:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (users).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (developers).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (non-spanish users and developers).
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/install.sh
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/install.sh	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/install.sh	(revision 32773)
@@ -0,0 +1,4 @@
+#!/bin/bash
+[ -x /usr/bin/dirname ] && cd `/usr/bin/dirname $0`
+java -jar JARNAME
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LLIG-ME
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LLIG-ME	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/installer_files/LLIG-ME	(revision 32773)
@@ -0,0 +1,41 @@
+gvSIG v1.0 RC1
+
+
+Requisits de l'aplicació:
+
+    - Sistema
+
+        · Mínims: Pentium III / 256 MB RAM.
+
+        · Recomanables: Pentium 4 / 512 MB RAM.
+
+        · Sistemes operatius: plataformes Windows i Linux.
+        Provat en Win98/XP, Linux Suse 8.2/9.0/9.2 i Linux Debian(Lliurex).
+
+
+    - Programari instal·lat (disponible en http://www.gvsig.gva.es o en http://java.sun.com)
+
+        · Màquina Virtual Java 1.4.2 (06 o superior).
+
+        · JAI (Java Advanced Imaging).
+
+        · JAI Image I/O.
+
+
+Nota: les libreries JAI i JAI Image I/O han d'estar instal·lades sobre la Màquina Virtual Java que gvSIG utilitze en l'execució.
+
+
+Més informació í suport:
+
+    Web oficial del projecte:
+
+        http://www.gvsig.gva.es
+
+    Llistes de distribució:
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios (suport per a usuaris).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores (suport per a desenvolupadors).
+
+        http://runas.cap.gva.es/mailman/listinfo/gvsig_internacional (suport per a usuaris o desenvolupadors de parla no-hispana).
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/exec
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/exec
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/Notas_asociaciacion_archivos.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/Notas_asociaciacion_archivos.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/Notas_asociaciacion_archivos.txt	(revision 32773)
@@ -0,0 +1,123 @@
+PARA KDE: dejar un fichero '.desktop' en el directorio $HOME/.kde/share/mimelnk/application
+como este:
+
+[Desktop Entry]
+Comment=
+Hidden=false
+Icon=/x/apps/gvSIG_0.1_856/bin/ico-gvSIG.png
+MimeType=application/gvSIG
+Patterns=*.gvp;*.GVP
+Type=MimeType
+
+
+y apadir a fichero $HOME/.kde/share/config/profilerc algo asi:
+
+[application/gvSIG - 1]
+AllowAsDefault=true
+Application=kde-gvSIG.sh-3.desktop
+GenericServiceType=Application
+Preference=1
+ServiceType=application/gvSIG
+
+y el el fichero de menu ($HOME/.kde/share/applnk/.../gvSIG*.desktop)
+la entrada 'MimeType' debe estar 'IGUAL' que en el fichero que
+hemos dejado en $HOME/.kde/share/mimelnk/application
+
+
+
+Para GNOME:
+
+POR Estudiar
+
+Para FIREFOX:
+
+POR Estudiar
+
+
+
+Los archivos usados para la asociacion estan en ./resources/mime
+y los scripts que los manejan son ./resources/postinstall.sh y
+./resources/unistall.sh
+
+
+
+
+
+
+
+
+
+**************************************************************
+URL's y recortes:
+
+
+
+
+http://www.ces.clemson.edu/linux/fc4_desktop.shtml
+*********************************************************************
+File Association. At the top of the context menu for a file in Nautilus is found the 'Open with "Preferred Application" menu item. Next, is found the 'Open with' menu item, which lists all other applications which can open the file. These menu items are controlled respectively by the following files:
+
+  /usr/share/applications/defaults.list
+  /usr/share/applications/mimeinfo.cache
+
+Each line in defaults.list contains a desktop file followed by a mimetype. For example, the line
+
+  application/postscript=evince.desktop
+
+shows that Evince is the preferred application for opening postscript files. Each line in mimeinfo.cache contains a desktop file followed by a list of mimetypes. For example, the line
+
+  image/gif=gthumb.desktop;gimp-2.2.desktop;
+      gnome-eog.desktop;
+
+shows the list of applications available for opening gif files. Gnome constructs the mimeinfo.cache file by processing the mimetypes recorded in the desktop files. Gnome comes with a pre-built system-wide defaults.list. At the user level there are parallel files
+
+  ~/.local/applications/defaults.list
+  ~/.local/applications/mimeinfo.cache
+
+Users can add lines to these files as follows.
+
+  In a Nautilus window, right click on a file
+  Select Properties
+  Select the 'Open With' tab
+  To add to the current 'Open With' list
+  Hit Add and select an application
+  Hit Add again
+  Select the preferred application radio button
+   
+************************
+
+http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
+************************
+
+<MIME> = /usr/local/share/mime
+<MIME> = /usr/share/mime
+
+
+Each application that wishes to contribute to the MIME database will install a single XML file, named after the application, into one of the three <MIME>/packages/ directories (depending on where the user requested the application be installed). After installing, uninstalling or modifying this file, the application MUST run the update-mime-database command, which is provided by the freedesktop.org shared database[SharedMIME].
+
+update-mime-database is passed the mime directory containing the packages subdirectory which was modified as its only argument. It scans all the XML files in the packages subdirectory, combines the information in them, and creates a number of output files. 
+
+
+
+Here is an example source file, named diff.xml:
+
+<?xml version="1.0"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+  <mime-type type="text/x-diff">
+    <comment>Differences between files</comment>
+    <comment xml:lang="af">verskille tussen lêers</comment>
+    ...
+    <magic priority="50">
+      <match type="string" offset="0" value="diff\t"/>
+      <match type="string" offset="0" value="***\t"/>
+      <match type="string" offset="0" value="Common subdirectories: "/>
+    </magic>
+    <glob pattern="*.diff"/>
+    <glob pattern="*.patch"/>
+  </mime-type>
+</mime-info>
+
+********************
+
+
+
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/install.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/install.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/linux-distribution/install.xml	(revision 32773)
@@ -0,0 +1,107 @@
+<installation version="1.0">
+	<info>
+		<appname>Animation</appname>
+		<appversion>2.0</appversion>
+		<authors>
+			<author
+				name="Generalitat Valenciana. Conselleria d'Infraestructures i Transport"
+				email="" />
+			<author name="Iver TecnologÃ­as de la InformaciÃ³n S.A."
+				email="" />
+		</authors>
+		<url>http://www.gvsig.gva.es/</url>
+		<javaversion>1.5</javaversion>
+	</info>
+
+	<guiprefs height="600" resizable="yes" width="800">
+		<laf name="liquid">
+			<os family="unix" />
+		</laf>
+	</guiprefs>
+
+	<locale>
+		<!-- only keep the languages which are also available in gvSIG -->
+		<langpack iso3="spa" />
+		<langpack iso3="val" />
+		<langpack iso3="eng" />
+		<!--	<langpack iso3="cat"/>
+			<langpack iso3="chn"/> -->
+		<langpack iso3="cze" />
+		<!--	<langpack iso3="dan"/> -->
+		<langpack iso3="deu" />
+		<!--	<langpack iso3="fin"/>-->
+		<langpack iso3="fra" />
+		<langpack iso3="glg" />
+		<!--	<langpack iso3="hun"/> -->
+		<langpack iso3="ita" />
+		<!--	<langpack iso3="jpn"/>
+			<langpack iso3="mys"/>
+			<langpack iso3="ned"/>
+			<langpack iso3="nor"/>
+			<langpack iso3="pol"/> -->
+		<langpack iso3="por" />
+		<!--	<langpack iso3="rom"/>
+			<langpack iso3="rus"/>
+			<langpack iso3="scg"/>
+			<langpack iso3="svk"/>
+			<langpack iso3="swe"/>
+			<langpack iso3="ukr"/> -->
+	</locale>
+
+	<resources>
+		<res src="resources/gpl.txt" id="LicencePanel.licence" />
+		<res src="resources/LEEME.html" id="HTMLInfoPanel.info" />
+		<res src="resources/images/Logo_gvsig_gva.jpg"
+			id="Installer.image" />
+		<res src="resources/userInputSpec.xml" id="userInputSpec.xml" />
+		<parsable os="linux" targetfile="resources/userInputSpec.xml" />
+		<res src="resources/userInputLang.xml_val"
+			id="userInputLang.xml_val" />
+		<res src="resources/userInputLang.xml_spa"
+			id="userInputLang.xml_spa" />
+	</resources>
+
+	<panels>
+		<panel classname="HTMLInfoPanel" />
+		<panel classname="LicencePanel" />
+		<panel classname="PacksPanel" />
+		<panel classname="UserInputPanel" />
+		<panel classname="InstallPanel" />
+		<panel classname="SimpleFinishPanel" />
+	</panels>
+
+	<packs>
+		<!-- aki se ponen las cosas que ha que machacar -->
+		<pack name="GvSIG UPDATES" required="yes">
+			<description>GvSIG updates</description>
+
+			<description>GvSIG updates</description>
+			<file os="unix"
+				targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/com.iver.cit.gvsig/lib/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/com.iver.cit.gvsig/lib/libAnimation-1.0-SNAPSHOT.jar"
+				override="true" />
+
+		</pack>
+
+
+		<pack name="Animation extension" required="yes">
+			<description>Install the animation extension.</description>
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimation2D"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimation3D"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimationCommon"
+				override="true" />
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/"
+				src="../extAnimation-distribution/extAnimation/win/bin/gvSIG/extensiones/org.gvsig.extAnimationGUI"
+				override="true" />
+		</pack>
+
+
+
+	</packs>
+
+</installation>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/source-distribution.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/source-distribution.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/source-distribution.xml	(revision 32773)
@@ -0,0 +1,16 @@
+<assembly>
+  <id>src</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+	<!-- Extructure for the extension -->
+    <fileSet>
+      <directory>src</directory>
+	</fileSet>
+	<fileSet>
+      <directory>test</directory>
+	</fileSet>
+  </fileSets>
+</assembly>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/updates/Frameworks.zip
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/updates/Frameworks.zip
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/updates/Info.plist
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/updates/Info.plist	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/updates/Info.plist	(revision 32773)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<string>false</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>Spanish</string>
+	<key>CFBundleExecutable</key>
+	<string>preJava</string>
+	<key>CFBundleGetInfoString</key>
+	<string>gvSIG 1.1</string>
+	<key>CFBundleIconFile</key>
+	<string>logo gvsig.icns</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.iver.cit.gvsig</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>gvSIG</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.1</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1015</string>
+	<key>Java</key>
+	<dict>
+		<key>Arguments</key>
+		<string>gvSIG gvSIG/extensiones</string>
+		<key>ClassPath</key>
+		<array>
+			<string>andami.jar</string>
+			<string>lib/log4j-1.2.8.jar</string>
+			<string>lib/beans.jar</string>
+			<string>lib/gvsig-i18n.jar</string>
+			<string>lib/iver-utiles.jar</string>
+			<string>lib/castor-0.9.5.3-xml.jar</string>
+			<string>lib/crimson.jar</string>
+			<string>lib/xerces_2_5_0.jar</string>
+			<string>lib/javaws.jar</string>
+			<string>lib/xml-apis.jar</string>
+			<string>lib/JWizardComponent.jar</string>
+			<string>lib/looks-2.0.2.jar</string>
+			<string>lib/kxml2.jar</string>
+			<string>lib/jcalendar.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-planets-1.0-SNAPSHOT.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-core-1.0-SNAPSHOT.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-viewer-1.0-SNAPSHOT.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/libjosg-features-1.0-SNAPSHOT.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/jogl.jar</string>
+			<string>gvSIG/extensiones/com.iver.ai2.gvsig3d/lib/gluegen-rt.jar</string>
+		</array>
+		<key>JVMVersion</key>
+		<string>1.4+</string>
+		<key>MainClass</key>
+		<string>com.iver.andami.Launcher</string>
+		<key>Properties</key>
+		<dict>
+			<key>apple.laf.useScreenMenuBar</key>
+			<string>true</string>
+			<key>java.library.path</key>
+			<string>$JAVAROOT/../NativeLibs</string>
+		</dict>
+		<key>VMOptions</key>
+		<string>-Xmx500M</string>
+		<key>WorkingDirectory</key>
+		<string>$JAVAROOT</string>
+	</dict>
+</dict>
+</plist>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet.icns
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet.icns
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/Info.plist
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/Info.plist	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/Info.plist	(revision 32773)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<true/>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>applet</string>
+	<key>CFBundleIconFile</key>
+	<string>applet.icns</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>Instalador Extension 3D</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>aplt</string>
+	<key>LSRequiresCarbon</key>
+	<true/>
+	<key>WindowState</key>
+	<dict>
+		<key>name</key>
+		<string>ScriptWindowState</string>
+		<key>positionOfDivider</key>
+		<real>345</real>
+		<key>savedFrame</key>
+		<string>42 152 918 439 0 0 1024 746 </string>
+		<key>selectedTabView</key>
+		<string>result</string>
+	</dict>
+</dict>
+</plist>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/TXT.rtf
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/TXT.rtf	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/TXT.rtf	(revision 32773)
@@ -0,0 +1,4 @@
+{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl}
+{\colortbl;\red255\green255\blue255;}
+}
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/main.scpt
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/main.scpt
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/PkgInfo
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/PkgInfo	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/PkgInfo	(revision 32773)
@@ -0,0 +1 @@
+APPLaplt
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet.rsrc
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/resources/bundle/applet.rsrc
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/HOWTO-BUILD.txt
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/HOWTO-BUILD.txt	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/HOWTO-BUILD.txt	(revision 32773)
@@ -0,0 +1,7 @@
+ CÓMO GENERAR EL INSTALADOR:
+ ===========================
+- Las librerias nativas deben de tener los install names correctos. Para ello debemos poner la siguiente ruta: 
+@executable_path/../Resources/NativeLibs/ en el flag "Installation Directory" de las propiedades del proyecto de
+XCode.
+- Asegurarse de que las rutas para las extensiones y las librerias nativas sean las correctas en la tarea de ant.
+- Indicar el directorio donde tiene que copiar la cache
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/distribution-mac.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/distribution-mac.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/distribution-mac.xml	(revision 32773)
@@ -0,0 +1,53 @@
+<assembly>
+  <id>distribution</id>
+  <formats>
+    <format>dir</format>
+	<format>jar</format>
+	<format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <baseDirectory>d:/java/distri</baseDirectory>
+  <fileSets>
+	<!-- Extructure for the extension -->
+    <fileSet>
+      <directory>/config</directory>
+	  <outputDirectory>/bin/${extension-distribution}</outputDirectory>
+    </fileSet>
+	<fileSet>
+      <directory>/images</directory>
+	  <outputDirectory>/bin/${extension-distribution}/images</outputDirectory>
+    </fileSet>
+	<!-- Extructure for the native libraries -->
+	<fileSet>
+      <directory>${basedir}/../binaries/w32/3D/</directory>
+	  <outputDirectory>/lib</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <files>
+    <file>
+      <source>build.number</source>
+      <outputDirectory>/bin/${extension-distribution}</outputDirectory>
+    </file>
+  </files>
+  <!-- *********************************************************************** -->
+  <!-- *													   *-->
+  <!-- ***********************************************************************-->
+  <dependencySets>
+    <dependencySet>
+	  <outputDirectory>/bin/${extension-distribution}/lib/</outputDirectory>
+	  <includes>
+        <include>org.gvsig.osgvp.libosgvp:*</include>
+		<include>jogl:*</include>
+		<include>org.gvsig:lib3DMap</include>
+		<include>org.gvsig:libCacheService</include>
+		<include>org.gvsig:ext3Dgui</include>
+      </includes>
+    </dependencySet>
+	 <dependencySet>
+	  <outputDirectory>/bin/${gvsig-extension-distribution}/lib</outputDirectory>
+	  <includes>
+        <include>org.gvsig:lib3DMap-share</include>
+	  </includes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/build.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/build.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/mac-distribution/build.xml	(revision 32773)
@@ -0,0 +1,84 @@
+<project name="bundle-gvSIG" default="init" basedir=".">
+	<property name="ANDAMI" value="../../_fwAndami"/>
+	<!--loadproperties srcFile="${EXT3D}/build.number"/-->
+	<property name="LIBRERIAS" value="../../binaries/mac"/>
+	<!--property name="CACHE" value="/Users/materod/Desktop/cache"/-->
+	<property name="CACHE" value="/home/rgaitan/Desktop/cache"/>
+	<property name="NOMBRE_BUNDLE" value="gvSIG_pilot_3D-01_${build.number}_Instaler-mac"/>
+	<target name="init">
+		<!--Generamos el bundle de instalaciÃ³n-->
+		<mkdir dir="${DIR_MAC}/distr"/>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app"/>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents">
+			<fileset dir="resources/bundle" includes="Info.plist PkgInfo" />
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/MacOS"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/MacOS">
+			<fileset dir="resources/bundle" includes="applet"/>
+		</copy>
+		<chmod file="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/MacOS/applet" perm="+rwxrxrx"/>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources">
+			<fileset dir="resources/bundle" includes="applet.icns applet.rsrc" />
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/description.rtfd"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/description.rtfd">
+			<fileset dir="resources/bundle" includes="TXT.rtf" />
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Scripts"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Scripts">
+			<fileset dir="resources/bundle" includes="main.scpt" />
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates">
+			<fileset dir="resources/updates" includes="Info.plist" />
+		</copy>
+		<unzip src="resources/updates/Frameworks.zip" dest="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates"/>
+		<!--Borrammos el directorio temporal que crea al descomprimir-->
+		<delete dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/__MACOSX"/>
+		<!--Copiamos las dll necesarias para la extension 3D-->
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/NativeLibs"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/NativeLibs">
+			<fileset dir="${LIBRERIAS}"/>
+		</copy>
+		<!--Copiando JDialogSkin-->
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.core"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.core"
+			file="${ANDAMI}/gvSIG/extensiones/com.iver.core/com.iver.core.jar"/>
+		<!--Copiamos la cache-->
+		<!--mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Cache"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Cache">
+			<fileset dir="${CACHE}"/>
+		</copy-->
+		<!--Copiamos las extensiones-->
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.ai2.gvsig3d"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.ai2.gvsig3d">
+			<fileset dir="${ANDAMI}/gvSIG/extensiones/com.iver.ai2.gvsig3d"/>
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/es.gva.cit.gvsig.catalogClient"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/es.gva.cit.gvsig.catalogClient">
+			<fileset dir="${ANDAMI}/gvSIG/extensiones/es.gva.cit.gvsig.catalogClient"/>
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig.wfs2"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig.wfs2">
+			<fileset dir="${ANDAMI}/gvSIG/extensiones/com.iver.cit.gvsig.wfs2"/>
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig.wcs"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig.wcs">
+			<fileset dir="${ANDAMI}/gvSIG/extensiones/com.iver.cit.gvsig.wcs"/>
+		</copy>
+		<mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig/lib"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/gvSIG/extensiones/com.iver.cit.gvsig/lib"
+			file="${ANDAMI}/gvSIG/extensiones/com.iver.cit.gvsig/lib/com.iver.ai2.gvsig3d_share.jar"/>
+		<!--Copiamos el splash-->
+		<!--mkdir dir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/theme"/>
+		<copy todir="${DIR_MAC}/distr/${NOMBRE_BUNDLE}.app/Contents/Resources/Updates/Resources/Java/theme">
+			<fileset dir="${ANDAMI}/theme"/>
+		</copy-->
+		<!--Creamos el zip-->
+		<zip destfile="${NOMBRE_BUNDLE}.zip" update="yes">
+			<zipfileset filemode="755" dir="${DIR_MAC}/distr" />
+		</zip>
+	</target>
+</project>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/distribution/build.xml	(revision 32773)
@@ -0,0 +1,257 @@
+<?xml version="1.0" ?>
+<project default="main">
+
+
+	<property file="../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/build.number" />
+
+	<!--property file="/distribution/build.properties" /-->
+	<!--COMPROBAR EXTENSIONES -->
+	<!--property name="version" value="1.0" />
+	<property name="bversion" value="1.0" />
+	<property name="APPNAME" value="Animation_extension" />
+	<property name="OUTPUT_DIR" location="./target/installers" /-->
+
+
+	<property name="DIR_LIN" location="./distribution/linux-distribution" />
+	<property name="DIR_WIN" location="./distribution/win-distribution" />
+	<property name="DIR_MAC" location="./mac-distribution" />
+	<property name="baseFileName" value="${APPNAME}-${bversion}" />
+	<property name="LINUXBIN" value="${baseFileName}-linux-i586.bin" />
+	<property name="LINUXBINWITHJRE" value="${baseFileName}-linux-i586-withjre.bin" />
+	<property name="WINDOWSZIP" value="${baseFileName}-windows-i586.7z" />
+	<property name="WINDOWSEXE" value="${baseFileName}-windows-i586.exe" />
+	<property name="WINDOWSEXEWITHJRE" value="${baseFileName}-windows-i586-withjre.exe" />
+	<property name="MAC_10_ZIP" value="${baseFileName}-mac-10_4.zip" />
+	<property name="JARNAME" value="${APPNAME}-${bversion}.jar" />
+	<property name="INSTALLER_DIR" value="${APPNAME}-${version}_installer" />
+	<property name="nombre_autoinstalador" value="gvSIG ${version} build ${build.number} autoinstalador" />
+	<!--OJO!!!! HAY QUE REVISAR ESTO -->
+	<property environment="env" />
+
+
+	<condition property="LAUNCHER7Z" value="../build/distribution/launcher/7z/7za" else="../build/distribution/launcher/7z/7z.exe">
+		<os family="unix" />
+	</condition>
+
+	<condition property="Lang.Is.Spanish">
+		<contains string="${env.LANG}" substring="es" />
+	</condition>
+	<condition property="directorio.base">
+		<available file="../install" type="dir" />
+	</condition>
+
+	<target name="E_Spanish" if="Lang.Is.Spanish">
+		<property name="ERROR_BASEDIR" value="Este script debe invocarse desde el directorio install del workspace" />
+	</target>
+
+	<target name="E_notSpanish" unless="Lang.Is.Spanish">
+		<property name="ERROR_BASEDIR" value="This script must be run from the workspace\install's directory" />
+	</target>
+
+	<target name="check" depends="E_Spanish,E_notSpanish">
+		<fail message="${ERROR_BASEDIR}" unless="directorio.base" />
+	</target>
+
+	<!-- target name="main" depends="Linux,Windows" -->
+	<target name="main" depends="Linux,Windows">
+		<echo message="DISTRIBUCION" />
+	</target>
+	<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	-->
+	<target name="Linux" depends="CreateJarLin,InstallationLin,concatenation,cleanDirLIN">
+		<echo> ********************************************* </echo>
+		<echo> ********         LINUX DONE         *********</echo>
+		<echo> ********************************************* </echo>
+	</target>
+
+	<target name="CreateJarLin" description="Generacion del instalador(jar) para Linux">
+		<!-- 		Generamos el instalador (jar) para Linux -->
+		<delete file="../${JARNAME}" />
+		<ant dir="${DIR_LIN}">
+			<property name="JARNAME" value="${JARNAME}" />
+			<property name="GVSIG_VERSION" value="${version}" />
+			<property name="APPNAME" value="${APPNAME}" />
+		</ant>
+	</target>
+	<target name="InstallationLin" description="Generacion de la distribucion">
+		<echo> ********************************************* </echo>
+		<echo> Buildnumber----> ${build.number} --- version--> ${version}</echo>
+		<echo> ********************************************* </echo>
+
+		<!-- 		INSTALACION PARA LINUX -->
+		<delete dir="${DIR_LIN}/${INSTALLER_DIR}" />
+		<mkdir dir="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall" />
+		<move todir="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall">
+			<fileset file="./${JARNAME}" />
+		</move>
+
+		<!-- 		carpetas CVS no se copiaran, ANT las excluye por defecto -->
+		<copy todir="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall">
+			<fileset dir="../build/distribution/launcher/izpack-launcher-1.3_linux/dist">
+				<exclude name="launcher.ini" />
+			</fileset>
+		</copy>
+		<chmod file="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall/launcher-Linux" perm="ugo+rx" />
+
+		<copy file="${DIR_LIN}/resources/launcher.ini.j15" tofile="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall/launcher.ini" />
+		<replace file="${DIR_LIN}/${INSTALLER_DIR}/tmp_gvSIGInstall/launcher.ini" token="%JARNAME%" value="${JARNAME}" />
+
+		<!-- 		comprimimos la carpeta tmp_gvSIGInstall en tmp.tgz -->
+		<tar destfile="${DIR_LIN}/${INSTALLER_DIR}/tmp.tgz" compression="gzip">
+			<tarfileset dir="${DIR_LIN}/${INSTALLER_DIR}" mode="755">
+				<include name="tmp_gvSIGInstall/launcher-Linux" />
+			</tarfileset>
+			<tarfileset dir="${DIR_LIN}/${INSTALLER_DIR}">
+				<include name="tmp_gvSIGInstall/*" />
+				<exclude name="tmp_gvSIGInstall/launcher-Linux" />
+			</tarfileset>
+		</tar>
+
+		<antcall target="concatenation" />
+
+		<!--echo message="#!/bin/sh${line.separator}" file="${DIR_LIN}/${INSTALLER_DIR}/xx.tmp" append="true" />
+		<echo message="lcount=59${line.separator}" file="${DIR_LIN}/${INSTALLER_DIR}/xxx.tmp" append="true" />
+		<fixcrlf srcdir="${DIR_LIN}/${INSTALLER_DIR}/" includes="**/xx.tmp" eol="lf" eof="remove" />
+		<concat destfile="${DIR_LIN}/${INSTALLER_DIR}/${LINUXBIN}" binary="true">
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/xx.tmp" />
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/xxx.tmp" />
+			<fileset file="../build/distribution/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh" />
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/tmp.tgz" />
+		</concat-->
+
+
+	</target>
+
+	<target name="concatenation" description="this target concats all the files into a new bin file">
+		<echo message="#!/bin/sh" file="${DIR_LIN}/${INSTALLER_DIR}/xx.tmp" />
+		<echo message="lcount=59" file="${DIR_LIN}/${INSTALLER_DIR}/xxx.tmp" />
+		<fixcrlf srcdir="${DIR_LIN}/${INSTALLER_DIR}/" includes="**/xx.tmp,**/xxx.tmp" eol="lf" eof="remove" />
+		<concat destfile="${DIR_LIN}/${INSTALLER_DIR}/${LINUXBIN}" binary="true">
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/xx.tmp" />
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/xxx.tmp" />
+			<fileset file="../build/distribution/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh" />
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/tmp.tgz" />
+		</concat>
+		<chmod file="${DIR_LIN}/${INSTALLER_DIR}/${LINUXBIN}" perm="ugo+rx" />
+	</target>
+
+	<target name="cleanDirLIN" description="Limpiamos los directorios DIR_LIN">
+
+		<delete file="${DIR_LIN}/${INSTALLER_DIR}/xx.tmp" />
+		<mkdir dir="${OUTPUT_DIR}" />
+		<mkdir dir="${OUTPUT_DIR}/linux" />
+		<move todir="${OUTPUT_DIR}/linux">
+			<fileset file="${DIR_LIN}/${INSTALLER_DIR}/${LINUXBIN}" />
+		</move>
+		<chmod file="${OUTPUT_DIR}/linux/${LINUXBIN}" perm="ugo+rx" />
+		<delete dir="${DIR_LIN}/${INSTALLER_DIR}" />
+
+	</target>
+
+	<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	-->
+	<target name="Windows" depends="CreateJarWin,InstallationWin,cleanDirWIN">
+		<echo> ********************************************* </echo>
+		<echo> ********        WINDOWS DONE        *********</echo>
+		<echo> ********************************************* </echo>
+	</target>
+
+	<target name="CreateJarWin" description="Generacion del instalador(jar) para Windows">
+
+		<!-- 	Instalador para Windows -->
+
+		<echo> ********************************************* </echo>
+		<echo> Buildnumber----> ${build.number} --- version--> ${version}</echo>
+		<echo> ********************************************* </echo>
+		<delete file="./${JARNAME}" />
+		<ant dir="${DIR_WIN}">
+			<property name="JARNAME" value="${JARNAME}" />
+			<property name="GVSIG_VERSION" value="${version}" />
+			<property name="APPNAME" value="${APPNAME}" />
+			<property name="INSTALL_FILE" value="${DIR_WIN}/install_15.xml" />
+			<!-- property name="INSTALL_FILE" value="${DIR_WIN}/install.xml" / -->
+		</ant>
+
+	</target>
+	<target name="InstallationWin" description="Generacion de la distribucion">
+
+		<!-- Coping install.bat file -->
+		<copy todir="${DIR_WIN}/${INSTALLER_DIR}">
+			<fileset dir="${DIR_WIN}/installer_files">
+				<exclude name="install.bat" />
+			</fileset>
+		</copy>
+
+		<!-- Coping the izpack launcher , excluding launcher-win32.ini  -->
+		<copy todir="${DIR_WIN}/${INSTALLER_DIR}">
+			<fileset dir="../build/distribution/launcher/izpack-launcher-1.3/dist">
+				<exclude name="launcher-Win32.ini" />
+			</fileset>
+		</copy>
+
+		<!-- Coping the launcher-win32.ini  -->
+		<copy file="${DIR_WIN}/resources/launcher-Win32.ini.j15" tofile="${DIR_WIN}/${INSTALLER_DIR}/launcher-Win32.ini" />
+
+		<!-- Replacing the token JARNAME with the real name of the jar file  -->
+		<replace file="${DIR_WIN}/${INSTALLER_DIR}/launcher-Win32.ini" token="%JARNAME%" value="${JARNAME}" />
+
+		<!-- Moving the jar file  -->
+		<move todir="${DIR_WIN}/${INSTALLER_DIR}/">
+			<fileset file="./${JARNAME}" />
+		</move>
+		<!-- Removing 7zip file, only if it exits  -->
+		<delete file="${DIR_WIN}/${WINDOWSZIP}" />
+		<!-- Creating new 7zip file -->
+		<!--exec executable="${LAUNCHER7Z}"-->
+		<exec executable="${basedir}/${LAUNCHER7Z}">
+			<arg line="a -r ${DIR_WIN}/${WINDOWSZIP} ${DIR_WIN}/${INSTALLER_DIR}/*" />
+		</exec>
+
+		<copy file="../build/distribution/launcher/7z/dist_config.txt" tofile="${DIR_WIN}/dist_config.txt" />
+		<replace file="${DIR_WIN}/dist_config.txt" token="%TITLE%" value="gvSIG-${bversion}" />
+		<concat destfile="${DIR_WIN}/${WINDOWSEXE}" binary="true">
+			<fileset file="../build/distribution/launcher/7z/7zS.sfx" />
+			<fileset file="${DIR_WIN}/dist_config.txt" />
+			<fileset file="${DIR_WIN}/${WINDOWSZIP}" />
+		</concat>
+
+
+	</target>
+
+	<!-- UTILIZAR ESTE TARGET PARA LIMPIAR TODOS LOS DIRECTORIOS Y FICHEROS TEMPORALES CREADOS-->
+	<target name="cleanDirWIN" description="Limpiamos los directorios DIR_WIN">
+		<mkdir dir="${OUTPUT_DIR}" />
+		<mkdir dir="${OUTPUT_DIR}/win" />
+		<move todir="${OUTPUT_DIR}/win">
+			<fileset file="${DIR_WIN}/${WINDOWSEXE}" />
+		</move>
+		<delete file="${DIR_WIN}/${WINDOWSZIP}" />
+		<delete file="${DIR_WIN}/dist_config.txt" />
+		<delete dir="${DIR_WIN}/${INSTALLER_DIR}" />
+
+		<!--delete dir="${DIR_WIN}/extensiones" />
+		<delete dir="${DIR_WIN}/bin" /-->
+	</target>
+
+	<!--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+	-->
+	<target name="Mac">
+		<mkdir dir="${OUTPUT_DIR}" />
+		<ant dir="${DIR_MAC}">
+			<property name="build.number" value="${build.number}" />
+		</ant>
+		<!-- El zip se crea en dentro y se copia por un problema con los permisos-->
+		<!--zip destfile="${OUTPUT_DIR}/${MAC_10_ZIP}" basedir="${DIR_MAC}" includes="gvSIG*.app/**" filemode="755" /-->
+		<copy todir="${OUTPUT_DIR}">
+			<fileset dir="${DIR_MAC}" includes="gvSIG*.zip" />
+		</copy>
+		<delete dir="${DIR_MAC}/distr" />
+		<!--OJO!!!! HAY QUE REVISAR ESTO -->
+		<echo> ********************************************* </echo>
+		<echo> ********          MAC DONE        *********</echo>
+		<echo> ********************************************* </echo>
+	</target>
+</project>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text.properties
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text.properties	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text.properties	(revision 32773)
@@ -0,0 +1,50 @@
+#Default language
+#AnimationGui
+Check_Text=Visualizaci\u00f3n frames
+Label_Duration =Duraci\u00f3n
+Label_Mode=Modo
+Window_Title=Controles de animaci\u00f3n
+Text_Secs=segs
+Capturar_encuadre=Capturar encuadre
+Capturar_capa=Capturar capa
+Controles_de_animacion=Controles de animaci\u00f3n
+Exportar_video=Exportar vídeo
+Borrar_animacion=Borrar animaci\u00f3n
+Animacion=Animaci\u00f3n
+Crear_animacion_trans=Crear animaci\u00f3n con transparencias
+no_views=Ninguna vista abierta
+no_layers=Ninguna capa en la vista
+Animacion_vacia2=Animaci\u00f3n sin vistas asignadas
+Animacion_de_transparencias=Animaci\u00f3n de transparencias
+Animacion_sin_vistas_incluidas=Animaci\u00f3n sin vistas incluidas
+Capturar_fotograma=Capturar fotograma
+Player=Player
+Borrar_animacion=Borrar animaci\u00f3n
+Vista_a_animar=Vista a animar
+Modo_de_reproduccion=Modo de reproducci\u00f3n
+Duracion_de_la_animacion=Duraci\u00f3n de la animaci\u00f3n
+Grabar_animacion=Grabar animaci\u00f3n
+Stop=Stop
+Play=Play
+Pause=Pause
+Vista_animada_info=Vista animada, no se puede relacionar con otro documento de animaci\u00f3n
+Vista_animada_titulo=animada
+Animacion_en_curso_info=Animaci\u00f3n en curso. Para a\u00f1adir keyframes, parar antes la animaci\u00f3n
+Animacion_en_curso_info2=Animaci\u00f3n
+Animacion_en_curso_titulo=en curso
+Animacion_borrar_info=Animación en curso, para borrar parar antes la animaci\u00f3n
+Animacion_borrar_titulo=Animaci\u00f3n en curso
+No_vistas_info=Animaci\u00f3n
+No_vistas_info2=sin ninguna vista asociada
+No_vistas_titulo=Animaci\u00f3n vacía
+Closed_views_info=Ninguna vista abierta para aplicarle animación por transparencias
+Closed_views_titulo=Vistas cerradas
+Closed_views_titulo2=Ninguna vista abierta para la captura de fotogramas en
+Mensaje_capas_info=Selecciona las capas en el TOC para aplicarles transparencia
+Mensaje_capas_titulo=Capas no seleccionadas
+Loop_mode=Modo salto
+Ping_pong_loop=Ping pong
+Play_once=Reproducir una vez
+Loop_once_backwards=Hacia atrás una vez
+Project_animation_document=Animaci\u00f3n
+seconds=(segundos)
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/about.htm
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/about.htm	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/about.htm	(revision 32773)
@@ -0,0 +1,21 @@
+<html>
+  <head>
+    <title>Extension 3D del programa GvSIG </title>
+    <meta content="">
+    <style></style>
+  </head>
+  <body>
+<table width="60%" border="0">
+  <tr>
+    <td width="64%"><img src="images/logo_horiz_bicolor_gva.png" width="329" height="50"></td>
+    <td width="36%"><div align="right"><img src="images/logoIver.png" width="87" height="50"></div></td>
+  </tr>
+  <tr>
+    <td colspan="2"><font face="Arial, Helvetica, sans-serif">&copy; Copyright
+      Generalitat Valenciana, IVER T.I and other contributors 2005.</font></td>
+  </tr>
+</table>
+  <h3>Extesi&oacute;n de la Aplicaci&oacute;n para el tratamiento de top&oacute;nimos del Instituto Geogr&aacute;fico Nacional</h3>
+  <p><br><br><b> Build Number: #build.number#</b></p>
+  </body>
+</html>
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text_ca.properties
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text_ca.properties	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/text_ca.properties	(revision 32773)
@@ -0,0 +1,14 @@
+#Translations for language [ca]
+#AnimationGui
+Check_Text=Visualización frames
+Label_Duration =Duración
+Label_Mode=Modo
+Window_Title=Controles de animación
+Text_Secs=segs
+Capturar_encuadre=Capturar encuadre
+Capturar_capa=Capturar capa
+Controles_de_animacion=Controles de animación
+Exportar_video=Exportar vídeo
+Borrar_animacion=Borrar animación
+Animacion=Animación
+Crear_animacion_trans=Crear animación con transparencias
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/config.xml
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/config.xml	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/config/config.xml	(revision 32773)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<depends plugin-name="com.iver.cit.gvsig" />
+	<depends plugin-name="org.gvsig.ext3Dgui" />
+	<depends plugin-name="org.gvsig.extAnimation3D" />
+	<depends plugin-name="org.gvsig.extAnimation2D" />
+	<depends plugin-name="org.gvsig.extAnimationCommon" />
+	<libraries library-dir="./lib" />
+	<resourceBundle name="text" />
+	<extensions>
+		<extension class-name="com.iver.ai2.animationgui.gui.AnimationDocumentRegister"
+			description="Shows a Animation" active="true" priority="50">
+			<tool-bar name="Tools3D">
+				<selectable-tool icon="images/reproductoranim/pause.png"
+					action-command="SHOW3D" tooltip="show_animation_document" />
+			</tool-bar>
+		</extension>
+		<extension
+			class-name="com.iver.ai2.animationgui.gui.MenuAnimation3D"
+			description="Extensión encargada de abrir el menu de animación 3D."
+			active="true" priority="40">
+		</extension>
+		<extension
+			class-name="com.iver.ai2.animationgui.gui.MenuAnimationTransparency"
+			description="Extensión encargada de abrir el menu de animación 3D."
+			active="true" priority="40">
+		</extension>
+	</extensions>
+</plugin-config>
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/playon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/playon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/play.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/play.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/stop.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/stop.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/pauseon.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/pauseon.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/pause.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/pause.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/record.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/reproductoranim/record.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/player.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/player.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_edit.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_edit.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/trans6.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/trans6.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/animation.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/animation.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_add.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/animation_sel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/animation_sel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_link.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera_link.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/images/camera.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.number
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.number	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/build.number	(revision 32773)
@@ -0,0 +1,3 @@
+#Build Number for ANT. Do not edit!
+#Wed Jan 16 11:54:01 CET 2008
+build.number=1209
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationDocumentRegister.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationDocumentRegister.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationDocumentRegister.java	(revision 32773)
@@ -0,0 +1,43 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui;
+
+import com.iver.ai2.animationgui.gui.document.ProjectAnimationDocumentFactory;
+import com.iver.andami.plugins.Extension;
+
+public class AnimationDocumentRegister extends Extension{
+
+	public void execute(String actionCommand) {
+		// TODO Auto-generated method stub
+	}
+
+	public void initialize() {
+		ProjectAnimationDocumentFactory.register();
+	}
+
+	public boolean isEnabled() {
+		return false;
+	}
+
+	public boolean isVisible() {
+		return false;
+	}
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationContol3D.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationContol3D.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/AnimationContol3D.java	(revision 32773)
@@ -0,0 +1,624 @@
+/* gvSIG. Sistema de Informaciï¿½n Geogrï¿½fica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+package com.iver.ai2.animationgui.gui;
+
+import java.awt.Checkbox;
+import java.awt.GridBagConstraints;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+import org.gvsig.gui.beans.swing.GridBagLayoutPanel;
+import org.gvsig.gvsig3dgui.view.View3D;
+import org.gvsig.osgvp.terrain.TerrainViewer;
+
+import com.iver.ai2.gvsig3d.resources.ResourcesFactory;
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.animation.AnimationPlayer;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+
+/**
+ * @author ï¿½ngel Fraile Griï¿½ï¿½n  e-mail: angel.fraile@iver.es
+ * @since 1.1
+ * 
+ * Class to create and to process the event's panel animation.
+ */
+
+public class AnimationContol3D extends GridBagLayoutPanel implements
+		ActionListener, KeyListener, ItemListener, FocusListener {
+
+	/**
+	 * default static final serial version ID
+	 */
+	private static final long serialVersionUID = 1L;
+
+	private int operation; // Used in choice's functions
+
+	private JLabel label = null;
+
+	private JLabel label2 = null;
+	
+	private JLabel label3 = null;
+
+	private JTextField textosegs = null;
+
+	private JComboBox choice = null;
+
+	private JButton buttonIcon = null;
+
+	private JButton buttonIcon1 = null;
+
+	private JButton buttonIcon2 = null;
+
+	private JButton buttonIcon3 = null;
+
+	private ImageIcon image = null;
+
+	private ImageIcon image1 = null;
+
+	private ImageIcon image2 = null;
+
+	private ImageIcon image3 = null;
+
+	private Checkbox checkbox = null;
+
+	private String buttonPath;
+
+	private double globalTime;
+
+	private AnimationPlayer animationPlayer;
+
+	private int animationMode;
+
+	private boolean playFlag = false;
+
+	private boolean pauseFlag = false;
+
+	private StateUpdate runnable;
+
+	private ArrayList<WindowClosedListener> actionCommandListeners = new ArrayList<WindowClosedListener>();
+
+	private List<BaseView> viewListAdded =  new ArrayList<BaseView>();
+	
+
+	/**
+	 * Default constructor.
+	 * 
+	 * @param animationPlayer: player associate
+	 */
+	public AnimationContol3D(AnimationPlayer animationPlayer) {
+
+		this.animationPlayer = animationPlayer;
+		this.animationPlayer.setAnimationPlayerState(AnimationPlayer.ANIMATION_INITIAL);
+
+		// Setting up the button path
+		String oldPath = ResourcesFactory.getExtPath();// Save the path.
+		ResourcesFactory
+				.setExtPath("/gvSIG/extensiones/com.iver.ai2.animationgui.gui/images/reproductoranim/");
+		ResourcesFactory.setExtPath("/images/reproductoranim/");// my new path
+		buttonPath = ResourcesFactory.getResourcesPath();
+		URL path;
+		path = this.getClass().getClassLoader().getResource("images/reproductoranim/");
+		buttonPath = path.getPath(); 
+		ResourcesFactory.setExtPath(oldPath);// Restore the old path.
+		System.out.println(oldPath);
+		System.out.println(buttonPath);
+
+		initialize();
+	}
+
+	/*
+	 * Panel creation.
+	 * 
+	 */
+	private void initialize() {
+		// Bag where have declared the characteristic of a Component in the
+		// panel.
+		GridBagConstraints c;
+
+		/*
+		 * gridx: column position in grid gridy: row position in grid anchor:
+		 * bottom of space
+		 */
+
+		// Creation of four buttons: play, stop, pause y record.
+		c = new GridBagConstraints();
+		c.gridx = 0;
+		c.gridy = 0;
+		c.insets = new Insets(2, 5, 2, 2);
+
+		this.add(getPlayButton(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 1;
+		c.gridy = 0;
+		c.insets = new Insets(2, 2, 2, 2);
+		this.add(getPauseButton(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 2;
+		c.gridy = 0;
+		c.insets = new Insets(2, 2, 2, 2);
+		this.add(getStopButton(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 3;
+		c.gridy = 0;
+		c.gridwidth = 2;
+		c.fill = GridBagConstraints.BOTH;
+		c.insets = new Insets(2, 2, 2, 5);
+		this.add(getRecButton(), c);
+
+		// Space between rows.
+		c = new GridBagConstraints();
+		c.insets = new Insets(2, 5, 2, 2);
+		c.gridx = 1;
+		c.gridy = 1;
+		c.anchor = GridBagConstraints.WEST;
+		this.add(getLabelDuration(), c);
+
+		// textField to introduce the duration of the movie in seconds or
+		// frames.
+		c = new GridBagConstraints();
+		c.insets = new Insets(2, 2, 2, 5);
+		c.gridx = 2;
+		c.gridy = 1;
+		c.gridwidth = 1;
+		c.anchor = GridBagConstraints.WEST;
+		c.fill = GridBagConstraints.BOTH;
+		this.add(getSeconds(), c);
+
+		c = new GridBagConstraints();
+		c.insets = new Insets(2, 2, 2, 5);
+		c.gridx = 3;
+		c.gridy = 1;
+		c.gridwidth = 1;
+		c.anchor = GridBagConstraints.WEST;
+		c.fill = GridBagConstraints.BOTH;
+		this.add(getLabelSeconds(), c);
+		
+		// checkbox for the provisional selection of video in seconds or frames.
+		// c.gridx = 3;
+		// c.gridy = 1;
+		// c.gridwidth = 2;
+		// c.anchor = GridBagConstraints.EAST;
+		// this.add(getJCheckBox(), c);
+
+		c = new GridBagConstraints();
+		c.insets = new Insets(2, 5, 2, 2);
+		c.gridx = 1;
+		c.gridy = 3;
+		c.anchor = GridBagConstraints.WEST;
+		this.add(getLabelMode(), c);
+		
+		
+		// choice for mode player selection.
+		c = new GridBagConstraints();
+		c.insets = new Insets(2, 2, 5, 5);
+		c.gridx = 2;
+		c.gridy = 3;
+		c.anchor = GridBagConstraints.WEST;
+		c.fill = GridBagConstraints.BOTH;
+		c.gridwidth = 3;
+		this.add(getChoiceValue(), c);
+		choice.setSelectedIndex(this.animationPlayer.getAnimationMode());
+		
+		c = new GridBagConstraints();
+		c.insets = new Insets(0, 0, 0, 0);
+		c.gridx = 0;
+		c.gridy = 3;
+		c.gridwidth = 5;
+		c.weightx = 1.0;
+		c.weighty = 1.0;
+		this.add(new JPanel(), c);
+
+		setGlobalTime(this.animationPlayer.getGlobalTime() / 1000);
+
+	}
+
+	/**
+	 * 
+	 * @return JLabel.
+	 */
+	private JLabel getLabelMode() {
+		label2 = new JLabel(PluginServices.getText(this, "Label_Mode"));
+		label2.setToolTipText(PluginServices.getText(this, "Modo_de_reproduccion"));
+		return label2;
+	}
+
+	/**
+	 * 
+	 * @return JLabel.
+	 */
+	private JLabel getLabelDuration() {
+		label = new JLabel(PluginServices.getText(this, "Label_Duration"));
+		label.setToolTipText(PluginServices.getText(this, "Duracion_de_la_animacion"));
+		return label;
+	}
+
+	private JLabel getLabelSeconds() {
+		label3 = new JLabel(PluginServices.getText(this, "seconds"));
+		return label3;
+	}
+	
+	/**
+	 * @return Choice. Return the choice with the different modes of display.
+	 */
+	private JComboBox getChoiceValue() {
+		if (choice == null) {
+			choice = new JComboBox();
+			choice.addItem(PluginServices.getText(this, "Loop_mode"));
+			choice.addItem(PluginServices.getText(this,"Ping_pong_loop"));
+			choice.addItem(PluginServices.getText(this,"Play_once"));
+			choice.addItem(PluginServices.getText(this,"Loop_once_backwards"));
+			choice.addItemListener(this);
+			choice.setToolTipText(PluginServices.getText(this, "Modo_de_reproduccion"));
+		}
+		return choice;
+	}
+
+	/**
+	 * @return TextField. Return textfield where the user put the seconds of the
+	 *         movie.
+	 */
+	private JTextField getSeconds() {
+		if (textosegs == null) {
+			textosegs = new JTextField(PluginServices
+					.getText(this, "Text_Secs"), 4);
+			textosegs.setName("SECONDS");
+			textosegs.setHorizontalAlignment(JTextField.RIGHT);
+			textosegs.addKeyListener(this);
+			textosegs.addFocusListener(this);
+			textosegs.setToolTipText(PluginServices.getText(this, "Duracion_de_la_animacion"));
+		}
+		return textosegs;
+	}
+
+	/**
+	 * @return JButton. Return record button.
+	 */
+	private JButton getRecButton() {
+		if (buttonIcon3 == null) {
+			buttonIcon3 = new JButton();
+			// path where are the image to load in the button.
+			image3 = new ImageIcon(buttonPath + "/record.png");
+			buttonIcon3.setIcon(image3);
+			buttonIcon3.setActionCommand("REC");
+			buttonIcon3.addActionListener(this);
+			buttonIcon3.setToolTipText(PluginServices.getText(this, "Grabar_animacion"));
+		}
+		return buttonIcon3;
+	}
+
+	/**
+	 * @return JButton. Return stop button.
+	 */
+	private JButton getStopButton() {
+		if (buttonIcon2 == null) {
+			buttonIcon2 = new JButton();
+			image2 = new ImageIcon(buttonPath + "/stop.png");
+			buttonIcon2.setIcon(image2);
+			buttonIcon2.setActionCommand("STOP");
+			buttonIcon2.addActionListener(this);
+			buttonIcon2.setToolTipText(PluginServices.getText(this, "Stop"));
+		}
+		return buttonIcon2;
+	}
+
+	/**
+	 * @return JButton. Return pause button.
+	 */
+	private JButton getPauseButton() {
+		if (buttonIcon1 == null) {
+			buttonIcon1 = new JButton();
+			image1 = new ImageIcon(buttonPath + "/pause.png");
+			buttonIcon1.setIcon(image1);
+			buttonIcon1.setActionCommand("PAUSE");
+			buttonIcon1.addActionListener(this);
+			buttonIcon1.setToolTipText(PluginServices.getText(this, "Pause"));
+		}
+		return buttonIcon1;
+	}
+
+	/**
+	 * @return JButton. Return play button.
+	 */
+	public JButton getPlayButton() {
+		if (buttonIcon == null) {
+			buttonIcon = new JButton();
+			image = new ImageIcon(buttonPath + "/play.png");
+			buttonIcon.setIcon(image);
+			buttonIcon.setActionCommand("PLAY");
+			buttonIcon.addActionListener(this);
+			buttonIcon.setIcon(image);
+			buttonIcon.setToolTipText(PluginServices.getText(this, "Play"));
+		
+		}
+		return buttonIcon;
+	}
+	
+	/**
+	 * 
+	 * @param viewListAdded: open views list
+	 */
+	
+	public void setViewListAdded(List<BaseView> viewListAdded) {
+		this.viewListAdded = viewListAdded;
+	}
+
+
+	/**
+	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+	 *      logic events of pressed buttons.
+	 */
+	public void actionPerformed(ActionEvent arg0) {
+		String actionCommand = arg0.getActionCommand();
+		
+		if (actionCommand.equals("PLAY")) { // play pressed
+			
+			if(this.animationPlayer.getAnimationContainer().isEmpty())
+			{
+				JOptionPane.showMessageDialog(null,PluginServices.getText(this,"Animacion_sin_vistas_incluidas"),
+						"Animaciï¿½n vacia", JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			if (runnable == null) {
+				runnable = new StateUpdate();
+				// Create the thread supplying it with the runnable object
+				Thread thread = new Thread(runnable);
+				// Start the thread
+				thread.start();
+			}
+			
+			Iterator<BaseView> iter = viewListAdded.iterator();
+			while (iter.hasNext()) {
+				Object object = iter.next();
+				if (object instanceof View3D){
+					((View3D) object).getCanvas3d().getOSGViewer().setCameraManipulator(null);
+				}
+			}
+			
+			this.animationPlayer.play();
+			playFlag = true;
+			if (this.animationPlayer.getAnimationPlayerState() == AnimationPlayer.ANIMATION_PLAY) {
+				image = new ImageIcon(buttonPath + "/playon.png");
+				buttonIcon.setIcon(image);
+			
+				if (pauseFlag) {
+					image1 = new ImageIcon(buttonPath + "/pause.png");
+					buttonIcon1.setIcon(image1);
+				}
+
+			}
+
+		} else if (actionCommand.equals("PAUSE")) { // pause pressed
+
+			this.animationPlayer.pause();
+			if (this.animationPlayer.getAnimationPlayerState() == AnimationPlayer.ANIMATION_PAUSE
+					&& playFlag) {
+				playFlag = false;
+				pauseFlag = true;
+				image = new ImageIcon(buttonPath + "/play.png");
+				buttonIcon.setIcon(image);
+				image1 = new ImageIcon(buttonPath + "/pauseon.png");
+				buttonIcon1.setIcon(image1);
+			}
+		} else if (actionCommand.equals("STOP")) {
+
+			Iterator<BaseView> iter = viewListAdded.iterator();
+			while (iter.hasNext()) {
+				Object object = iter.next();
+				if (object instanceof View3D){
+					((TerrainViewer) ((View3D) object).getCanvas3d().getOSGViewer()).restoreCustomTerrainManipulator();
+				}
+			}
+			
+			animationPlayer.stop();
+			if (runnable != null)
+				runnable.end();
+			if (this.animationPlayer.getAnimationPlayerState() == AnimationPlayer.ANIMATION_STOP
+					&& (playFlag || pauseFlag)) {
+
+				if (playFlag) {
+					image = new ImageIcon(buttonPath + "/play.png");
+					buttonIcon.setIcon(image);
+					playFlag = false;
+				} else {
+					image1 = new ImageIcon(buttonPath + "/pause.png");
+					buttonIcon1.setIcon(image1);
+					pauseFlag = false;
+				}
+			}
+		
+		} else if (actionCommand.equals("REC")) {
+			animationPlayer.record();
+			JOptionPane.showMessageDialog(null, "Opciï¿½n no disponible",
+					"Alertas de prueba", JOptionPane.WARNING_MESSAGE);
+
+		}// if
+	}// public void
+
+	/*
+	 * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
+	 * 
+	 */
+	public void keyPressed(KeyEvent arg0) {
+		// TODO Auto-generated method stub
+	}
+
+	/**
+	 * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
+	 *      Events when you put the filmï¿½s seconds in the animation panel.
+	 */
+	public void keyReleased(KeyEvent arg0) {
+//		System.out.println("valor del campo segundos: "
+//				+ this.textosegs.getText());
+		try {
+			globalTime = new Double(this.textosegs.getText()).doubleValue();
+		}
+		catch (Exception e) {
+		}
+		this.animationPlayer.setGlobalTime(globalTime);
+	}
+
+	/*
+	 * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
+	 */
+	public void keyTyped(KeyEvent arg0) {
+		// TODO Auto-generated method stub
+	}
+
+	/**
+	 * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
+	 *      ItemListener methods.
+	 */
+	public void itemStateChanged(ItemEvent event) {
+		Object obj = event.getSource();
+		if (obj == choice) {
+			operation = choice.getSelectedIndex(); // get select item.
+			setMode(operation);
+		} else if (obj == checkbox) {
+			System.out.println("opcion seleccionada checkbox");
+		}
+	}
+
+	/*
+	 * Player options modes. 
+	 */
+	private void setMode(int option) {
+
+		if (option == 2) {
+			animationMode = AnimationPlayer.PLAY_ONCE;
+		} else if (option == 0) {
+			animationMode = AnimationPlayer.LOOP;
+		} else if (option == 3) {
+			animationMode = AnimationPlayer.PLAY_ONCE_BACKWARDS;
+		} else if (option == 1)
+			animationMode = AnimationPlayer.PING_PONG_LOOP;
+		
+		this.animationPlayer.setAnimationMode(animationMode);
+
+		//System.out.println("opcion: " + mode);
+	}
+
+	public void setGlobalTime(double time) {
+		textosegs.setText(Double.toString(time));
+	}
+
+	/*
+	 * Class to control the automatically stop state of the actual animation.
+	 */
+
+	public class StateUpdate implements Runnable {
+
+		private boolean finish = false;
+
+		public void run() {
+
+			while (true) {
+				try {
+					Thread.sleep(800);
+					synchronized (this) {
+						if (finish) {
+							Iterator<BaseView> iter = viewListAdded.iterator();
+							while (iter.hasNext()) {
+								Object object = iter.next();
+								if (object instanceof View3D){
+									((TerrainViewer) ((View3D) object).getCanvas3d().getOSGViewer()).restoreCustomTerrainManipulator();
+								}
+							}
+							break;
+						}
+					}
+				} catch (InterruptedException e) {
+
+					e.printStackTrace();
+				}
+				
+				if (animationPlayer.getAnimationPlayerState() == AnimationPlayer.ANIMATION_STOP
+						&& (playFlag || pauseFlag)) {
+
+					if (playFlag) {
+						image = new ImageIcon(buttonPath + "/play.png");
+						buttonIcon.setIcon(image);
+						playFlag = false;
+					} else {
+						image1 = new ImageIcon(buttonPath + "/pause.png");
+						buttonIcon1.setIcon(image1);
+						pauseFlag = false;
+					}
+					runnable.end();
+				}// long if
+			}
+		}
+
+		/*
+		 * function to stop the thread.
+		 */
+
+		public synchronized void end() {
+			finish = true;
+			runnable = null;
+		}
+	}// end class StateUpdate.
+
+	/**
+	 * Add a listener in a event list
+	 * @param listener
+	 */
+	public void addWindowClosedListener(WindowClosedListener listener) {
+		if (!actionCommandListeners.contains(listener))
+			actionCommandListeners.add(listener);
+	}
+	
+	/**
+	 * Clear a listener in a event list
+	 * @param listener
+	 */
+	public void removeWindowClosedListener(WindowClosedListener listener) {
+		actionCommandListeners.remove(listener);
+	}
+
+	public void focusGained(FocusEvent e) {
+		// TODO Auto-generated method stub
+	}
+
+	public void focusLost(FocusEvent e) {
+		textosegs.setText(Double.toString(globalTime));
+	}
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/AnimationDateModePanel.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/AnimationDateModePanel.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/AnimationDateModePanel.java	(revision 32773)
@@ -0,0 +1,190 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui.toc;
+
+import java.awt.Choice;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.Insets;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+
+import org.gvsig.gui.beans.swing.GridBagLayoutPanel;
+import org.gvsig.gui.beans.swing.JButton;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.ui.mdiManager.SingletonWindow;
+import com.iver.andami.ui.mdiManager.WindowInfo;
+import com.iver.cit.gvsig.animation.IAnimationType;
+
+/**
+ * Dialogo donde se muestran las propiedades de una vista
+ * 
+ * @author Fernando González Cortés
+ */
+public class AnimationDateModePanel extends GridBagLayoutPanel implements
+		SingletonWindow, ItemListener{
+
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	private int width = 250;
+
+	private int height = 100;
+
+	private GridBagLayoutPanel okCancelPanel;
+
+	private JButton okButton;
+	
+	private Choice choice = null;
+
+	private int animationMode;
+
+	private int operation;
+
+	private IAnimationType animationDay;
+
+	/**
+	 * This is the default constructor
+	 * @param animationType 
+	 * 
+	 */
+	public AnimationDateModePanel(IAnimationType animationType) {
+
+		animationDay = animationType;
+		initialize();
+
+	}
+
+	/**
+	 * This method initializes the panel
+	 */
+	private void initialize() {
+		
+		GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+		gridBagConstraints1.fill = GridBagConstraints.VERTICAL;
+		gridBagConstraints1.gridy = 2;
+		gridBagConstraints1.weightx = 1.0;
+		gridBagConstraints1.gridx = 1;
+		GridBagConstraints gridBagConstraints = new GridBagConstraints();
+		gridBagConstraints.gridx = 1;
+		gridBagConstraints.gridheight = 2;
+		gridBagConstraints.gridwidth = 2;
+		gridBagConstraints.insets = new Insets(15, 0, 0, 0);
+		gridBagConstraints.gridy = 3;
+		
+		this.add(getChoiceValue(), gridBagConstraints1);
+		this.add(getOkCancelPanel(),gridBagConstraints);
+		
+		setName(PluginServices.getText(this, "Transparency"));
+		this.setPreferredSize(new Dimension(width, height));
+		this.setSize(new Dimension(width, height));
+
+	}
+
+	
+	private Choice getChoiceValue() {
+		// TODO Auto-generated method stub
+		if (choice == null) {
+			choice = new Choice();
+			// choice.addItem( textopru );
+			choice.addItem("Intervalo");
+			choice.addItem("Incremental");
+			choice.addItem("Decremental");
+			// choice.addItem( "modo3" );
+			// choice.addItem( "modo4" );
+			choice.addItemListener(this);
+		}
+		return choice;
+	}
+
+
+	private GridBagLayoutPanel getOkCancelPanel() {
+		if (okCancelPanel == null) {
+			ActionListener okAction;
+			okAction = new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					
+//					animationDay.setFilterMode(animationMode);
+					PluginServices.getMDIManager().closeWindow(
+							AnimationDateModePanel.this);
+				}
+			};
+			okCancelPanel = new GridBagLayoutPanel();
+			okCancelPanel.setAlignmentX(GridBagLayoutPanel.RIGHT_ALIGNMENT);
+			okButton = new JButton();
+			okButton.setText("Aceptar");
+			okButton.addActionListener(okAction);
+
+			okCancelPanel.addComponent(okButton);
+		}
+		return okCancelPanel;
+	}
+
+	
+	/**
+	 * 
+	 * @see com.iver.andami.ui.mdiManager.IWindow#getWindowInfo()
+	 * @return WindowInfo: window parameters
+	 */
+
+	public WindowInfo getWindowInfo() {
+		WindowInfo m_viewinfo = new WindowInfo();
+		m_viewinfo.setTitle(PluginServices.getText(this, "Transparency"));
+		m_viewinfo.setHeight(height);
+		m_viewinfo.setWidth(width);
+		return m_viewinfo;
+	}
+
+	public Object getWindowModel() {
+		return null;
+	}
+
+	public void itemStateChanged(ItemEvent event) {
+		Object obj = event.getSource();
+		if (obj == choice) {
+			operation = choice.getSelectedIndex(); // get select item.
+			getMensaje(operation);
+		} 
+		
+	}
+	private void getMensaje(int option) {
+		String mode = choice.getItem(option);
+//		if (mode.equals("Intervalo")) {
+//			animationMode = DateFilter.BOTH;
+//		} else if (mode.equals("Incremental")) {
+//			animationMode = DateFilter.BEFORE_BEGIN;
+//		} else if (mode.equals("Decremental")) {
+//			animationMode = DateFilter.AFTER_END;
+//		}
+		System.out.println("opcion: " + mode);
+	}
+
+	public Object getWindowProfile() {
+		// TODO Auto-generated method stub
+		return WindowInfo.TOOL_PROFILE;
+	}
+
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/TocAnimationDate.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/TocAnimationDate.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/toc/TocAnimationDate.java	(revision 32773)
@@ -0,0 +1,197 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui.toc;
+
+import java.sql.Date;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.IExtension;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.cit.gvsig.ProjectExtension;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.animation.IAnimationType;
+import com.iver.cit.gvsig.animation.interval.AnimationDatedInterval;
+import com.iver.cit.gvsig.animation.traks.AnimationDatedTrack;
+import com.iver.cit.gvsig.animation.traks.IAnimationTrack;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.layers.FLayer;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.view.IProjectView;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
+import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
+import com.iver.utiles.extensionPoints.ExtensionPoint;
+import com.iver.utiles.extensionPoints.ExtensionPoints;
+import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
+
+public class TocAnimationDate extends AbstractTocContextMenuAction {
+
+	private AnimationDatedTrack adt;
+	
+	FLayer layer;
+
+	public String getGroup() {
+		return "group6"; // FIXME
+	}
+
+	public int getGroupOrder() {
+		return 60;
+	}
+
+	public int getOrder() {
+		return 10;
+	}
+
+	public boolean isEnabled(ITocItem item, FLayer[] selectedItems) {
+		// return selectedItems.length == 1;
+
+		// return true;
+
+		boolean enable = false;
+
+		if (selectedItems.length > 0)
+			enable = true;
+
+		return enable;
+
+	}
+
+	public boolean isVisible(ITocItem item, FLayer[] selectedItems) {
+		// return true;
+		com.iver.andami.ui.mdiManager.IWindow f = PluginServices
+				.getMDIManager().getActiveWindow();
+
+		if (f == null) {
+			return false;
+		}
+
+		if (!isTocItemBranch(item))
+			return false;
+
+		BaseView vista = (BaseView) f;
+		
+		IProjectView model = vista.getModel();
+		MapContext mapa = model.getMapContext();
+	
+		return mapa.getLayers().getLayersCount() > 0;
+	}
+
+	public void execute(ITocItem item, FLayer[] selectedItems) {
+		System.out
+				.println("MENU CONTEXTUAL DE GENERACION DE ANIMACIONES DE FECHAS");
+
+//		// Getting view3
+//		com.iver.andami.ui.mdiManager.IWindow view = PluginServices
+//				.getMDIManager().getActiveWindow();
+//		BaseView vista3D =  (BaseView) view;
+//		 MapControl model = (MapControl)vista3D.getModel();
+//		model.setEnabled(true);
+		
+		layer = selectedItems[0];
+		
+		// Generate animation using filters
+		generateAniamtionDate();
+		
+		// introducir layer
+		
+//		this.adt.setAnimatedObject(layer);
+		// Show the animation control player
+//		AnimationDateModePanel = new AnimationDateModePanel();
+//		AnimationDateModePanel.setModal(true);
+//		AnimationDateModePanel.pack();
+//		AnimationDateModePanel.setVisible(true);
+		
+		
+		AnimationDateModePanel fp = new AnimationDateModePanel(adt.getAnimationType());
+		PluginServices.getMDIManager().addWindow((IWindow) fp);
+		
+		
+	}
+
+	public String getText() {
+		// Name that appears in toc menu
+		return "Animacion de fecha";
+	}
+
+	private Project getProject() {
+		IExtension extension = PluginServices
+				.getExtension(com.iver.cit.gvsig.ProjectExtension.class);
+		ProjectExtension pe = (ProjectExtension) extension;
+		return pe.getProject();
+	}
+
+	private void generateAniamtionDate() {
+		// TODO Auto-generated method stub
+		// traerse el contenedor
+		//Project project = this.getProject();
+		AnimationContainer ac = null;//(AnimationContainer) project.getAnimationContainer();
+		// desactivar los track existentes
+
+		// crear el track
+		adt = getAnimationDateTrack("Date-track", ac);
+		// generar un intervalo por cada fecha
+
+		// DEBUGGGGG!!!!
+		System.out.println(ac);
+	}
+
+	private AnimationDatedTrack getAnimationDateTrack(String name,
+			AnimationContainer ac) {
+		AnimationDatedTrack at = null;
+		IAnimationTrack aa = ac.findTrack(name);
+		if (aa == null) {
+
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Animation"));
+
+			// traerse el tipo de animacion
+			IAnimationType animationDate3D = null;
+			try {
+				animationDate3D = (IAnimationType) extPoint
+						.create("AnimationDate3D");
+			} catch (InstantiationException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+			animationDate3D.setAnimatedObject(layer);
+			at = (AnimationDatedTrack) ac.CreateDatedTrack(animationDate3D);
+			at.setName(name);
+			at.setEnable(true);
+			
+			//crear el intervalo
+			AnimationDatedInterval adi = (AnimationDatedInterval) at.createInterval();
+			adi.setBeginDateInterval(Date.valueOf("2000-01-01"));
+			adi.setEndDateInterval(Date.valueOf("2000-01-04"));
+			
+			
+//			at.setAnimatedObject(layer);
+			// at.setAnimationType(animationDate3D);
+		}
+
+		return at;
+
+	}
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/WindowClosedListener.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/WindowClosedListener.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/WindowClosedListener.java	(revision 32773)
@@ -0,0 +1,30 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+package com.iver.ai2.animationgui.gui;
+
+import java.util.EventListener;
+import java.util.EventObject;
+
+public interface WindowClosedListener extends EventListener {
+	/**
+	 * Evento que se dispara cuando se cierra una ventana.
+	 * @param e
+	 */
+	public void actionClosed(EventObject e);
+}
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimation3D.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimation3D.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimation3D.java	(revision 32773)
@@ -0,0 +1,188 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui;
+
+import javax.swing.JOptionPane;
+
+import com.iver.ai2.animationgui.gui.document.ProjectAnimationDocument;
+import com.iver.ai2.animationgui.gui.toc.TocAnimationDate;
+import com.iver.ai2.animationgui.gui.util.AnimationUtils;
+import com.iver.ai2.gvsig3d.camera.ProjectCamera;
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.Extension;
+import com.iver.andami.plugins.IExtension;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.cit.gvsig.ProjectExtension;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.animation.AnimationPlayer;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+import com.iver.utiles.extensionPoints.ExtensionPoints;
+import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
+
+/**
+ * @author
+ * @since 1.1
+ * 
+ * Menu of animation toolbar's options.
+ */
+
+public class MenuAnimation3D extends Extension {
+
+	// private variable that contains the project
+	private Project project;
+	// It is the project Document create to create a fast animation.
+	private ProjectAnimationDocument pad;
+
+	public void execute(String actionCommand) {
+
+		AnimationContainer ac;
+		String prefix = "Default-animation-document";
+		// if the button pressed is animation control the animation panel is
+		// created.
+		if (actionCommand.equals("CONTROLES")) {
+			// Getting the animation container.
+			if (pad != null) {
+				ac = pad.getAnimationContainer();
+				AnimationPlayer ap = ac.getAnimationPlayer();
+				ap.setAnimationContainer(ac);
+				AnimationContol3D fp = new AnimationContol3D(ap);
+				PluginServices.getMDIManager().addWindow((IWindow) fp);
+			} else {
+				if (AnimationUtils.exitsProject(prefix, project)){
+					ac = AnimationUtils.getProjectDocument(prefix, project).getAnimationContainer();
+					AnimationPlayer ap = ac.getAnimationPlayer();
+					ap.setAnimationContainer(ac);
+					AnimationContol3D fp = new AnimationContol3D(ap);
+					PluginServices.getMDIManager().addWindow((IWindow) fp);
+				}else{
+					// Show a message that indicates why it is impossible to open
+					// the player
+					JOptionPane
+					.showMessageDialog(null,
+					"There is not any animation document. Please create one");
+				}
+			}
+
+		} else if (actionCommand.equals("ENCUADRECAP")) {// button capture
+			// if there is not create the default animation. we will create it.
+			pad = AnimationUtils.createAnimationDocument(prefix, project);
+			if (!AnimationUtils.exitsProject(prefix, project)){
+				project.addDocument(pad);
+			}
+
+			// Getting the active windows
+			IWindow w = PluginServices.getMDIManager().getActiveWindow();
+
+			// Getting the animation container.
+			ac = pad.getAnimationContainer();
+
+			// Capture the new encuadrator
+			AnimationUtils.captureEncuadrator((BaseView) w, ac, prefix);
+
+		} else if (actionCommand.equals("CAPACAP")) {// button capture layer
+			// pressed.
+			System.out.println("pulsado boton de capturar capa!!!");
+		} else if (actionCommand.equals("CLEAR_TRACK")) {
+			//removeCameras(AnimationPrefix);
+			// // AKFinterval = null;
+			// cont = 0;
+			// ac = this.getAnimationContainer();
+			// ac.removeAllTrack();
+		}
+
+	}
+
+	/**
+	 * This method removes all the captures that there are in the encuadrator
+	 * with the substring "substring"
+	 * 
+	 * @param substring
+	 *            the method removes all the captures that contain this
+	 *            substring.
+	 * 
+	 */
+	void removeCameras(String substring) {
+		// Remove all animation keyframe from the encuadrator.
+		Object[] pcList = project.getCameras();
+		int i = 0;
+		while (i < pcList.length) {
+			ProjectCamera projectCamera = (ProjectCamera) pcList[i];
+			if (projectCamera.getDescription().contains(substring)) {
+				project.removeCamera(i);
+				pcList = project.getCameras();
+			} else {
+				i++;
+			}
+		}
+	}
+
+	public void postInitialize() {
+
+		IExtension extension = PluginServices
+				.getExtension(com.iver.cit.gvsig.ProjectExtension.class);
+		ProjectExtension pe = (ProjectExtension) extension;
+		project = pe.getProject();
+
+		PluginServices.getIconTheme().registerDefault(
+				"camera-link-icon",
+				this.getClass().getClassLoader().getResource(
+						"images/camera_link.png"));
+		PluginServices.getIconTheme().registerDefault(
+				"camera-add-icon",
+				this.getClass().getClassLoader().getResource(
+						"images/camera_add.png"));
+		PluginServices.getIconTheme().registerDefault(
+				"camera-edit-icon",
+				this.getClass().getClassLoader().getResource(
+						"images/camera_edit.png"));
+
+	}
+
+	public void initialize() {
+
+		// Registering TOC actions
+		ExtensionPoints extensionPoints = ExtensionPointsSingleton
+				.getInstance();
+		extensionPoints.add("View_TocActions", "Generar animacion temporal",
+				new TocAnimationDate());
+	}
+
+	public boolean isEnabled() {
+		return true;
+	}
+
+	public boolean isVisible() {
+
+		com.iver.andami.ui.mdiManager.IWindow f = PluginServices
+				.getMDIManager().getActiveWindow();
+
+		if (f == null) {
+			return false;
+		}
+
+		// Only isVisible = true, where the view3D have layers
+		if (f instanceof BaseView) {
+			return true;
+		}
+		return false;
+	}
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/util/AnimationUtils.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/util/AnimationUtils.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/util/AnimationUtils.java	(revision 32773)
@@ -0,0 +1,715 @@
+/* gvSIG. Sistema de Informaciï¿½n Geogrï¿½fica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+
+/**
+ * @author ï¿½ngel Fraile Griï¿½ï¿½n  e-mail: angel.fraile@iver.es
+ * @since 1.1
+ * 
+ */
+
+package com.iver.ai2.animationgui.gui.util;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.gvsig.gvsig3dgui.view.View3D;
+import org.gvsig.osgvp.terrain.Terrain;
+import org.gvsig.osgvp.viewer.Camera;
+
+import com.iver.ai2.animationgui.gui.document.ProjectAnimationDocument;
+import com.iver.ai2.animationgui.gui.document.ProjectAnimationDocumentFactory;
+import com.iver.ai2.gvsig3d.camera.ProjectCamera;
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.IExtension;
+import com.iver.cit.gvsig.ProjectExtension;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.animation.IAnimationType;
+import com.iver.cit.gvsig.animation.animatedObject.AnimatedObjectBase;
+import com.iver.cit.gvsig.animation.animatedObject.AnimationObject2D;
+import com.iver.cit.gvsig.animation.animatedObject.AnimationObject3DFlat;
+import com.iver.cit.gvsig.animation.animatedObject.IAnimatedObject;
+import com.iver.cit.gvsig.animation.interval.AnimationKeyFrameInterval;
+import com.iver.cit.gvsig.animation.keyframe.IKeyFrame;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.FuntionFactory;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.IInterpolator;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.IInterpolatorTimeFuntion;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.InterpolatorFactory;
+import com.iver.cit.gvsig.animation.traks.AnimationTimeTrack;
+import com.iver.cit.gvsig.animation.traks.IAnimationTrack;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.MapControl;
+import com.iver.cit.gvsig.fmap.layers.FLayer;
+import com.iver.cit.gvsig.fmap.layers.FLayers;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.ProjectExtent;
+import com.iver.cit.gvsig.project.ProjectFactory;
+import com.iver.cit.gvsig.project.documents.ProjectDocument;
+import com.iver.cit.gvsig.project.documents.ProjectDocumentFactory;
+import com.iver.cit.gvsig.project.documents.view.IProjectView;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+import com.iver.cit.gvsig.project.documents.view.gui.View;
+import com.iver.utiles.extensionPoints.ExtensionPoint;
+import com.iver.utiles.extensionPoints.ExtensionPoints;
+import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
+
+public class AnimationUtils {
+
+	private static String AnimationPrefix = "Animation-";
+	private static int cont2D = 0;
+	private static int cont3D = 0;
+	private static Project project;
+
+	static {
+		IExtension extension = PluginServices
+				.getExtension(com.iver.cit.gvsig.ProjectExtension.class);
+		ProjectExtension pe = (ProjectExtension) extension;
+		project = pe.getProject();
+	}
+
+	
+	/**
+	 * Default function in movement animations 2D and 3D
+	 * 
+	 * @param view: Actual view selected
+	 * @param ac: Animation container
+	 * @param prefix: Part of the tracks animation names 
+	 */
+	public static void captureEncuadrator(BaseView view, AnimationContainer ac,
+			String prefix) {
+		// snapshot pressed.
+		System.out.println("pulsado boton de capturar encuadres!!!");
+
+		// If the window instance is View, it will manage extends 2D
+		if (view instanceof View) {
+			AnimationUtils.captureEncuadrator2D((View) view, ac, prefix);
+		}
+		else
+			if (view instanceof BaseView) {
+				AnimationUtils.captureEncuadrator3D((View3D) view, ac, prefix);
+			}
+		
+
+		System.out.println(ac);
+
+	}
+	
+	/**
+	 * Creating a animation 2D track based in time.
+	 * 
+	 * @param view: Actual view selected
+	 * @param ac: Animation container
+	 * @param prefix: Part of the tracks animation names 
+	 */
+
+	public static void captureEncuadrator2D(View view, AnimationContainer ac,
+			String prefix) {
+
+		AnimationTimeTrack animationTimeTrack = null;
+		AnimationKeyFrameInterval AKFinterval = null;
+		List<IKeyFrame> keyFrameList = null;
+
+		String baseName = prefix + "-" + view.getWindowInfo().getTitle() + "-"
+				+ AnimationPrefix;
+		String name = baseName + cont2D++;
+
+		// Getting the animation extension point.
+		ExtensionPoints extensionPoints = ExtensionPointsSingleton
+				.getInstance();
+		ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+				.get("Animation"));
+
+		// Creating new track
+		animationTimeTrack = AnimationUtils.getAnimationTimeTrack(baseName
+				+ "-encuadrator_track_2D", ac, view);
+		// Creating the interval
+		List intervalList = animationTimeTrack.getIntervalList();
+		
+		if (intervalList != null) {
+			for (Iterator<AnimationKeyFrameInterval> iterator = intervalList.iterator(); iterator
+					.hasNext();) {
+				AnimationKeyFrameInterval animationKeyFrameInterval = iterator.next();
+				if (animationKeyFrameInterval != null) {
+					AKFinterval = animationKeyFrameInterval;
+				}
+			}
+			if (intervalList.size() == 0) {
+				AKFinterval = (AnimationKeyFrameInterval) animationTimeTrack
+						.createKeyFrameInterval();
+				// Setting up interval properties.
+				AKFinterval.setInitialTime(0.0);
+				AKFinterval.setEndTime(1.0);
+			}
+		}
+		
+		
+
+		// Getting the current extend and adding to project extends.
+		MapControl mapa = view.getMapControl();
+		ProjectExtent extent = ProjectFactory.createExtent();
+		extent.setDescription(name);
+		extent.setExtent(mapa.getViewPort().getExtent());
+		project.addExtent(extent);
+
+		// Creating the keyframe list.
+		ProjectExtent[] extentsList = project.getExtents();
+		keyFrameList = new ArrayList<IKeyFrame>();
+		for (int i = 0; i < extentsList.length; i++) {
+			ProjectExtent projectExtent = extentsList[i];
+			if (projectExtent.getDescription().contains(baseName)) {
+				IKeyFrame kf2D = null;
+				try {
+					kf2D = (IKeyFrame) extPoint.create("KeyFrame2D");
+				} catch (InstantiationException e) {
+					e.printStackTrace();
+				} catch (IllegalAccessException e) {
+					e.printStackTrace();
+				}
+
+				// Setting up the initial and end time interval.
+				double fin = AKFinterval.getEndTime();
+				double ini = AKFinterval.getInitialTime();
+				double size = extentsList.length;
+				// Calculating the insertion time.
+				double tiempo = 0.0;
+				if (i != 0)
+					tiempo = i * ((fin - ini) / (size - 1.0));
+				kf2D.setTime(tiempo);
+				// hacer funcion de insercion o adapter
+				kf2D.setAnimatedObject(projectExtent);
+				kf2D.CapturesProperties();
+				keyFrameList.add(kf2D);
+			}
+		}
+		AKFinterval.setKeyFrameList(keyFrameList);
+	}
+
+	public static Project getProject() {
+		return project;
+	}
+	
+	
+	public static String getAnimationPrefix() {
+		return AnimationPrefix;
+	}
+
+	
+	/**
+	 * Creating a animation 3D track based in time.
+	 * 
+	 * @param view: Actual view selected
+	 * @param ac: Animation container
+	 * @param prefix: Part of the tracks animation names 
+	 */
+	public static void captureEncuadrator3D(View3D view, AnimationContainer ac,
+			String prefix) {
+		AnimationTimeTrack animationTimeTrack = null;
+		AnimationKeyFrameInterval AKFinterval = null;
+		List<IKeyFrame> keyFrameList = null;
+
+		String baseName = prefix + "-" + view.getWindowInfo().getTitle() + "-"
+				+ AnimationPrefix;
+		String name = baseName + cont3D++;
+
+		// Getting the animation extension point.
+		ExtensionPoints extensionPoints = ExtensionPointsSingleton
+				.getInstance();
+		ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+				.get("Animation"));
+
+		// Creating new track
+		animationTimeTrack = AnimationUtils.getAnimationTimeTrack(baseName
+				+ "-encuadrator_track_3D", ac, view);
+
+		// Creating the interval
+		List intervalList = animationTimeTrack
+				.getIntervalList();
+		if (intervalList != null) {
+			for (Iterator iterator = intervalList.iterator(); iterator
+					.hasNext();) {
+				AnimationKeyFrameInterval animationKeyFrameInterval = (AnimationKeyFrameInterval) iterator
+						.next();
+				if (animationKeyFrameInterval != null) {
+					AKFinterval = animationKeyFrameInterval;
+				}
+			}
+			if (intervalList.size() == 0) {
+				AKFinterval = (AnimationKeyFrameInterval) animationTimeTrack
+						.createKeyFrameInterval();
+				// Setting up interval properties.
+				AKFinterval.setInitialTime(0.0);
+				AKFinterval.setEndTime(1.0);
+			}
+		}
+		// Getting the current camera position and insert it into project camera list.
+		Camera ca = view.getCamera();
+		ProjectCamera camera = new ProjectCamera();
+		camera.setDescription(name);
+		camera.setCamera(ca);
+		project.addCamera(camera);
+
+		List<ProjectCamera> extentsList = filterExtendsList(baseName, project);
+		keyFrameList = new ArrayList<IKeyFrame>();
+		for (int i = 0; i < extentsList.size(); i++) {
+			ProjectCamera projectCamera = (ProjectCamera) extentsList.get(i);
+			IKeyFrame kf3D = null;
+			try {
+				kf3D = (IKeyFrame) extPoint.create("KeyFrame3DFlat");
+			} catch (InstantiationException e) {
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				e.printStackTrace();
+			}
+
+			// Setting up the initial and end time interval.
+			double fin = AKFinterval.getEndTime();
+			double ini = AKFinterval.getInitialTime();
+			double size = extentsList.size();
+			// Calculating the correct time for this key frame.
+			double tiempo = 0.0;
+			if (i != 0)
+				tiempo = i * ((fin - ini) / (size - 1.0));
+			// Setting the time.
+			kf3D.setTime(tiempo);
+			// hacer funcion de insercion o adapter
+			kf3D.setAnimatedObject(projectCamera);
+			kf3D.CapturesProperties();
+			keyFrameList.add(kf3D);
+		}
+		AKFinterval.setKeyFrameList(keyFrameList);
+
+	}
+
+	private static List<ProjectCamera> filterExtendsList(String baseName,
+			Project project2) {
+		List<ProjectCamera> extendsList = null;
+		Object[] extentsList = project2.getCameras();
+		for (int i = 0; i < extentsList.length; i++) {
+			ProjectCamera projectCamera = (ProjectCamera) extentsList[i];
+			if (projectCamera.getDescription().contains(baseName)) {
+				if (extendsList == null)
+					extendsList = new ArrayList<ProjectCamera>();
+				extendsList.add(projectCamera);
+			}
+		}
+		return extendsList;
+	}
+
+	private static AnimationTimeTrack getAnimationTimeTrack(String name,
+			AnimationContainer ac, BaseView view) {
+
+		AnimationTimeTrack att = null;
+		if (view instanceof View) {
+			att = AnimationUtils.getAnimationTimeTrackForView(name, ac,
+					(View) view);
+		}
+
+		if (view instanceof View3D) {
+			att = AnimationUtils.getAnimationTimeTrackForView3D(name, ac,
+					(View3D) view);
+		}
+		return att;
+	}
+
+	private static AnimationTimeTrack getAnimationTimeTrackForView(String name,
+			AnimationContainer ac, View view) {
+
+		AnimationTimeTrack at = null;
+		IAnimationTrack aa = ac.findTrack(name);
+		if (aa == null) {
+
+			// Getting the extension point.
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Animation"));
+
+			IAnimationType animationLayer2D = null;
+			try {
+				animationLayer2D = (IAnimationType) extPoint
+						.create("AnimationLayer2D");
+			} catch (InstantiationException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+			// Setting up the track properties
+			at = (AnimationTimeTrack) ac.CreateTimeTrack(animationLayer2D);
+			at.setName(name);
+			at.setEnable(true);
+			// Setting up the animated object
+			// Creating the object 2D
+			AnimatedObjectBase object2D = new AnimationObject2D();
+
+			// Getting the interpolator
+			IInterpolator inter2D = InterpolatorFactory
+					.createObject("Interpolator2D");
+			((AnimationObject2D)object2D).setAnimatedView(view);
+			
+			// Getting the interpolator funcion
+			IInterpolatorTimeFuntion funtion = FuntionFactory
+					.createObject("com.iver.cit.gvsig.animation.keyframe.interpolator.LinearFuntion");
+			inter2D.setFuntion(funtion);
+
+			animationLayer2D.setInterpolator(inter2D);
+			at.setAnimationType(animationLayer2D);
+			animationLayer2D.setAnimatedObject(object2D);
+			
+			at.setAnimatedObject(object2D);
+		} else {
+			at = (AnimationTimeTrack) aa;
+		}
+
+		return at;
+
+	}
+
+	private static AnimationTimeTrack getAnimationTimeTrackForView3D(
+			String name, AnimationContainer ac, View3D view) {
+
+		AnimationTimeTrack at = null;
+		IAnimationTrack aa = ac.findTrack(name);
+		if (aa == null) {
+
+			// Getting the extension point.
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Animation"));
+
+			IAnimationType animationLayer3DFlat = null;
+			try {
+				animationLayer3DFlat = (IAnimationType) extPoint
+						.create("AnimationLayer3DFlat");
+			} catch (InstantiationException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				e.printStackTrace();
+			}
+			at = (AnimationTimeTrack) ac.CreateTimeTrack(animationLayer3DFlat);
+
+			at.setName(name);
+			at.setEnable(true);
+
+			AnimatedObjectBase object3D = new AnimationObject3DFlat();
+			((AnimationObject3DFlat)object3D).setAnimatedCanvas3D(view.getCanvas3d());
+			((AnimationObject3DFlat)object3D).setAnimatedView(view);
+			
+			at.setAnimatedObject(object3D);
+
+			/** ******************************************************************* */
+			IInterpolator interpolator3D = null;
+			if (view.getTerrain().getCoordinateSystemType() == Terrain.CoordinateSystemType.PROJECTED) {
+				interpolator3D = InterpolatorFactory
+						.createObject("Interpolator3DFlat");
+			} else if (view.getTerrain().getCoordinateSystemType() == Terrain.CoordinateSystemType.GEOCENTRIC) {
+				interpolator3D = InterpolatorFactory
+						.createObject("Interpolator3DSpherical");
+			}
+
+			IInterpolatorTimeFuntion funtion = FuntionFactory
+					.createObject("com.iver.cit.gvsig.animation.keyframe.interpolator.LinearFuntion");
+			interpolator3D.setFuntion(funtion);
+			animationLayer3DFlat.setInterpolator(interpolator3D);
+			at.setAnimationType(animationLayer3DFlat);
+			
+			animationLayer3DFlat.setAnimatedObject(object3D);
+
+			/** ********************************************************************* */
+			/*******************************************************************
+			 * old code * IInterpolator inter3DFlat = InterpolatorFactory
+			 * .createObject("Interpolator3DFlat"); IInterpolatorTimeFuntion
+			 * funtion = FuntionFactory
+			 * .createObject("com.iver.cit.gvsig.animation.keyframe.interpolator.LinearFuntion");
+			 * inter3DFlat.setFuntion(funtion);
+			 * animationLayer3DFlat.setInterpolator(inter3DFlat);
+			 * at.setAnimationType(animationLayer3DFlat);
+			 * animationLayer3DFlat.setAnimatedObject(object3D); /
+			 ******************************************************************/
+		} else {
+			at = (AnimationTimeTrack) aa;
+		}
+		return at;
+
+	}
+
+	/**
+	 * Return a new animation document or the document where the view viewName is included
+	 * 
+	 * @param viewName
+	 * @param project
+	 * @return a new or actual animation document
+	 */
+	public static ProjectAnimationDocument createAnimationDocument(
+			String viewName, Project project) {
+		ProjectAnimationDocument pv = null;
+		ArrayList<ProjectDocument> projectList = project
+				.getDocumentsByType(ProjectAnimationDocumentFactory.registerName);
+		Iterator<ProjectDocument> it = projectList.iterator();
+		while (it.hasNext()) {
+			ProjectDocument projectDocument = (ProjectDocument) it.next();
+			if (viewName.equals(projectDocument.getName())) {
+				pv = (ProjectAnimationDocument) projectDocument;
+			}
+
+		}
+		if (pv == null) {
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Documents"));
+			ProjectDocumentFactory pdf = null;
+			try {
+				pdf = (ProjectDocumentFactory) extPoint
+						.create(ProjectAnimationDocumentFactory.registerName);
+			} catch (InstantiationException e) {
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				e.printStackTrace();
+			}
+			pv = (ProjectAnimationDocument) pdf.create((Project) null);
+			pv.setProjectDocumentFactory(pdf);
+			pv.setName(viewName);
+		}
+		return pv;
+	}
+
+	/**
+	 * Return the document indicated with the parameter name
+	 * 
+	 * @param name
+	 * @param project
+	 * @return
+	 */
+	public static ProjectAnimationDocument getProjectDocument(String name,
+			Project project) {
+		ProjectAnimationDocument pv = null;
+		ArrayList<ProjectDocument> projectList = project
+				.getDocumentsByType(ProjectAnimationDocumentFactory.registerName);
+		Iterator<ProjectDocument> it = projectList.iterator();
+		while (it.hasNext()) {
+			ProjectDocument projectDocument = (ProjectDocument) it.next();
+			if (name.equals(projectDocument.getName())) {
+				pv = (ProjectAnimationDocument) projectDocument;
+			}
+
+		}
+		return pv;
+	}
+
+	public static boolean exitsProject(String name, Project project) {
+		boolean pv = false;
+		ArrayList<ProjectDocument> projectList = project
+				.getDocumentsByType(ProjectAnimationDocumentFactory.registerName);
+		Iterator<ProjectDocument> it = projectList.iterator();
+		while (it.hasNext()) {
+			ProjectDocument projectDocument = (ProjectDocument) it.next();
+			if (name.equals(projectDocument.getName())) {
+				pv = true;
+			}
+
+		}
+		return pv;
+	}
+
+	/**
+	 * 
+	 * @param name :
+	 *            Track name.
+	 * @param ac: animation container.
+	 * @param object: animated object
+	 * @return at : Return an animation track based in time.
+	 * 
+	 * Creating a animation track based in time.
+	 */
+	public static AnimationTimeTrack getAnimationTimeTrackTransparency(
+			String name, AnimationContainer ac, BaseView view,
+			IAnimatedObject object) {
+
+		AnimationTimeTrack at = null;// this.animationTimeTrack;
+
+		IAnimationTrack animationTrack = ac.findTrack(name);
+		if (animationTrack == null) {
+
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Animation"));
+
+			IAnimationType animTransp = null;
+			try {
+				System.out.println(extPoint.getDescription());
+
+				// Instancing my new animation based in transparency.
+				animTransp = (IAnimationType) extPoint
+						.create("AnimationTransparency");
+			} catch (InstantiationException e) {
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				e.printStackTrace();
+			}
+
+			at = (AnimationTimeTrack) ac.CreateTimeTrack(animTransp);
+			at.setName(name);
+
+			// Saving the view( in this case a BaseView).
+
+			object.addAnimatedObject("view", view);
+
+			at.setAnimatedObject(object);
+			animTransp.setAnimatedObject(object);
+			// My interpolator based in time and transparency.
+			IInterpolator interTransparency = InterpolatorFactory
+					.createObject("InterpolatorTransparency");
+			animTransp.setInterpolator(interTransparency);
+			at.setAnimationType(animTransp);
+		} else {
+			at = (AnimationTimeTrack) animationTrack;
+		}
+		return at;
+	}
+	
+	/**
+	 * Creating a transparency animation common 2D and 3D 
+	 * @param window
+	 * @param ac
+	 * @param prefix
+	 */
+	
+	public static void createLayerTransparencyAnimation(BaseView window,
+			AnimationContainer ac, String prefix) {
+		System.out.println("pulsado boton transparencias !!!");
+
+		AnimationTimeTrack animationTimeTrack = null;
+		AnimationKeyFrameInterval AKFinterval = null;
+		List<IKeyFrame> keyFrameList = null;
+		AnimatedObjectBase object = new AnimatedObjectBase();
+		// Getting the animation extension point
+		ExtensionPoints extensionPoints = ExtensionPointsSingleton
+				.getInstance();
+		ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+				.get("Animation"));
+
+		// List of keyframes.
+		// If the window is instance of View
+		if (window instanceof BaseView) {
+
+			BaseView view = (BaseView) window;
+
+			// Generating the list of keyframes
+			// keyFrameList = new ArrayList();
+			IProjectView model = view.getModel();
+			MapContext mapContext = model.getMapContext();
+			FLayers layers = mapContext.getLayers();
+			FLayer[] actives = layers.getActives();
+
+			double fin = 1;// AKFinterval.getEndTime();
+			double ini = 0;// AKFinterval.getInitialTime();
+			double tiempo = 0.0;
+			int size = actives.length;
+			double incremento = ((fin - ini) / (size));
+			for (int i = size - 1; i >= 0; i--) {// order in TOC.
+
+				animationTimeTrack = null;
+				animationTimeTrack = AnimationUtils
+						.getAnimationTimeTrackTransparency("Track_layer_" + i,
+								ac, view, object);
+				animationTimeTrack.setEnable(true);
+				object.addAnimatedObject("layer", actives[i]);
+
+				// Generating the interval.
+				AKFinterval = (AnimationKeyFrameInterval) animationTimeTrack
+						.createKeyFrameInterval();
+				AKFinterval.setInitialTime(0.0);
+				AKFinterval.setEndTime(1.0);
+
+				keyFrameList = new ArrayList<IKeyFrame>();
+				IKeyFrame kfTransAux = null;
+				IKeyFrame kfTransIni = null;
+				IKeyFrame kfTransFin = null;
+				try {
+					kfTransAux = (IKeyFrame) extPoint
+							.create("KeyFrameTransparency");
+					kfTransIni = (IKeyFrame) extPoint
+							.create("KeyFrameTransparency");
+					kfTransFin = (IKeyFrame) extPoint
+							.create("KeyFrameTransparency");
+				} catch (InstantiationException e1) {
+					e1.printStackTrace();
+				} catch (IllegalAccessException e1) {
+					e1.printStackTrace();
+				}
+				// Calculating the time insertion.
+				if (i == size - 1) // the keyframe is the first in the list.
+					tiempo = ini + 0.001;
+
+				// Three keyframes by track.
+				// Keyframe 1 of the layer i.
+				kfTransAux.setName("KF1_layer_" + i);// name of keyframe.
+				kfTransAux.setTime(ini); // initial time interval.
+				kfTransAux.setAnimatedObject(actives[i]);// set the object to
+				// animate(a layer).
+				kfTransAux.CapturesProperties(); // capturing actual
+				// transparency.
+				keyFrameList.add(kfTransAux); // adding in the list.
+
+				// keyframe 2 of the layer i.
+				kfTransIni.setName("KF2_layer_" + i);// name of keyframe.
+				kfTransIni.setTime(tiempo); // initial time interval.
+				kfTransIni.setAnimatedObject(actives[i]);// set the same
+				// layer in the
+				// second keyframe.
+				kfTransIni.CapturesProperties(); // capturing actual
+				// transparency.
+				keyFrameList.add(kfTransIni); // adding in the list.
+
+				// keyframe 3 of the layer i.
+				try {
+					if (i == 0) // the keyframe is the last in the list.
+						tiempo = fin;
+					else
+						tiempo += incremento;
+
+					kfTransFin.setName("KF3_layer_" + i);// name of keyframe.
+					kfTransFin.setTime(tiempo);// saving final time interval.
+					// kfTransFin.setLevelTransparency(0);// interpolation:
+					// layer transparency in
+					// the moment to 0.
+					kfTransFin.setAnimatedObject(actives[i]); // save the same
+					// layer in the
+					// third
+					// keyframe
+					keyFrameList.add(kfTransFin);// adding to the list.
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				AKFinterval.setKeyFrameList(keyFrameList);// Adding the list
+				// of keyframes to
+				// the interval.
+
+			}
+		}
+	}
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimationTransparency.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimationTransparency.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/MenuAnimationTransparency.java	(revision 32773)
@@ -0,0 +1,337 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui;
+
+import com.iver.ai2.animationgui.gui.document.ProjectAnimationDocument;
+import com.iver.ai2.animationgui.gui.util.AnimationUtils;
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.Extension;
+import com.iver.andami.plugins.IExtension;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.cit.gvsig.ProjectExtension;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.animation.IAnimationType;
+import com.iver.cit.gvsig.animation.animatedObject.AnimatedObjectBase;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.IInterpolator;
+import com.iver.cit.gvsig.animation.keyframe.interpolator.InterpolatorFactory;
+import com.iver.cit.gvsig.animation.traks.AnimationTimeTrack;
+import com.iver.cit.gvsig.animation.traks.IAnimationTrack;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.layers.FLayer;
+import com.iver.cit.gvsig.fmap.layers.FLayers;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.view.IProjectView;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+import com.iver.utiles.extensionPoints.ExtensionPoint;
+import com.iver.utiles.extensionPoints.ExtensionPoints;
+import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
+
+/**
+ * @author Ángel
+ * @since 1.1
+ * 
+ * Menu of animation transparency toolbar's options.
+ */
+
+public class MenuAnimationTransparency extends Extension {
+
+	private Project project;
+
+	// private AnimationContainer ac = null;
+	private AnimationTimeTrack animationTimeTrack = null;
+	private AnimatedObjectBase object = new AnimatedObjectBase();
+
+	// It is the project Document create to create a fast animation.
+	private ProjectAnimationDocument pad;
+
+	public void execute(String actionCommand) {
+
+		AnimationContainer ac;
+		// if the button pressed is "this"
+		if (actionCommand.equals("CREARANIMTRANSP")) {
+
+			String prefix = "Default-animation-document";
+			// if there is not create the default animation. we will create it.
+			pad = AnimationUtils.createAnimationDocument(prefix, project);
+			if (!AnimationUtils.exitsProject(prefix, project)){
+				project.addDocument(pad);
+			}
+
+			// Getting the active windows
+			IWindow window = PluginServices.getMDIManager().getActiveWindow();
+
+			// Getting the animation container
+			ac = pad.getAnimationContainer();
+			// Generating the animation transparency
+			AnimationUtils.createLayerTransparencyAnimation((BaseView) window,
+					ac, prefix);
+
+			// Menu Player.
+			// AnimationPlayer ap = ac.getAnimationPlayer();
+			// ap.setAnimationContainer(ac);
+			// AnimationContol3D fp = new AnimationContol3D(ap);
+			// PluginServices.getMDIManager().addWindow((IWindow) fp);
+		}
+
+		// System.out.println("pulsado boton transparencias !!!");
+		//			
+		// // Getting the active windows
+		// IWindow window = PluginServices.getMDIManager().getActiveWindow();
+		//			
+		// // Getting the animation container
+		// ac = this.getAnimationContainer();
+		//			
+		//			
+		// // Getting the animation extension point
+		// ExtensionPoints extensionPoints =
+		// ExtensionPointsSingleton.getInstance();
+		// ExtensionPoint extPoint = ((ExtensionPoint)
+		// extensionPoints.get("Animation"));
+		//			
+		//			
+		// //List of keyframes.
+		// // If the window is instance of View
+		// if (window instanceof BaseView) {
+		//
+		// BaseView view = (BaseView) window;
+		//
+		// // Generating the list of keyframes
+		// //keyFrameList = new ArrayList();
+		// IProjectView model = view.getModel();
+		// MapContext mapContext = model.getMapContext();
+		// FLayers layers = mapContext.getLayers();
+		// FLayer[] actives = layers.getActives();
+		//				
+		// double fin = 1;//AKFinterval.getEndTime();
+		// double ini = 0;//AKFinterval.getInitialTime();
+		// double tiempo = 0.0;
+		// int size = actives.length;
+		// double incremento = ((fin - ini) / (size));
+		// for(int i = size-1; i >= 0; i--){// order in TOC.
+		//					
+		// animationTimeTrack = null;
+		// animationTimeTrack =
+		// AnimationUtils.getAnimationTimeTrackTransparency("Track_layer_" + i,
+		// ac);
+		// animationTimeTrack.setEnabale(true);
+		// object.addAnimatedObject("layer",actives[i]);
+		//					
+		//					
+		// // Generating the interval.
+		// AKFinterval = (AnimationKeyFrameInterval) animationTimeTrack
+		// .createKeyFrameInterval();
+		// AKFinterval.setInitialTime(0.0);
+		// AKFinterval.setEndTime(1.0);
+		//					
+		// keyFrameList = new ArrayList<IKeyFrame>();
+		// // KeyFrameTransparency kfTransAux = new KeyFrameTransparency();
+		// IKeyFrame kfTransAux = null;
+		// IKeyFrame kfTransIni = null;
+		// IKeyFrame kfTransFin = null;
+		// try {
+		// kfTransAux = (IKeyFrame)extPoint.create("KeyFrameTransparency");
+		// kfTransIni = (IKeyFrame)extPoint.create("KeyFrameTransparency");
+		// kfTransFin = (IKeyFrame)extPoint.create("KeyFrameTransparency");
+		// }
+		// catch (InstantiationException e1) {
+		// e1.printStackTrace();
+		// } catch (IllegalAccessException e1) {
+		// e1.printStackTrace();
+		// }
+		// //Calculating the time insertion.
+		// if (i == size-1) // the keyframe is the first in the list.
+		// tiempo = ini + 0.001;
+		//					
+		// //Three keyframes by track.
+		// //Keyframe 1 of the layer i.
+		// kfTransAux.setName("KF1_layer_" + i);//name of keyframe.
+		// kfTransAux.setTime(ini); // initial time interval.
+		// kfTransAux.setAnimatedObject(actives[i]);//set the object to
+		// animate(a layer).
+		// //kfTransAux.setLevelTransparency(255);
+		// kfTransAux.CapturesProperties(); //capturing actual transparency.
+		// keyFrameList.add(kfTransAux); // adding in the list.
+		//					
+		// //keyframe 2 of the layer i.
+		// kfTransIni.setName("KF2_layer_" + i);//name of keyframe.
+		// kfTransIni.setTime(tiempo); // initial time interval.
+		// kfTransIni.setAnimatedObject(actives[i]);//set the same layer in the
+		// second keyframe.
+		// kfTransIni.CapturesProperties(); //capturing actual transparency.
+		// keyFrameList.add(kfTransIni); // adding in the list.
+		//					
+		// //keyframe 3 of the layer i.
+		// try {
+		// if(i == 0) // the keyframe is the last in the list.
+		// tiempo = fin;
+		// else
+		// tiempo += incremento;
+		//						
+		// kfTransFin.setName("KF3_layer_" + i);//name of keyframe.
+		// kfTransFin.setTime(tiempo);// saving final time interval.
+		// // kfTransFin.setLevelTransparency(0);// interpolation: layer
+		// transparency in the moment to 0.
+		// kfTransFin.setAnimatedObject(actives[i]); //save the same layer in
+		// the third keyframe
+		// keyFrameList.add(kfTransFin);//adding to the list.
+		// } catch (Exception e) {
+		// // TODO Auto-generated catch block
+		// e.printStackTrace();
+		// }
+		// AKFinterval.setKeyFrameList(keyFrameList);// Adding the list of
+		// keyframes to the interval.
+		//					
+		// }
+		// }
+		// }
+
+	}
+
+	public void postInitialize() {
+		// Getting the project using plugin services.
+		IExtension extension = PluginServices
+				.getExtension(com.iver.cit.gvsig.ProjectExtension.class);
+		ProjectExtension pe = (ProjectExtension) extension;
+		project = pe.getProject();
+
+		PluginServices.getIconTheme().registerDefault(
+				"transparency-icon",
+				this.getClass().getClassLoader().getResource(
+						"images/trans6.png"));
+	}
+
+	public void initialize() {
+		// TODO Auto-generated method stub
+	}
+
+	
+	/**
+	 * 
+	 * @param name :
+	 *            Track name.
+	 * @param ac :
+	 *            animation container.
+	 * @return at : Return a animation track based in time.
+	 * 
+	 * Creating a animation track based in time.
+	 */
+	private AnimationTimeTrack getAnimationTimeTrack_DELETED(String name,
+			AnimationContainer ac) {
+
+		AnimationTimeTrack at = this.animationTimeTrack;
+
+		IAnimationTrack animationTrack = ac.findTrack(name);
+		if (animationTrack == null) {
+
+			ExtensionPoints extensionPoints = ExtensionPointsSingleton
+					.getInstance();
+			ExtensionPoint extPoint = ((ExtensionPoint) extensionPoints
+					.get("Animation"));
+			com.iver.andami.ui.mdiManager.IWindow f = PluginServices // window
+																		// active.
+					.getMDIManager().getActiveWindow();
+
+			if (f instanceof BaseView) {
+				IAnimationType animTransp = null;
+				try {
+					System.out.println(extPoint.getDescription());
+
+					// Instancing my new animation based in transparency.
+					animTransp = (IAnimationType) extPoint
+							.create("AnimationTransparency");
+				} catch (InstantiationException e) {
+					e.printStackTrace();
+				} catch (IllegalAccessException e) {
+					e.printStackTrace();
+				}
+
+				at = (AnimationTimeTrack) ac.CreateTimeTrack(animTransp);
+				at.setName(name);
+
+				// Saving the view( in this case a BaseView).
+				BaseView view = (BaseView) f;
+
+				object.addAnimatedObject("view", view);
+
+				at.setAnimatedObject(object);
+				animTransp.setAnimatedObject(object);
+				// My interpolator based in time and transparency.
+				IInterpolator interTransparency = InterpolatorFactory
+						.createObject("InterpolatorTransparency");
+				animTransp.setInterpolator(interTransparency);
+				at.setAnimationType(animTransp);
+			}
+		}
+		return at;
+	}
+
+	/**
+	 * @see com.iver.andami.plugins.IExtension#isVisible() Options to see the
+	 *      button in the tool bar. View: must be a base view. One or more
+	 *      layers in the view.
+	 */
+	public boolean isVisible() {
+		com.iver.andami.ui.mdiManager.IWindow f = PluginServices
+				.getMDIManager().getActiveWindow();
+
+		if (f == null) {
+			return false;
+		}
+
+		// Only isVisible = true, where the view have layers.
+		if (f instanceof BaseView) {
+			BaseView vista = (BaseView) f;
+			IProjectView model = vista.getModel();
+			MapContext mapa = model.getMapContext();
+
+			return mapa.getLayers().getLayersCount() > 0;
+		}
+		return false;
+	}
+
+	/**
+	 * @see com.iver.andami.plugins.IExtension#isEnabled() Options when we can
+	 *      use this animation type. View: must be a base view. One or more
+	 *      ACTIVATED layers in the view.
+	 */
+	public boolean isEnabled() {
+		// TODO Auto-generated method stub
+
+		com.iver.andami.ui.mdiManager.IWindow f = PluginServices
+				.getMDIManager().getActiveWindow();
+
+		// if the view is not activated.
+		if (f == null)
+			return false;
+		// if the view is a instance of a base view.
+		if (f instanceof BaseView) {
+			BaseView baseView = (BaseView) f;
+			IProjectView model = baseView.getModel();
+			MapContext mapContext = model.getMapContext();
+			FLayers layers = mapContext.getLayers();
+			FLayer[] actives = layers.getActives();
+			// only is enabled with one or more layers activated.
+			if (actives.length > 0) {
+				return true;
+			}
+		}
+		return false;
+	}
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/AnimationProperties.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/AnimationProperties.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/AnimationProperties.java	(revision 32773)
@@ -0,0 +1,243 @@
+/* gvSIG. Sistema de Informaciï¿½n Geogrï¿½fica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui.document;
+
+import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.event.ActionListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.JLabel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+import org.gvsig.gui.beans.swing.GridBagLayoutPanel;
+import org.gvsig.gui.beans.swing.JButton;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.ui.mdiManager.SingletonWindow;
+import com.iver.andami.ui.mdiManager.WindowInfo;
+import com.iver.cit.gvsig.project.documents.ProjectDocument;
+
+/**
+ * Dialog where are all the view properties
+ *  
+ * @author Ángel Fraile Griñán  e-mail: angel.fraile@iver.es
+ * @since 1.1
+ * 
+ */
+public class AnimationProperties extends GridBagLayoutPanel implements
+		SingletonWindow {
+
+	
+	private static final long serialVersionUID = 1L;
+
+	private JTextField txtName;
+
+	private JTextField txtDate;
+
+	private JTextField txtOwner;
+
+	private int width = 390;
+
+	private int height = 250;
+
+	private JScrollPane jScrollPane;
+
+	private JTextArea txtComments;
+	
+	private GridBagLayoutPanel okCancelPanel;
+	
+	private boolean editable;
+
+	private JButton okButton;
+
+	private JButton cancelButton;
+
+	private ProjectDocument projectDocument;
+
+	/**
+	 * Default constructor
+	 * 
+	 * @param ProjectDocument: Actual project document
+	 * @param boolean:
+	 */
+	public AnimationProperties(ProjectDocument p, boolean edit) {
+		projectDocument = p;
+		setEditable(edit);
+		initialize();
+	}
+
+	/**
+	 * This method initializes this
+	 */
+	private void initialize() {
+		// Inicialize component
+		setName("Animation properties");
+		// Introducing the margin 
+		setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));
+		// Dimension of the panel
+//		setSize(new Dimension(width, height));
+		this.setPreferredSize(new Dimension(width, height));
+		
+		// ADDING COMPONENTS
+		
+		// Name Component
+		this.addComponent(PluginServices.getText(this, "Name"), getTxtName(), new Insets(0,10,2,10));
+		// Date component
+		this.addComponent(PluginServices.getText(this, "Creation_Date"), getTxtDate(), new Insets(2,10,2,10));
+		// Owner component
+		this.addComponent(PluginServices.getText(this, "Owner"), getTxtOwner(), new Insets(2,10,2,10));
+		// Description component
+		GridBagLayoutPanel aux = new GridBagLayoutPanel();
+		aux.add(getJScrollPane());
+		addComponent(new JLabel(PluginServices.getText(this, "Commentaries")),new Insets(2,6,2,6));
+		addComponent(aux,new Insets(2,6,2,6));
+		
+		
+		// Accept buton
+		this.addComponent(getOkCancelPanel(),new Insets(2,150,2,0));
+		
+		// Inicialicing default values
+		this.txtName.setText(PluginServices.getText(this, "Creation_Date"));
+		txtName.setText(projectDocument.getName());
+		txtDate.setText(projectDocument.getCreationDate());
+		txtOwner.setText(projectDocument.getOwner());
+		txtComments.setText(projectDocument.getComment());
+		
+	}
+	
+	
+	private javax.swing.JTextField getTxtName() {
+		if (txtName == null) {
+			txtName = new javax.swing.JTextField();
+			txtName.setPreferredSize(new java.awt.Dimension(150, 23));
+		}
+
+		return txtName;
+	}
+
+	private javax.swing.JTextField getTxtDate() {
+		if (txtDate == null) {
+			txtDate = new javax.swing.JTextField();
+			txtDate.setPreferredSize(new java.awt.Dimension(150, 23));
+			txtDate.setEditable(false);
+			txtDate.setBackground(java.awt.Color.white);
+		}
+
+		return txtDate;
+	}
+
+	private javax.swing.JTextField getTxtOwner() {
+		if (txtOwner == null) {
+			txtOwner = new javax.swing.JTextField();
+			txtOwner.setPreferredSize(new java.awt.Dimension(150, 23));
+		}
+
+		return txtOwner;
+	}
+
+	
+		
+	private javax.swing.JScrollPane getJScrollPane() {
+		if (jScrollPane == null) {
+			jScrollPane = new javax.swing.JScrollPane();
+			//jScrollPane.setSize(new java.awt.Dimension(340, 70));
+			jScrollPane.setViewportView(getTxtComments());
+			jScrollPane.setPreferredSize(new java.awt.Dimension(340, 70));
+		}
+
+		return jScrollPane;
+	}
+	
+	private javax.swing.JTextArea getTxtComments() {
+		if (txtComments == null) {
+			txtComments = new javax.swing.JTextArea();
+			txtComments.setRows(1);
+			txtComments.setColumns(28);
+		}
+
+		return txtComments;
+	}
+	
+	
+	private GridBagLayoutPanel getOkCancelPanel() {
+		if (okCancelPanel == null) {
+			ActionListener okAction, cancelAction;
+			okAction = new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					projectDocument.setName(txtName.getText());
+					projectDocument.setCreationDate(txtDate.getText());
+					projectDocument.setOwner(txtOwner.getText());
+					projectDocument.setComment(txtComments.getText());
+					PluginServices.getMDIManager().closeWindow(AnimationProperties.this);
+				}
+			};
+			cancelAction = new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					PluginServices.getMDIManager().closeWindow(AnimationProperties.this);
+				}
+			};
+			
+			okCancelPanel = new GridBagLayoutPanel();
+			okCancelPanel.setAlignmentX(GridBagLayoutPanel.RIGHT_ALIGNMENT);
+			okButton = new JButton();
+			okButton.setText(PluginServices.getText(this, "Accept"));
+			okButton.addActionListener(okAction);
+			cancelButton = new JButton();
+			cancelButton.setText(PluginServices.getText(this, "Cancel"));
+			cancelButton.addActionListener(cancelAction);
+			
+			okCancelPanel.addComponent(okButton,cancelButton);
+		}
+		return okCancelPanel;
+	}
+	
+	
+	public Object getWindowModel() {
+		return projectDocument;
+	}
+
+	/**
+	 * 
+	 * @see com.iver.andami.ui.mdiManager.IWindow#getWindowInfo()
+	 * @return WindowInfo: window parameters
+	 */
+	public WindowInfo getWindowInfo() {
+		WindowInfo m_viewinfo = new WindowInfo();
+		m_viewinfo.setTitle("Animation Properties");
+		m_viewinfo.setHeight(height);
+		m_viewinfo.setWidth(width);
+		return m_viewinfo;
+	}
+	
+	public Object getWindowProfile() {
+		return WindowInfo.TOOL_PROFILE;
+	}
+
+	public boolean isEditable() {
+		return editable;
+	}
+
+	public void setEditable(boolean editable) {
+		this.editable = editable;
+	}
+}
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ExtensionPoint3D.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ExtensionPoint3D.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ExtensionPoint3D.java	(revision 32773)
@@ -0,0 +1,177 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+ /**
+  * @author Ángel Fraile Griñán  e-mail: angel.fraile@iver.es
+  * @since 1.1
+  * 
+  */
+package com.iver.ai2.animationgui.gui.document;
+
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.TreeMap;
+import java.util.Map.Entry;
+
+
+public class ExtensionPoint3D {
+
+	static private TreeMap<String, ExtensionPoint3D> map = new TreeMap<String, ExtensionPoint3D>();
+	private LinkedHashMap<String, Object> point = new LinkedHashMap<String, Object>();
+
+	private String name;
+	private String description;
+
+	/**
+	 * Construye un punto de extension.
+	 * @param extensionPointName Nombre del punto de extension.
+	 */
+	private ExtensionPoint3D(String extensionPointName) {
+		this.name = extensionPointName;
+	}
+	
+	/**
+	 * Construye un punto de extensión.
+	 * @param extensionPointName: Nombre del punto de extensión
+	 * @param description: Descripción del punto de extensión
+	 */
+	private ExtensionPoint3D(String extensionPointName, String description) {
+		this.name = extensionPointName;
+		this.description = description;
+	}
+
+	/**
+	 * Devuelve un punto de extensión asociado al identificador pasado por parametro.
+	 * En caso de no existir dicho punto de extensión, lo crea.
+	 * @param extensionPointName: Nombre del punto de extension
+	 * @return extensionPoint
+	 */
+	public static ExtensionPoint3D getExtensionPoint(String extensionPointName) {
+		ExtensionPoint3D extensionPoint = (ExtensionPoint3D) map.get(extensionPointName);
+		if (extensionPoint == null) {
+			extensionPoint = new ExtensionPoint3D(extensionPointName);
+			map.put(extensionPoint.getName(), extensionPoint);
+		}
+		return extensionPoint;
+	}
+	
+	/**
+	 * Borra un punto de extensión asociado al identificador pasado por parametro.
+	 * @param extensionPointName Nombre del punto de extension
+	 */
+	
+	public static void removeExtensionPoint(String extensionPointName) {
+			map.remove(extensionPointName);
+	}
+
+	
+	/**
+	 * Establece la descripción del punto de extensión actual.
+	 * @param description
+	 */
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	/**
+	 * Devuelve la descripción del punto de extensión actual
+	 * @return String: descripción
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * Devuelve el nombre del punto de extensión actual
+	 * @return String: nombre
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Registra un elemento en el punto de extensión actual asociándolo con un key identificador.
+	 * @param key
+	 * @param value
+	 */
+	public void register(String key, Object value) {
+		point.put(key, value);
+	}
+
+	/**
+	 * Devuelve un iterador para poder recorrer todos los elementos del punto de extensión.
+	 * @return
+	 */
+	public static Iterator<?> getExtensionIterator() {
+		return map.entrySet().iterator();
+	}
+	
+	/**
+	 * Devuelve un iterador para poder recorrer todos los elementos del punto de extensión.
+	 * @return
+	 */
+	public Iterator<?> getIterator() {
+		return point.entrySet().iterator();
+	}
+
+	/**
+	 * Devuelve el número de elementos que hay registrados en el punto de extensión
+	 * @return int
+	 */
+	public int size() {
+		return point.size();
+	}
+	
+	/**
+	 * Devuelve <tt>true</tt> si el punto de extensión contiene un key en su lista de elementos
+	 * @param key: clave de búsqueda
+	 * @return boolean
+	 */
+	public boolean existKey(String key) {
+		if (point.get(key) == null)
+			return false;
+		return true;
+	}
+
+	/**
+	 * Devuelve el elemento asociado al key pasado por parametro. En caso de no existir, devolverá
+	 * <tt>null</tt>.
+	 * @param key
+	 * @return
+	 */
+	public Object getValue(String key) {
+		return point.get(key);
+	}
+	
+	/**
+	 * Devuelve la lista de keys para el punto de extensión actual.
+	 * @param key
+	 * @return list
+	 */
+	public String[] getKeys() {
+		String[] list = new String[size()];
+		Iterator<?> iterator = getIterator();
+		int i = 0;
+		while (iterator.hasNext()) {
+			list[i] = (String) ((Entry<?, ?>) iterator.next()).getKey();
+			i++;
+		}
+		return list;
+	}
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocumentFactory.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocumentFactory.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocumentFactory.java	(revision 32773)
@@ -0,0 +1,137 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui.document;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Hashtable;
+
+import javax.swing.ImageIcon;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.ProjectDocument;
+import com.iver.cit.gvsig.project.documents.ProjectDocumentFactory;
+import com.iver.utiles.XMLEntity;
+
+public class ProjectAnimationDocumentFactory extends ProjectDocumentFactory {
+
+	public static String registerName = "ProjectAnimationDocument";
+	private int numViews = 0;
+	private boolean createFromGUI;
+	
+	public ProjectDocument createFromGUI(Project project) {
+		createFromGUI = true;
+		ProjectDocument doc = create(project);
+		createFromGUI = false;
+		return doc;
+	}
+
+	@Override
+	public ProjectDocument create(Project project) {
+		String viewName = "";
+        String aux = PluginServices.getText(this, "untitled");
+               viewName = aux + " - " + numViews ++;
+
+        if (project != null) {
+            while (existName(project, viewName)) {
+                viewName = aux + " - " + numViews++;
+            }
+        }
+//       ProjectDocument.NUMS.put(registerName,new Integer(numViews));
+       ProjectAnimationDocument Animation = createAnimation(viewName);
+		
+		if (Animation != null)
+			Animation.setProject(project, 0);
+
+		return Animation;
+	}
+	
+
+	/**
+	 * This method creates a new instance of animation
+	 * @param animationName
+	 * @return
+	 */
+	private ProjectAnimationDocument createAnimation(String animationName) {
+		 ProjectAnimationDocument animation = new ProjectAnimationDocument();
+		 animation.setName(animationName);
+		 animation.setCreationDate(DateFormat.getInstance().format(new Date()));
+		return animation;
+	}
+
+	public ImageIcon getButtonIcon() {
+		return new ImageIcon(this.getClass().getClassLoader().getResource(
+		"images/animation.png"));
+	}
+
+	public String getRegisterName() {
+		// TODO Auto-generated method stub
+		return ProjectAnimationDocumentFactory.registerName;
+	}
+
+	public ImageIcon getSelectedButtonIcon() {
+		return new ImageIcon(this.getClass().getClassLoader().getResource(
+		"images/animation_sel.png"));
+	}
+
+	public boolean resolveImportXMLConflicts(XMLEntity root, Project project,
+			Hashtable conflicts) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+	
+	/**
+	 * Registers in the points of extension the Factory with alias.
+	 * 
+	 */
+	public static void register() {
+		register(registerName , new ProjectAnimationDocumentFactory());
+	}
+	
+	/**
+	 * Returns the priority of de ProjectDocument.
+	 * 
+	 * @return Priority.
+	 */
+	public int getPriority() {
+		return 40;
+	}
+
+	/**
+	 * Returns the priority of the Document in the ProjectWindow list.
+	 * 
+	 * @return Priority.
+	 */
+	public int getListPriority() {
+		return 40; // so the 3D View appears before other document types
+	}
+	
+
+	/**
+	 * Returns the name of ProjectDocument.
+	 * 
+	 * @return Name of ProjectDocument.
+	 */
+	public String getNameType() {
+		return  PluginServices.getText(this, "Project_animation_document");
+	}
+
+}
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/Animation.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/Animation.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/Animation.java	(revision 32773)
@@ -0,0 +1,883 @@
+/* gvSIG. Sistema de Informaciï¿½n Geogrï¿½fica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+package com.iver.ai2.animationgui.gui.document;
+
+import java.awt.GridBagConstraints;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map.Entry;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JComboBox;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+
+import org.gvsig.gui.beans.swing.GridBagLayoutPanel;
+import org.gvsig.gui.beans.swing.JButton;
+import org.gvsig.gvsig3dgui.view.View3D;
+import org.gvsig.osgvp.terrain.TerrainViewer;
+import org.gvsig.osgvp.viewer.IViewerContainer;
+
+import com.iver.ai2.animationgui.gui.AnimationContol3D;
+import com.iver.ai2.animationgui.gui.util.AnimationUtils;
+import com.iver.ai2.gvsig3d.camera.ProjectCamera;
+import com.iver.ai2.gvsig3d.resources.ResourcesFactory;
+import com.iver.andami.PluginServices;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.andami.ui.mdiManager.IWindowListener;
+import com.iver.andami.ui.mdiManager.SingletonWindow;
+import com.iver.andami.ui.mdiManager.WindowInfo;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.animation.AnimationPlayer;
+import com.iver.cit.gvsig.animation.animatedObject.IAnimatedObject;
+import com.iver.cit.gvsig.animation.traks.IAnimationTrack;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.MapControl;
+import com.iver.cit.gvsig.fmap.layers.FLayer;
+import com.iver.cit.gvsig.fmap.layers.FLayers;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.view.IProjectView;
+import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
+import com.iver.cit.gvsig.project.documents.view.gui.View;
+
+/**
+ * @author ï¿½ngel Fraile Griï¿½ï¿½n  e-mail: angel.fraile@iver.es
+ * @since 1.1
+ * 
+ */
+
+public class Animation extends GridBagLayoutPanel implements SingletonWindow,
+		ItemListener, ActionListener,IWindowListener {
+
+	
+	private static final long serialVersionUID = 1L;
+
+	private int width = 300;
+
+	private int height = 80;
+	private int height2 = 135;
+
+	private AnimationContainer animationContainer;
+
+	private JButton captureKeyFrameButton;
+
+	private JButton captureLayerStateButton;
+
+	private JButton animationControl;
+
+	private JButton clearButton;
+
+	private JComboBox viewChoice = null;
+
+	private JComboBox layerChoice = null;
+
+	private BaseView viewSelected = null;
+
+	private FLayer layerSelected = null;
+
+	private List<IWindow> viewList;
+	
+	private List<BaseView> viewListAdded = new ArrayList<BaseView>();
+
+	private String buttonPath;
+
+	private ImageIcon imageCameraKeyFrame;
+
+	private ImageIcon imageLayer;
+
+	private ImageIcon imageAnimationControl;
+
+	private ProjectAnimationDocument projectAnimationDocument;
+
+	private AnimationContol3D contol3D = null;
+
+	private StateUpdate runnable = null;
+
+	private boolean openViews = false;
+
+	private Thread thread;
+	
+	private static int contador = 0;
+	
+	
+	/**
+	 * This is the default constructor
+	 * 
+	 * @param ProjectAnimationDocument: animation project document selected
+	 *           
+	 */
+	public Animation(ProjectAnimationDocument projectAnimationDocument) {
+		
+		this.projectAnimationDocument = projectAnimationDocument;
+		
+		animationContainer = projectAnimationDocument.animationContainer;
+		String oldPath = ResourcesFactory.getExtPath();// Save the path.
+		ResourcesFactory
+				.setExtPath("/gvSIG/extensiones/org.gvsig.extAnimationGUI/images/");// my new path
+		buttonPath = ResourcesFactory.getResourcesPath();
+		ResourcesFactory.setExtPath(oldPath);// Restore the old path.
+		initialize();
+		
+		IViewerContainer canvas = null;
+		List<IAnimationTrack> atl = animationContainer.getAnimationTrackList();
+		for (Iterator<IAnimationTrack> iterator = atl.iterator(); iterator.hasNext();) {
+			IAnimationTrack track = (IAnimationTrack) iterator.next();
+			IAnimatedObject animatedObject = (IAnimatedObject) track.getAnimatedObject();
+			try {
+				//if persistence is loaded, the canvas is null in this step
+				canvas = (IViewerContainer) animatedObject.getAnimatedObject("canvas");
+			}
+			catch (Exception e) {
+				//if canvas is null, do nothing
+			}
+			
+			if (canvas == null) {
+				try {
+						//Getting the name of the view
+						View3D view = (View3D) animatedObject.getAnimatedObject("view");
+						//Getting the canvas and insert this canvas in the animated object
+						animatedObject.addAnimatedObject("canvas", view.getCanvas3d());
+						if(!viewListAdded.contains((BaseView)view)) {
+							viewListAdded.add(((BaseView)view));
+							this.contol3D.setViewListAdded(viewListAdded);
+						}
+						
+						boolean find = projecViewControl(((BaseView)view));
+						
+						if (!find) {
+							ExtensionPoint3D point = ExtensionPoint3D.getExtensionPoint(projectAnimationDocument.getName());
+							point.register("vista" + contador++ , ((BaseView)view));
+						}
+						else
+						{
+							JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Vista_animada_info"),
+									viewChoice.getSelectedItem() + " " + PluginServices.getText(this, "Vista_animada_titulo"), JOptionPane.WARNING_MESSAGE);
+							return;
+						}
+						
+				}
+				catch(Exception e) {
+					//if canvas is null, do nothing. The view is 2D
+				}
+			}
+		
+		}
+		
+	}
+
+	public BaseView getViewSelected() {
+		return viewSelected;
+	}
+
+	public void setViewSelected(BaseView viewSelected) {
+		this.viewSelected = viewSelected;
+	}
+
+	public FLayer getLayerSelected() {
+		return layerSelected;
+	}
+
+	public void setLayerSelected(FLayer layerSelected) {
+		this.layerSelected = layerSelected;
+	}
+
+	/**
+	 * Composing the panel of an animation project
+	 */
+	private void initialize() {
+		// Inicialize component
+		setName("Animation properties");
+		// Introducing the margin
+		setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));
+		// Dimension of the panel
+		// setSize(new Dimension(width, height));
+		//this.setPreferredSize(new Dimension(width, height));
+
+		// ADDING COMPONENTS
+
+		GridBagConstraints c = new GridBagConstraints();
+
+		/*
+		 * gridx: column position in grid gridy: row position in grid anchor:
+		 * bottom of space
+		 */
+
+		// Creation of four buttons: play, stop, pause y record.
+		c = new GridBagConstraints();
+		c.gridx = 0;
+		c.gridy = 0;
+		c.insets = new Insets(5, 5, 2, 2);
+		this.add(getCaptureKeyFrameButton(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 1;
+		c.gridy = 0;
+		c.insets = new Insets(5, 2, 2, 2);
+		this.add(getCaptureLayerStateButton(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 2;
+		c.gridy = 0;
+		c.insets = new Insets(5, 2, 2, 2);
+		this.add(getAnimationControl(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 3;
+		c.gridy = 0;
+		c.insets = new Insets(5, 2, 2, 5);
+		c.fill = GridBagConstraints.BOTH;
+		this.add(getClearButton(), c);
+
+		// choice for mode player selection.
+		c = new GridBagConstraints();
+		c.gridx = 1;
+		c.gridy = 1;
+		c.insets = new Insets(2, 2, 2, 5);
+		c.anchor = GridBagConstraints.WEST;
+		c.gridwidth = 3;
+		c.fill = GridBagConstraints.BOTH;
+		this.add(getViewChoiceValue(), c);
+
+		// choice.setSelectedIndex(this.animationPlayer.getAnimationMode());
+		// Initializing values
+		viewChoice.setSelectedIndex(0);
+		if(viewChoice.getComponentCount()!=0){
+			int index = viewChoice.getSelectedIndex(); // get select item.
+			if (viewList != null && !viewList.isEmpty()) 
+				setViewSelected((BaseView) viewList.get(index));
+		}
+		
+//		c = new GridBagConstraints();
+//		c.gridx = 1;
+//		c.gridy = 2;
+//		c.insets = new Insets(2, 2, 2, 5);
+//		c.anchor = GridBagConstraints.WEST;
+//		c.gridwidth = 3;
+//		c.fill = GridBagConstraints.BOTH;
+//		this.add(getLayerChoiceValue(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 0;
+		c.gridy = 3;
+		c.insets = new Insets(0, 0, 0, 0);
+		c.anchor = GridBagConstraints.WEST;
+		c.fill = GridBagConstraints.BOTH;
+		c.weightx = 1.0;
+		c.gridwidth = 4;
+		getAnimationContol3D().setVisible(false);
+		this.add(getAnimationContol3D(), c);
+
+		c = new GridBagConstraints();
+		c.gridx = 0;
+		c.gridy = 4;
+		c.insets = new Insets(0, 0, 0, 0);
+		c.weightx = 1.0;
+		c.weighty = 1.0;
+		c.gridwidth = 4;
+		this.add(new JPanel(), c);
+		
+		startThread();
+	}
+
+	/**
+	 * Method to create the button that control the capture for key Frames.
+	 * The listener to lister this component is this class
+	 * 
+	 * @return JButton: component with all values inicilize 
+	 */
+	private JButton getCaptureKeyFrameButton() {
+		if (captureKeyFrameButton == null) {
+			captureKeyFrameButton = new JButton();
+			// path where are the image to load in the button.
+			imageCameraKeyFrame = new ImageIcon(buttonPath + "camera.png");
+			captureKeyFrameButton.setIcon(imageCameraKeyFrame);
+			captureKeyFrameButton.setActionCommand("CAMERA_KEY_FRAME");
+			captureKeyFrameButton.addActionListener(this);
+			captureKeyFrameButton.setToolTipText(PluginServices.getText(this,"Capturar_fotograma"));
+		}
+		return captureKeyFrameButton;
+	}
+
+	/**
+	 * Method to create the button that control the capture for Layer properties
+	 * The listener to lister this component is this class
+	 * 
+	 * @return JButton: component with all default values 
+	 */
+	private JButton getCaptureLayerStateButton() {
+		if (captureLayerStateButton == null) {
+			captureLayerStateButton = new JButton();
+			// path where are the image to load in the button.
+			imageLayer = new ImageIcon(buttonPath + "trans6.png");
+			captureLayerStateButton.setIcon(imageLayer);
+			captureLayerStateButton.setActionCommand("LAYER_PROPERTIES");
+			captureLayerStateButton.addActionListener(this);
+			captureLayerStateButton.setToolTipText(PluginServices.getText(this,"Animacion_de_transparencias"));
+		}
+		return captureLayerStateButton;
+	}
+
+	/**
+	 * Method that generates the button to open the player menu
+	 * The listener to lister this component is this class
+	 * 
+	 * @return JButton: Button to extend the player controls
+	 */
+	private JButton getAnimationControl() {
+		if (animationControl == null) {
+			animationControl = new JButton();
+			animationControl.setToolTipText(PluginServices.getText(this,"Player"));
+			// path where are the image to load in the button.
+			imageAnimationControl = new ImageIcon(buttonPath
+					+ "player.png");
+			animationControl.setIcon(imageAnimationControl);
+			animationControl.setActionCommand("ANIMATION_CONTROL");
+			animationControl.addActionListener(this);
+			
+		}
+		return animationControl;
+	}
+
+	/**
+	 * Method that generates the button to open the advance configuration
+ 	 * The listener to lister this component is this class
+ 	 * 
+	 * @return JButton: Button to clear the animation container
+	 */
+	private JButton getClearButton() {
+		if (clearButton == null) {
+			clearButton = new JButton();
+			clearButton.setText(PluginServices.getText(this, "Borrar_animacion"));
+			clearButton.setActionCommand("CLEAR_TRACK");
+			clearButton.addActionListener(this);
+			clearButton.setToolTipText(PluginServices.getText(this, "Borrar_animacion"));
+		}
+		return clearButton;
+	}
+
+	/**
+	 * @return Choice. Return the choice with the diferents modes of display.
+	 */
+	private JComboBox getViewChoiceValue() {
+		if (viewChoice == null) {
+			viewChoice = new JComboBox();
+			if (viewChoice.getItemCount() == 0)
+				viewChoice.addItem(PluginServices.getText(this, "no_views"));
+			
+			viewChoice.setToolTipText(PluginServices.getText(this, "Vista_a_animar"));
+			refreshViewSelector();
+		}
+		return viewChoice;
+	}
+	
+	/*
+	 * Refresh the choice with the ready views to animate
+	 */
+	private void refreshViewSelector() {
+		
+		IWindow[] openWindows = PluginServices.getMDIManager().getAllWindows();
+		
+		IWindow activeWindows = PluginServices.getMDIManager().getActiveWindow();
+		if(activeWindows instanceof BaseView)
+			viewChoice.setSelectedItem(activeWindows.getWindowInfo().getTitle());
+		
+		ArrayList<String> list = new ArrayList<String>();
+		for (int i = 0; i < openWindows.length; i++) {
+			IWindow window = openWindows[i];
+			if ((window.getClass().equals(View.class)) || (window.getClass().equals(View3D.class))) {
+				list.add(window.getWindowInfo().getTitle());
+				openViews = true;
+			}
+		}
+
+		if (list.size() == 0) {//No hay vistas abiertas
+			list.add(PluginServices.getText(this, "no_views"));
+			openViews = false;
+		}
+			
+		selectActualView();
+		// Comprobamos si el ArrayList es diferente al combo actual
+		if (compareArrayListWithComboBox(list, viewChoice))
+			return;
+		
+		Object object = viewChoice.getSelectedItem();
+		
+		viewChoice.removeAllItems();
+		viewList = new ArrayList<IWindow>();
+		for (int i = 0; i < openWindows.length; i++) {
+			IWindow window = openWindows[i];
+			if ((window.getClass().equals(View.class))
+					|| (window.getClass().equals(View3D.class))) {
+				viewChoice.addItem(window.getWindowInfo().getTitle());
+				viewList.add(window);
+			}
+		}
+		
+		if (viewChoice.getItemCount() == 0) {
+			viewChoice.addItem(PluginServices.getText(this, "no_views"));
+			viewList = null;
+		}
+		
+		viewChoice.setSelectedItem(object);
+		selectActualView();
+		
+		
+		this.updateUI();
+	}
+
+	
+	/*
+	 * Setting the actual view in the choice
+	 */
+	private void selectActualView() {
+		int index = viewChoice.getSelectedIndex(); // get select item.
+		if (viewList != null) {
+			setViewSelected((BaseView) viewList.get(index));
+		}
+	}
+
+	/*
+	 * Check if the ArrayList elements are equal to the JComboBox elements
+	 * Return true when the elements are equal
+	 * @param list
+	 * @param comboBox
+	 * @return boolean
+	 */
+	private boolean compareArrayListWithComboBox(ArrayList<String> list, JComboBox comboBox) {
+		if (list.size() != comboBox.getItemCount())
+			return false;
+
+		for (int i=0; i<list.size(); i++)
+			if (!list.get(i).equals(comboBox.getItemAt(i)))
+				return false;
+		
+		return true;
+	}
+	
+	
+	private void refreshLayerSelector() {
+		if (layerChoice == null)
+			return;
+		
+		// Rellenamos el ArrayList con los elementos que tiene que tener el combo
+		ArrayList<String> list = new ArrayList<String>();
+		IWindow[] viewArray = PluginServices.getMDIManager().getAllWindows();
+		for (int i = 0; i < viewArray.length; i++) {
+			IWindow window = viewArray[i];
+			if (viewChoice.getSelectedItem() != null) {
+				if (window.getWindowInfo().getTitle().equals(viewChoice.getSelectedItem())) {
+					BaseView view = (BaseView) window;// Working with base view
+					MapControl model = view.getMapControl();
+					FLayers flayers = model.getMapContext().getLayers();
+					for (int j = 0; j < flayers.getLayersCount(); j++) {
+						FLayer layer = flayers.getLayer(j);
+						String name = layer.getName();
+						list.add(name);
+					}
+					break;
+				}
+
+			}
+		}
+		if (list.size() == 0)
+			list.add(PluginServices.getText(this, "no_layers"));
+		
+		// Comprobamos si el ArrayList es diferente al combo actual
+		if (compareArrayListWithComboBox(list, layerChoice))
+			return;
+		
+		// En caso de que sea diferente, vaciamos el combo y lo volvemos a rellenar
+		layerChoice.removeAllItems();
+		for (int i = 0; i < viewArray.length; i++) {
+			IWindow window = viewArray[i];
+			if (viewChoice.getSelectedItem() != null) {
+				if (window.getWindowInfo().getTitle().equals(viewChoice.getSelectedItem())) {
+					BaseView view = (BaseView) window;// Working with base view
+					MapControl model = view.getMapControl();
+					FLayers flayers = model.getMapContext().getLayers();
+					for (int j = 0; j < flayers.getLayersCount(); j++) {
+						FLayer layer = flayers.getLayer(j);
+						String name = layer.getName();
+						layerChoice.addItem(name);
+					}
+					break;
+				}
+
+			}
+		}
+		if (layerChoice.getItemCount() == 0)
+			layerChoice.addItem(PluginServices.getText(this, "no_layers"));
+		
+		this.updateUI();
+	}
+	
+
+//	private JComboBox getLayerChoiceValue() {
+//		if (layerChoice == null) {
+//			layerChoice = new JComboBox();
+//			layerChoice.addItem(PluginServices.getText(this, "no_layers"));
+//			layerChoice.setToolTipText("Selecciï¿½n de la vista a animar");
+//		}
+//		return layerChoice;
+//	}
+
+	/**
+	 * Return full animation container 
+	 * @return animationContainer: Container with all the animations created
+	 */
+	public Object getWindowModel() {
+		return animationContainer;
+	}
+	
+	/**
+	 * 
+	 * @see com.iver.andami.ui.mdiManager.IWindow#getWindowInfo()
+	 * @return WindowInfo: window parameters
+	 */
+	public WindowInfo getWindowInfo() {
+		WindowInfo m_viewinfo = new WindowInfo();
+		m_viewinfo.setTitle(this.projectAnimationDocument.getName());
+		m_viewinfo.setHeight(height);
+		m_viewinfo.setWidth(width);
+		return m_viewinfo;
+	}
+	
+	/**
+	 * Listener of view choice changes
+	 */
+	public void itemStateChanged(ItemEvent event) {
+		Object obj = event.getSource();
+		// If the view select has changed
+		if (obj == viewChoice) {
+			int index = viewChoice.getSelectedIndex(); // get select item.
+			if (viewList != null) {
+				try {
+					setViewSelected((BaseView) viewList.get(index));
+//					System.out.println("Vista seleccionada : "
+//							+ getViewSelected().getWindowInfo().getTitle());
+					
+				}
+				catch(Exception e){
+					
+				}
+				
+			}
+		}
+	}
+	
+	
+	private void refreshWindowTittle() {
+		PluginServices.getMDIManager().getWindowInfo(this).setTitle(projectAnimationDocument.getName());
+	}
+	
+	/**
+	 * If the controls exists do nothing, else new instance of it 
+	 * @return AnimationContol3D: All the options to do animations
+	 */
+	private AnimationContol3D getAnimationContol3D() {
+		if (contol3D == null) {
+			AnimationPlayer ap = this.animationContainer.getAnimationPlayer();
+			ap.setAnimationContainer(animationContainer);
+			contol3D = new AnimationContol3D(ap);
+		}
+		return contol3D;
+	}
+	
+	/**
+	 * This method do the control of the actual view selected and the animated projects
+	 * 
+	 * @param bv: view selected
+	 * @return 
+	 *   - if the view is not in an animation: false
+	 *   - if the view is in an animation: true
+	 */
+	public boolean projecViewControl(BaseView bv) {
+		
+		boolean find = false;
+		
+		Iterator<?> iterator = ExtensionPoint3D.getExtensionIterator();
+		while (iterator.hasNext()) {
+			Entry<?, ?> entry = (Entry<?, ?>) iterator.next();
+			if (entry != null) {
+				String key = (String) entry.getKey();
+				if (!key.equals(projectAnimationDocument.getName())) {
+					ExtensionPoint3D point2 = ExtensionPoint3D.getExtensionPoint(key);
+					Iterator<?> iterator2 = point2.getIterator();
+					while (iterator2.hasNext()) {
+						Entry<?, ?> entry2 = (Entry<?, ?>) iterator2.next();
+						if (entry2 != null) {
+							if (bv == entry2.getValue()) {
+								find = true;
+								
+//								Iterator<ProjectDocument> it = projectList.iterator();
+//								while (it.hasNext()) {
+//									ProjectDocument projectDocument = (ProjectDocument) it.next();
+//									if (!projectAnimationDocument.getName().equals(projectDocument.getName())) {
+//											ProjectAnimationDocument pv = (ProjectAnimationDocument) projectDocument;
+//											int state = pv.getAnimationContainer().getAnimationPlayer().getAnimationPlayerState();
+//											if (state == 0 || state ==  2) {
+//												find = true;
+//											}
+//									}
+//								}
+							}
+						}
+					}
+				}
+			}
+		}
+		return find;
+	}
+	
+	/** 
+	 * Listener of all options of animation
+	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+	 * @param e: actual event
+	 */
+	public void actionPerformed(ActionEvent e) {
+		String actionCommand = e.getActionCommand();
+		//view keyframe
+		if (actionCommand.equals("CAMERA_KEY_FRAME")) {
+
+			// if the view is not activated or if the view is a instance of a base view.
+			if (!openViews ) {
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Closed_views_titulo2") + " " + projectAnimationDocument.getName(),
+						PluginServices.getText(this, "Closed_views_titulo") , JOptionPane.WARNING_MESSAGE);
+				return;
+				
+			}
+			
+			int statePlayer = this.projectAnimationDocument.animationContainer.getAnimationPlayer().getAnimationPlayerState();
+			if(statePlayer == 0 || statePlayer == 2) {
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Animacion_en_curso_info"),
+						PluginServices.getText(this, "Animacion_en_curso_info2") + " " + projectAnimationDocument.getName()
+						+ " " + PluginServices.getText(this, "Animacion_en_curso_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			BaseView bv = (BaseView)this.getViewSelected();
+			boolean find = projecViewControl(bv);
+			
+			if (!find) {
+				ExtensionPoint3D point = ExtensionPoint3D.getExtensionPoint(projectAnimationDocument.getName());
+				point.register("vista" + contador++ , bv);
+			}
+			else
+			{
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Vista_animada_info"),
+						viewChoice.getSelectedItem() + " " + PluginServices.getText(this, "Vista_animada_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			if(!viewListAdded.contains(bv)) {
+				viewListAdded.add(bv);
+				this.contol3D.setViewListAdded(viewListAdded);
+			}
+			
+			AnimationUtils.captureEncuadrator(
+					(BaseView) this.getViewSelected(), this.animationContainer,
+					this.projectAnimationDocument.getName());
+		} else if (actionCommand.equals("LAYER_PROPERTIES")) {
+
+			// Generating the animation transparency
+			BaseView bv = (BaseView)this.getViewSelected();
+			boolean find2 = projecViewControl(bv);
+			if(bv == null) {
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Closed_views_info"),
+						PluginServices.getText(this, "Closed_views_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			if (!find2) {
+				ExtensionPoint3D point = ExtensionPoint3D.getExtensionPoint(projectAnimationDocument.getName());
+				point.register("vista" + contador++ , bv);
+			}
+			else
+			{
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Vista_animada_info"),
+						viewChoice.getSelectedItem() + " " + PluginServices.getText(this, "Vista_animada_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			IProjectView model = bv.getModel();
+			MapContext mapContext = model.getMapContext();
+			FLayers layers = mapContext.getLayers();
+			FLayer[] actives = layers.getActives();
+			if( actives.length == 0) {
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "Mensaje_capas_info"),
+						PluginServices.getText(this, "Mensaje_capas_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			if(!viewListAdded.contains(bv)) {
+				viewListAdded.add(bv);
+				this.contol3D.setViewListAdded(viewListAdded);
+			}
+			AnimationUtils.createLayerTransparencyAnimation((BaseView) this
+					.getViewSelected(), this.animationContainer,
+					this.projectAnimationDocument.getName());
+
+		} else if (actionCommand.equals("ANIMATION_CONTROL")) {// player displayed
+		
+			// Resize the window
+			if (getAnimationContol3D().isVisible()) {
+				PluginServices.getMDIManager().getWindowInfo(this).setHeight(height + 30);
+			} else {
+				PluginServices.getMDIManager().getWindowInfo(this).setHeight(height2 + 30);
+			}
+			getAnimationContol3D().setVisible(!getAnimationContol3D().isVisible());
+		}
+		else if(actionCommand.equals("CLEAR_TRACK")) {// Option to clear the animation
+			int statePlayer = this.animationContainer.getAnimationPlayer().getAnimationPlayerState();
+			if(statePlayer == 0 || statePlayer == 2) {
+				JOptionPane.showMessageDialog(null,PluginServices.getText(this, "Animacion_borrar_info"),
+						PluginServices.getText(this,"Animacion_borrar_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			boolean emptyContainer = projectAnimationDocument.getAnimationContainer().isEmpty();
+			if(emptyContainer) {
+				JOptionPane.showMessageDialog(null, PluginServices.getText(this, "No_vistas_info") + " " +
+						projectAnimationDocument.getName()+ " " + PluginServices.getText(this, "No_vistas_info2"),
+						PluginServices.getText(this, "No_vistas_titulo"), JOptionPane.WARNING_MESSAGE);
+				return;
+			}
+			
+			this.animationContainer.removeAllTrack();
+			Iterator<BaseView> iter = viewListAdded.iterator();
+			while (iter.hasNext()) {
+				Object object = iter.next();
+				if (object instanceof View3D){
+					((TerrainViewer) ((View3D) object).getCanvas3d().getOSGViewer()).restoreCustomTerrainManipulator();
+				}
+			}
+			Project project = AnimationUtils.getProject();
+			removeCameras(project);
+			try {
+				ExtensionPoint3D.removeExtensionPoint(projectAnimationDocument.getName());
+				viewListAdded.clear();
+				this.contol3D.setViewListAdded(viewListAdded);
+			} catch (NullPointerException point_Null) {
+				point_Null.printStackTrace();
+				System.err.println("El punto de extensiï¿½n no existe.");
+			}
+		}
+	}
+
+	/**
+	 * Remove the cameras associated an animation project
+	 * @param project: Actual project to get the cameras
+	 */
+	void removeCameras(Project project) {
+		// Remove all animation keyframe from the encuadrator.
+		Object[] pcList = project.getCameras();
+		String AnimationPrefix = AnimationUtils.getAnimationPrefix();
+		int i = 0;
+		while (i < pcList.length) {
+			ProjectCamera projectCamera = (ProjectCamera) pcList[i];
+			if (projectCamera.getDescription().contains(AnimationPrefix)) {
+				project.removeCamera(i);
+				pcList = project.getCameras();
+			} else {
+				i++;
+			}
+		}
+	}
+
+	
+	public void windowActivated() {
+	}
+
+	/*
+	 * Stop the running thread when the animated window is closed
+	 * @see com.iver.andami.ui.mdiManager.IWindowListener#windowClosed()
+	 */
+	public void windowClosed() {
+		if(runnable != null)
+			runnable.end();
+		
+	}
+	
+
+	public class StateUpdate implements Runnable {
+
+		private boolean finish = false;
+
+		public void run() {
+			while (true) {
+				try {
+					Thread.sleep(300);
+					synchronized (this) {
+						refreshWindowTittle();
+						refreshViewSelector();
+						refreshLayerSelector();
+						if (finish) {
+							break;
+						}
+					}
+				} catch (InterruptedException e) {
+ 
+					e.printStackTrace();
+				}
+			}
+		}
+		
+		/*
+		 * function to stop the thread.
+		 */
+		public synchronized void end() {
+			finish = true;
+//			runnable = null;
+		}
+	}// end class StateUpdate.
+
+	/**
+	 * Getting the window profile
+	 * 
+	 */
+	public Object getWindowProfile() {
+		return WindowInfo.PROPERTIES_PROFILE;
+	}
+
+	public Thread getThread() {
+		return thread;
+	}
+
+	public void setThread(Thread thread) {
+		
+		this.thread = thread;
+	}
+	public void startThread() {
+		if (runnable == null) {
+			runnable = new StateUpdate();
+			// Create the thread supplying it with the runnable object
+			thread = new Thread(runnable);
+			// Start the thread
+			thread.start();
+		}
+	}
+	
+}
\ No newline at end of file
Index: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocument.java
===================================================================
--- tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocument.java	(revision 0)
+++ tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI/src/com/iver/ai2/animationgui/gui/document/ProjectAnimationDocument.java	(revision 32773)
@@ -0,0 +1,155 @@
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+*
+* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*/
+
+package com.iver.ai2.animationgui.gui.document;
+
+import java.util.Iterator;
+
+import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
+import com.iver.ai2.animationgui.gui.document.Animation.StateUpdate;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.cit.gvsig.animation.AnimationContainer;
+import com.iver.cit.gvsig.fmap.layers.XMLException;
+import com.iver.cit.gvsig.project.Project;
+import com.iver.cit.gvsig.project.documents.ProjectDocument;
+import com.iver.cit.gvsig.project.documents.exceptions.OpenException;
+import com.iver.cit.gvsig.project.documents.exceptions.SaveException;
+import com.iver.utiles.IPersistence;
+import com.iver.utiles.XMLEntity;
+
+public class ProjectAnimationDocument extends ProjectDocument {
+
+	
+	private static final long serialVersionUID = 1L;
+	AnimationContainer animationContainer;
+	private Animation animation = null;
+
+	public ProjectAnimationDocument() {
+		super();
+		this.animationContainer = new AnimationContainer();
+	}
+
+	public void afterAdd() {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void afterRemove() {
+		// TODO Auto-generated method stub
+
+	}
+
+	public IWindow createWindow() {
+		// Introduce here the code to make the gui.
+		if (animation == null)
+			animation = new Animation(this);
+		else
+			animation.startThread();
+		return animation;
+	}
+
+	public void exportToXML(XMLEntity root, Project project) {
+		// TODO Auto-generated method stub
+	}
+
+	public IWindow getProperties() {
+		// TODO Auto-generated method stub
+		// Introduce here the code to make the gui for the properties.
+		return new AnimationProperties(this, false);
+	}
+
+	public void importFromXML(XMLEntity root, XMLEntity typeRoot,
+			int elementIndex, Project project, boolean removeDocumentsFromRoot) {
+		// TODO Auto-generated method stub
+
+	}
+
+	public AnimationContainer getAnimationContainer() {
+		return animationContainer;
+	}
+
+	public void setAnimationContainer(AnimationContainer animationContainer) {
+		this.animationContainer = animationContainer;
+	}
+
+	public XMLEntity getXMLEntity() {
+		XMLEntity xml = null;
+		try {
+			xml = super.getXMLEntity();
+			xml.addChild(this.animationContainer.getXMLEntity());
+		} catch (SaveException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return xml;
+	}
+
+	public void setXMLEntity(XMLEntity xml) {
+		// Busqueda de un hijo a partir de su nombre.
+		// Node AnimationContainer in the animation tree. Calling setXmlEntity()
+		// methods.
+		// Reconstruyendo el framework. Primer paso: nuevo container para
+		// almacenar.
+		try {
+			super.setXMLEntity(xml);
+
+			int animations = 0;
+			Iterator<XMLEntity> iterator = xml.findChildren(
+					"animationContainer", "true");
+			if (iterator.hasNext()) {
+				XMLEntity xmlAC = iterator.next();
+				animations++;
+					String classAC = xmlAC.getStringProperty("className");
+					Class<?> clase = Class.forName(classAC);
+					animationContainer = (AnimationContainer) clase
+							.newInstance();
+			}
+
+			// Crear objeto a partir de su clase.
+			Iterator<XMLEntity> iterXML = xml.findChildren("className",
+					"com.iver.cit.gvsig.animation.AnimationContainer");
+			if (iterXML.hasNext()) {
+				((IPersistence) animationContainer)
+						.setXMLEntity((XMLEntity) iterXML.next());
+			}
+
+		} catch (XMLException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		} catch (OpenException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		} catch (ReadDriverException e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		} catch (InstantiationException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IllegalAccessException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (ClassNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+
+	}
+
+
+}

Property changes on: tags/gvSIG_3D_Animation_1_9_SNAPSHOT_build_14/extensions/extAnimationGUI
___________________________________________________________________
Added: svn:ignore
   + .settings
target
.classpath
.project


