Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.cvsignore
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.cvsignore	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.cvsignore	(revision 11534)
@@ -0,0 +1,2 @@
+bin
+dist-src

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.cvsignore
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.xml
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.xml	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.xml	(revision 11534)
@@ -0,0 +1,95 @@
+<project name="Generar extension en Andami" default="generate-without-source" basedir=".">
+    <description>
+        Instala el plugin de Centrar la Vista sobre un punto en Andami.
+    </description>
+  <!-- set global properties for this build -->
+  <property name="src" location="src"/>
+  <property name="bin" location="bin"/>
+  <property name="doc"  location="doc"/>
+  <property name="dist"  location="dist"/>
+  <property name="dist-src-name"  value="dist-src"/>
+  <property name="dist-src"  location="${dist-src-name}"/>	
+  <property name="without_src"  location="without_src"/>
+  <property name="plugin" value="com.iver.gvsig.expresionfield"/>
+  <property name="mainplugin" value="com.iver.cit.gvsig"/>
+  <property name="extensionDir" location="../_fwAndami/gvSIG/extensiones"/>
+  <property name="readMe.files" value="Leeme-ExpresionField.txt, Readme-ExpresionField.txt"/>
+
+	<property name="build" location="bin"/>
+  <target name="init">
+    <!-- Create the time stamp -->
+    <tstamp/>
+  </target>
+	
+	
+	  <target name="generate-source-package">
+	  	<delete dir="${dist-src}" quiet="yes"/>
+	  	<mkdir dir="${dist-src}"/>
+	  	<basename file="${basedir}" property="extensionProjectDir"/>
+	  	<mkdir dir="${dist-src}/${extensionProjectDir}"/>
+	    <copy todir="${dist-src}/${extensionProjectDir}">
+	      <fileset dir="${basedir}"/>
+	    </copy>
+	  	<copy todir="${dist-src}">
+	  		<fileset dir="${basedir}/install/resources" includes="${readMe.files}"/>
+	  	</copy>
+	  	<delete dir="${dist-src}/${extensionProjectDir}/bin"/>
+	  	<mkdir dir="${dist-src}/${extensionProjectDir}/bin"/>
+	  	<delete dir="${dist-src}/${extensionProjectDir}/install"/>
+	  	<delete dir="${dist-src}/${extensionProjectDir}/dist" quiet="yes"/>
+	  	<delete dir="${dist-src}/${extensionProjectDir}/dist-src" quiet="yes"/>
+	  	<loadproperties srcFile="build.number"/>
+	  	<replace casesensitive="true"
+	  	  	token="#build.number#"
+	  		value="${build.number}"
+	  		dir="${dist-src}"
+	  		includes="${readMe.files}"/>  		
+	  	 <zip destfile="${dist-src}/gvsig_expresionfield-01_${build.number}-src.zip"
+	  	       basedir="${dist-src-name}"
+	  	       excludes="*.zip"
+	  	  />
+	  		
+	  </target>
+	
+	
+	
+	
+	<target name="buildNumber">
+		<propertyfile
+				file="build.number"
+				comment="Build Number for ANT. Do not edit!">
+				<entry  key="build.number" default="0" type="int" operation="+"/>
+		</propertyfile>
+		<property file="build.number"/>
+	</target>
+	<target name="distribution"
+		description="increment build number and generate the distribution without the source file"
+		depends="buildNumber,generate-without-source">
+	</target>
+  <target name="generate-without-source" description="generate the distribution without the source file" >
+    <!-- Create the distribution directory -->
+    <mkdir dir="${without_src}"/>
+
+    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
+    <jar jarfile="${without_src}/${plugin}.jar" basedir="${bin}"/>
+    <copy file="config/config.xml" todir="${without_src}"/>
+  	<copy file="build.number" todir="${without_src}"/>
+  	<copy file="config/about.htm" todir="${without_src}"/>
+  	<loadproperties srcFile="build.number"/>
+  	<replace casesensitive="true"
+  		file="${without_src}/about.htm"
+  	  	token="#build.number#"
+  		value="${build.number}"/>
+  	<copy todir="${without_src}">
+    	<fileset dir="config" includes="text*.properties"/>
+    </copy>
+    <copy todir="${without_src}/images">
+    	<fileset dir="images/" includes="*"/>
+    </copy>
+    <move todir="${extensionDir}/${plugin}/">
+    	<fileset dir="${without_src}" includes="**/**"/>
+    </move>
+  </target>
+
+</project>
+

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.xml
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.classpath
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.classpath	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.classpath	(revision 11534)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/_fwAndami"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/appgvSIG"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/extCAD"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/libFMap"/>
+	<classpathentry kind="lib" path="/extScripting/lib/bsf-2.3.0rc1.jar"/>
+	<classpathentry sourcepath="/libGDBMS" kind="lib" path="/libFMap/lib/gdbms-0.8-SNAPSHOT.jar"/>
+	<classpathentry sourcepath="/libCq CMS for java" kind="lib" path="/libFMap/lib/cms.jar"/>
+	<classpathentry sourcepath="/libUI" kind="lib" path="/_fwAndami/lib/beans.jar"/>
+	<classpathentry sourcepath="/Utiles/src" kind="lib" path="/_fwAndami/lib/iver-utiles.jar"/>
+	<classpathentry sourcepath="/libDriverManager" kind="lib" path="/libFMap/lib/driver-manager-1.1.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.classpath
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.project
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.project	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.project	(revision 11534)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>extExpresionField</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>de.loskutov.FileSync.FSBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
+	</natures>
+</projectDescription>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/.project
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text.properties
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text.properties	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text.properties	(revision 11534)
@@ -0,0 +1,34 @@
+#text.properties
+advanced=Avanzado
+boolean_value=Valor boleano
+calculate_expresion=Calcular expresión
+charging_operators=Cargando operadores
+clear_expresion=Borrar expresión
+column=Columna
+commands=Comandos
+continue?=¿Quiere continuar?
+date=Fecha
+date_value=Valor fecha
+error_expresion=Error en la expresión
+eval_expresion_will_be_carried_out_right_now_with_current_values_in_table=El cálculo de la expresión se realizará en este momento\nsobre los registros existentes en la tabla.
+evaluate=Evaluar
+evaluate_expresion_with_errors=Expresiones evaluadas con errores
+explorer=Explorar
+expresion=Expresión
+expresions=Expresiones
+expresions_from_file=Expresiones de fichero
+field=Campo
+general=General
+incorrect_file=Fichero incorrecto
+information=Información
+it_has_established_a_limit_of_rows_will_lose_the_possibility_to_undo_wants_to_continue=Tiene establecido un límite de registros en preferencias, perderá la posibilidad de deshacer. ¿Quiere continuar?
+limit_rows_in_memory=Límite de registros en memoria
+numeric=Numérico
+numeric_value=Valor numérico
+parameter=Parámetro
+returns=Devuelve
+specifies_the_limit_rows_in_memory_when_the_program_eval_the_expresion=Especifica el número de registros\n  en memoria cuando se evalue la expresión,\n  reduciendose drásticamente la velocidad\n cuando se limite.
+string=Cadena
+string_value=Valor cadena
+type=Tipo
+without_limit=Sin límite
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text.properties
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/about.htm
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/about.htm	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/about.htm	(revision 11534)
@@ -0,0 +1,21 @@
+<html>
+  <head>
+    <title>Extesi&oacute;n de la Aplicaci&oacute;n para el c&aacute;lculo de una expresi&oacute;n sobre una columna de la tabla.</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. 2007.</font></td>
+  </tr>
+</table>
+  <h3>Extensi&oacute;n de la Aplicaci&oacute;n para el c&aacute;lculo de una expresi&oacute;n sobre una columna de la tabla.</h3>
+  <p><br><br><b> Build Number: #build.number#</b></p>
+  </body>
+</html>
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/about.htm
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text_en.properties
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text_en.properties	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text_en.properties	(revision 11534)
@@ -0,0 +1,34 @@
+#text_en.properties
+advanced=Advanced
+boolean_value=Boolean value
+calculate_expresion=Calculate expresion
+charging_operators=Charging operators
+clear_expresion=Clear expresion
+column=Column
+commands=Commands
+continue?=Continue?
+date=Date
+date_value=Date value
+error_expresion=Error expresion
+eval_expresion_will_be_carried_out_right_now_with_current_values_in_table=Eval expresion will be carried out right now\nwith current values in table.
+evaluate=Evaluate
+evaluate_expresion_with_errors=Evaluated expresions with errors
+explorer=Explorer
+expresion=Expresion
+expresions=Expresions
+expresions_from_file=Expresions from file
+field=Field
+general=General
+incorrect_file=Incorrect file
+information=Information
+it_has_established_a_limit_of_rows_will_lose_the_possibility_to_undo_wants_to_continue=It has established a limit of rows in preferences, will lose the possibility to undo.  Wants to continue?
+limit_rows_in_memory=Limit rows in memory
+numeric=Numeric
+numeric_value=Numeric value
+parameter=Parameter
+returns=Returns
+specifies_the_limit_rows_in_memory_when_the_program_eval_the_expresion=Speficies the limit rows in memory when the program eval the expresion\n The limit down the velocity.
+string=String
+string_value=String value
+type=Type
+without_limit=Without limit
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/text_en.properties
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/config.xml
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/config.xml	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/config.xml	(revision 11534)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<libraries library-dir="."/>
+	<depends plugin-name="com.iver.cit.gvsig"/>
+	<depends plugin-name="com.iver.cit.gvsig.cad"/>
+	<depends plugin-name="org.gvsig.scripting"/>
+		<resourceBundle name="text"/>
+	<extensions>
+		<extension class-name="com.iver.cit.gvsig.ExpresionFieldExtension"
+			description="Extension that evaluate the expresion to a column."
+			active="true">
+			<menu text="field/expresion" tooltip="expresion"
+				action-command="EXPRESION"
+				icon="images/kcalc.png" />
+			<tool-bar name="field_toolbar">
+				<action-tool icon="images/kcalc.png"
+					action-command="EXPRESION" tooltip="expresion"
+					last="true"/>
+			</tool-bar>
+		</extension>
+		<extension class-name="com.iver.cit.gvsig.AboutExpresionFieldExtension"
+			description="Extension to add about panel."
+			active="true"
+			priority="1">
+		</extension>
+	</extensions>
+</plugin-config>
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/config/config.xml
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/expresion.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/expresion.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/kcalc.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/kcalc.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/FieldExpresion.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/FieldExpresion.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/logo_horiz_bicolor_gva.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/logo_horiz_bicolor_gva.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/logoIver.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/images/logoIver.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.number
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.number	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.number	(revision 11534)
@@ -0,0 +1,3 @@
+#Build Number for ANT. Do not edit!
+#Wed May 09 14:05:22 CEST 2007
+build.number=2

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/build.number
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/build.xml
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/build.xml	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/build.xml	(revision 11534)
@@ -0,0 +1,35 @@
+<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="../../install/IzPack"/>
+	<property name="dir_libs" location="${izpack_dir}/lib"/>
+	
+	<taskdef name="izpack" classpath="${dir_libs}/compiler.jar" classname="com.izforge.izpack.ant.IzPackTask"/>
+	
+	<target name="init">
+		<izpack input="install.xml" 
+				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>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/build.xml
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/variables.sh
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/variables.sh	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/variables.sh	(revision 11534)
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+export APPNAME=gvsig_expresionfield
+export FULLVERSION='0.1'
+#export FULLVERSION='1.0'
+export TARGET_DIR=/tmp/"$APPNAME"/versiones
+#export TARGET_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/
+export MAIN_INSTALL_PLUGIN=com.iver.gvsig.expresionfield #Nombre del plugin que proporciona el 'build.nuber' para la distribucion
+
+## estas extensiones se muestran en los packs, y se puede elegir instalarlos o no
+## (el fichero install.xml tambien debe estar actualizado para reflejar esto)
+EXTENSIONS=(
+"$MAIN_INSTALL_PLUGIN"
+)

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/variables.sh
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/install.xml
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/install.xml	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/install.xml	(revision 11534)
@@ -0,0 +1,80 @@
+<installation version="1.0">
+	<info>
+		<!--<appname>gvSIG_1.0_alpha</appname>-->
+		<appname>gvSIG_expresionField_0.1</appname>
+		<appversion>0.1</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="unix" />
+		</laf>
+		<laf name="liquid">
+			<os family="windows" />
+		</laf>
+	</guiprefs>
+
+	<locale>
+		<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>
+
+		<pack name="ExtensiÃ³n Calcular ExpresiÃ³n en Campo" required="yes">
+			<description>ExtensiÃ³n para cÃ¡lcular una expresiÃ³n sobre un campo.</description>
+			<file targetdir="$INSTALL_PATH/bin/gvSIG/extensiones/" src="extensiones/com.iver.gvsig.expresionfield" override="true"/>
+		</pack>
+
+
+</packs>
+
+</installation>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/install.xml
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/distribucion.sh
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/distribucion.sh	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/distribucion.sh	(revision 11534)
@@ -0,0 +1,235 @@
+#!/bin/bash
+
+# Si se produce un error, salimos inmediatamente
+set -e
+
+
+# Obtenemos el locale
+LOC=`echo $LANG | sed 's/_.*//'`
+
+# Comprobar que estamos en el directorio adecuado
+if [ "$LOC" = "es" ] ; then
+  ERROR_BASEDIR="Este script debe invocarse desde el directorio  \'install\' del proyecto"
+else
+  ERROR_BASEDIR="This script must be run from the \'install\' directory of the project"
+fi
+if [ ! -d ../../install/instalador-gvSIG-lin ] || [ ! -d ../../install/instalador-gvSIG-win ] || [ ! -d ../../_fwAndami ] ; then
+        echo $ERROR_BASEDIR
+        exit 1 ;
+fi
+
+DIR_BASE=`pwd`
+GVSIG_INSTALLDIR=`readlink -f ../../install`
+ANDAMI_DIR=`readlink -f ../../_fwAndami`
+
+source variables.sh
+# Get a version with format 1_0_alpha
+UNDERSCORE_VERSION=`echo $FULLVERSION | sed 'y/./_/'`
+# Get a version with format 10_alpha
+BRIEFVERSION=`echo $FULLVERSION | sed 's/\.//'`
+# The name of the dir which will be ZIPed, containing the resulting installer
+INSTALLER_DIR="$APPNAME"-$FULLVERSION\_installer
+JARNAME="$APPNAME"-"$FULLVERSION".jar
+# The extension targets on the this version of gvSIG:
+GVSIG_VERSION=1.0
+
+BUILDNUMBER=`sed -n 's/build.number=//p' "$ANDAMI_DIR"/gvSIG/extensiones/"$MAIN_INSTALL_PLUGIN"/build.number`
+
+#ZIPNAME="$APPNAME"-"$UNDERSCORE_VERSION"\_"$BUILDNUMBER".zip
+DIR_LIN=.
+DIR_WIN=.
+
+DIR_LIN_GVSIG="$GVSIG_INSTALLDIR"/instalador-gvSIG-lin
+DIR_WIN_GVSIG="$GVSIG_INSTALLDIR"/instalador-gvSIG-win
+
+
+WINDOWSZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.7z
+LINUXZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.tgz
+
+LINUXBIN="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.bin
+
+WINDOWSEXE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.exe
+
+#Directorios
+#OUTPUT_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/v"$FULLVERSION"\_"$BUILDNUMBER"
+OUTPUT_DIR="$TARGET_DIR"/v"$FULLVERSION"\_"$BUILDNUMBER"
+PATH_SOURCE_EXT="$ANDAMI_DIR"/gvSIG/extensiones
+
+
+echo "*****************"
+echo "      BASE       "
+echo "*****************"
+
+cd "$DIR_BASE"/
+rm bin -rf
+mkdir -p bin/gvSIG/extensiones
+#cp "$DIR_WIN_GVSIG"/installer_files/LEEME "$DIR_WIN_GVSIG"installer_files/LLIG-ME "$DIR_WIN_GVSIG"installer_files/README bin
+cp resources/gpl.txt bin
+# No enlazamos directamente el directorio lib para no incluir el directorio CVS
+mkdir -p bin/lib
+cd "$DIR_BASE"/bin/lib
+for i in "$ANDAMI_DIR"/lib/*.jar ; do
+  ln -s "$i" .
+done
+for i in "$ANDAMI_DIR"/lib/*.zip ; do
+  ln -s "$i" .
+done
+cd "$DIR_BASE"/
+ln -s "$ANDAMI_DIR"/andami.jar bin/
+ln -s "$ANDAMI_DIR"/castor.properties bin/
+#cp resources/andami-config.xml bin
+echo OK.
+
+
+# Para Windows
+#Copiamos el lanzador y sus tracuciones al tmpResources
+rm -Rf tmpResources
+mkdir tmpResources
+cp -R "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3/dist/* ./tmpResources
+mv ./tmpResources/launcher-Win32.exe ./tmpResources/gvSIG.exe
+#Quitamos el ini, manifest y los CVS
+rm ./tmpResources/*.ini ./tmpResources/*.manifest
+find ./tmpResources -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
+echo OK.
+
+# Estas extensiones se copian directamente al directorio destino, ya que no vamos a dar
+# opcion a no instalarlas, son obligatorias
+cd "$DIR_BASE"
+i=0
+while [ ! -z ${MANDATORY_EXTENSIONS[$i]} ]
+do
+  echo ln -s "$PATH_SOURCE_EXT"/${MANDATORY_EXTENSIONS[$i]} bin/gvSIG/extensiones
+  ln -s "$PATH_SOURCE_EXT"/${MANDATORY_EXTENSIONS[$i]} bin/gvSIG/extensiones
+  i=`expr $i + 1`
+done
+
+echo "*****************"
+[ $LOC = "es" ] && echo "   EXTENSIONES   "
+[ $LOC != "es" ] && echo "   EXTENSIONS   "
+echo "*****************"
+
+rm -rf extensiones
+mkdir extensiones
+
+i=0
+while [ ! -z ${EXTENSIONS[$i]} ]
+do
+  [ $LOC = "es" ] && echo "Enlazando "${EXTENSIONS[$i]}
+  [ $LOC != "es" ] && echo "Linking "${EXTENSIONS[$i]}
+  echo ln -s "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} extensiones
+  ln -s "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} extensiones
+  i=`expr $i + 1`
+done
+
+echo "*****************"
+echo "    INST     "
+echo "*****************"
+# Generar el instalador (jar)
+cd "$DIR_BASE"/
+rm "$JARNAME" -f
+ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
+
+
+echo "******************"
+[ $LOC = "es" ] && echo " GENERAR DISTRIB "
+[ $LOC != "es" ] && echo " GENERATE DISTRIB "
+echo "******************"
+# Generar el tar.gz para Linux y el EXE para Windows
+
+mkdir -p "$OUTPUT_DIR"
+echo "- Linux"
+## Nueva instalacion para linux
+rm -Rf "$INSTALLER_DIR"
+mkdir -p "$INSTALLER_DIR"/tmp_gvSIGInstall
+cp "$JARNAME" "$INSTALLER_DIR"/tmp_gvSIGInstall
+cd "$INSTALLER_DIR"
+chmod u+x "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3_linux/dist/launcher-Linux
+cp -R "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3_linux/dist/* ./tmp_gvSIGInstall
+chmod a+x ./tmp_gvSIGInstall/launcher-Linux
+find . -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
+
+sed "s/%JARNAME%/$JARNAME/" ./tmp_gvSIGInstall/launcher.ini > ./tmp_gvSIGInstall/launcher.ini.bak
+mv ./tmp_gvSIGInstall/launcher.ini.bak ./tmp_gvSIGInstall/launcher.ini;
+
+tar -cvzf ./tmp.tgz ./tmp_gvSIGInstall
+echo '#!/bin/sh' > xx.tmp
+lcount=`cat xx.tmp "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh | wc -l`
+lcount=$(($lcount+2)) # sumamos dos: uno por la linea siguiente y otro para el inicio
+echo "lcount=$lcount" >> xx.tmp
+cat xx.tmp "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp.tgz  > "$LINUXBIN"
+rm xx.tmp
+chmod a+x "$LINUXBIN"
+mv "$LINUXBIN" "$OUTPUT_DIR"
+cd "$DIR_BASE"/
+rm -Rf "$INSTALLER_DIR"
+## Fin Nueva instalacion para linux
+
+## Para Windows
+echo "- Windows"
+#set -x
+cd "$DIR_BASE"
+rm -Rf "$INSTALLER_DIR"
+
+mkdir "$INSTALLER_DIR"
+cp -aR "$GVSIG_INSTALLDIR"/launcher/izpack-launcher-1.3/dist/* "$INSTALLER_DIR"
+rm -f "$INSTALLER_DIR"/install.bat
+
+find "$INSTALLER_DIR" -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
+
+## hacemos las sustituciones de la variable
+sed "s/%JARNAME%/$JARNAME/" "$INSTALLER_DIR"/launcher-Win32.ini > "$INSTALLER_DIR"/launcher-Win32.ini.bak
+mv "$INSTALLER_DIR"/launcher-Win32.ini.bak "$INSTALLER_DIR"/launcher-Win32.ini;
+
+
+mv "$JARNAME" "$INSTALLER_DIR"
+cd "$INSTALLER_DIR"
+
+if [ -f  "$DIR_BASE"/"$WINDOWSZIP" ] ; then
+	rm -f "$DIR_BASE"/"$WINDOWSZIP"
+fi
+chmod u+x "$GVSIG_INSTALLDIR"/launcher/7z/7za
+"$GVSIG_INSTALLDIR"/launcher/7z/7za a -r "$DIR_BASE"/"$WINDOWSZIP" *
+cd -
+sed "s/%TITLE%/$APPNAME-$BRIEFVERSION\_$BUILDNUMBER/" "$GVSIG_INSTALLDIR"/launcher/7z/dist_config.txt > dist_config.txt
+cat "$GVSIG_INSTALLDIR"/launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXE"
+
+###
+
+
+rm dist_config.txt
+rm "$WINDOWSZIP"
+
+rm -Rf "$INSTALLER_DIR"
+
+mv "$WINDOWSEXE" "$OUTPUT_DIR"
+
+# Limpiamos tmpResources
+cd "$DIR_BASE"/
+rm -r ./tmpResources
+cd -
+
+## Limpiamos
+
+rm -rf extensiones
+rm -rf bin
+
+echo "******************"
+[ $LOC = "es" ] && echo " GENERAR FUENTES "
+[ $LOC != "es" ] && echo " GENERATE SOURCES "
+echo "******************"
+
+cd ..
+ant generate-source-package
+mv dist-src/gv*-src.zip "$OUTPUT_DIR"
+cd -
+
+
+echo "*****************"
+echo "    FIN     "
+echo "*****************"
+
+echo ""
+echo "Generados los ficheros:"
+echo "$OUTPUT_DIR"
+ls -lh "$OUTPUT_DIR"
+cd "$DIR_BASE"

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/distribucion.sh
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_deu
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_deu	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_deu	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_deu
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_ita
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_ita	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_ita	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_ita
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_por
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_por	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_por	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_por
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/gpl.txt
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/gpl.txt	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/gpl.txt	(revision 11534)
@@ -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

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/gpl.txt
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cze
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cze	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cze	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cze
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_val
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_val	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_val	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_val
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_spa
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_spa	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_spa	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_spa
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Leeme-ExpresionField.txt
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Leeme-ExpresionField.txt	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Leeme-ExpresionField.txt	(revision 11534)
@@ -0,0 +1,30 @@
+Plugin Calculadora de Campos versión 1.0 (Build Number #build.number#):
+
+Antes de comenzar compruebe los siguientes puntos:
+
+1.- Descargue los fuentes de la v1.0.2 de gvSIG. Siga los pasos allí indicados en el archivo 'Leeme.txt' para obtener un entorno de desarrollo funcional.
+
+*** Compilación
+
+1.- Descomprima este paquete dentro del directorio de fuentes que acaba de preparar ( gvSIG-1_0_2-src).
+
+2.- (Sólo si usa eclipse) Importe los proyectos que acaba de descomprimir:
+  *1: Menú File/Import.
+  *2: Seleccione 'Existing Projects into workspace' y 'Next'
+  *3: Con la opción 'Select root directory' pulse 'Browse...'
+  *4: Sitúese en el directorio del workspace (normalmente el dialogo ya se encuentra en él) y pulse 'Aceptar'.
+  *5: Pulse 'Deselect All'
+  *6: Marque los siguientes proyectos de la lista: extExpresionField.
+  *7: Pulse 'Finish'.
+
+3.- Ejecute el 'build.xml' del proyecto 'extExpresionField' (usando ant o eclipse).
+
+Ante cualquier problema:
+
+Apuntese a la lista de desarrolladores de gvSIG y pregunte allí (http://www.gvsig.gva.es).
+
+Gracias por desarrollar sobre gvSIG.
+
+Un saludo.
+
+Equipo gvSIG.

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Leeme-ExpresionField.txt
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.GIF
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.GIF	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.GIF	(revision 11534)
@@ -0,0 +1,6 @@
+GIF89a !÷øº4°°±ªÆèúÈe-�ÎÕ§Fôµ+üÔ‹ýØ–q§Úþå¹úÄXD‚²¸—S�ŒŒæææROPûÌs–»ãH–Òqoo‰ÊýÜ¡‚sWê±3÷¸+3…½›…Xä®9¤‹WØ×ØSwšÅÄÅ4/)Ì¢KüüüO}¦óóô
+ù½@ýëËúÁLˆÆVl…§4Ug}Â�PhS0ƒ°ÞÃ¹¥ýá­�{XqfQÜª@[WVýóâˆxW®‘VÖäó‘ˆuUqŽÀÕí~||É®}×È¬�˜°¹Œ4;87”€X¦¥¦´§�»º»¦“müÐšššj�™ðððR[hìììÿùïíáÊ_ŸÖööö‡qHÏÎÎÊÊË½¢oÓ¾˜Ç¢V—w<àºmÌ™14h‹èÍ˜ÝÓÂâÀ{åÅ„Ò«ZùîÛñÌƒïÃj«…>…uWÒÒÒîÕ¥ùùùá³QTœÔ*&&°‹F†h3Br•úöîdab„zgDc}78;D@?JGGï³/ßßßà§/ÿÿÿø¸(ÿÿÿ, !ÿûHp =PP@)È°!C(X€€¢E3&DPQKy8ä0@‹š3„Hò£/c0€æ•\QSdÏ�!]Š©ƒIŒFV‘8S¦S˜P_º‰“P Á :4(HŸ^·Ø1ÒŠXs^iµíÓ<H^¼’¶¬, óÕË7–qFIÚç®!eÜ”A¬˜ñâÄ�_Ä‰ƒµG#u¯ç¾qŒHè#.X9(à(Í™žÆÄ"—,(éC€~®äÙª‡«qß�%ÜÖP�Þ±ËXðƒ&
+n£"™ÑG‰é
+\ÐÿéãÑwê0yûës&–Ý	¢T˜ï
+M?¬- à€'Î¨nDeC¸ÑÇóÍGe|$I(²…/| @a¸ÅetÇ}t0ákl1ÄSr@•âK[ `Dá…7žOœ}ô‚\�¢H)Þ¸£qÁ<ŒS2m�Ç*6éÇ[p€„@QpÁ@`Z¼Tc{Î„#H_¾PF�QÇnp°ZL€± PÁù’„~à±E\•EAGJ!ÕÒ/tåFP¼°$SõÑ\”Ù‡øÉ–ÝKháÆt™FGiáçg nXÊ�£�Îð‚b�Aæ˜c/Øi�„JˆGFÍ€D” êÅA/!‘u¤ÄP»–'éqL©(›ªEn áÕz1Ë�@$ì‰“@E¼0GXD¹…Gq
+„ß¤ƒÔÆ;ÕT)íÖ.C:\¡Ä¬³Ò¥¯±÷¶KVF;
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.GIF
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.JPG
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.JPG	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.JPG	(revision 11534)
@@ -0,0 +1,10 @@
+ÿØÿàJFIF``ÿÛC		
+
+ $.' ",#(7),01444'9=82<.342ÿÛC			
+
+2!!22222222222222222222222222222222222222222222222222ÿÀ! "ÿÄ	
+ÿÄµ}!1AQa"q2�‘¡#B±ÁRÑð$3br‚	
+%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ	
+ÿÄµw!1AQaq"2�B‘¡±Á	#3RðbrÑ
+$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?öÝOVKQFé°õÿõW7q¬Þ\±Ì…Fr*­Ìi©jW“ÈfÈ‰T™“|çœzwëëI¢°’šÞ÷Ï†\0’;¦eäð23ÈãÔâ¾SŒ­U¹FMGÈö(P„š»5cÖ¯-€=¶¨$îèG|ñ[ún¾/ôÛ¦³ž7½PÑG°’WûÄôQŽy=êH€ºŠÎkÛM1îöMwq˜�Ñc.¤ç¦E6ÛÅr/‰´;[BËimåÚí
+�U¶¡úúý@ô¯_"£Zµ9Ô”›K¹çæuéÒ”cmYkT¶fMRÆhå“}±ŠH£`@w‚$}ð9çŠÅÞÜéÚ–+¨Ú´oäˆžhÖXXÈëÙ†™Ù� W¡x‡ÂÍ}q&£c$¿k*¡¡k†T�B>éÇáôä×!;3¶úÏRµrFCù¤gÙ”�GÒ¼œFµ	Z)Ê7Ó¯õý|»éâ!QjìÌ™e¹Ó5Éî6\F�¨-Ç˜°†FŒ[Æ»‹`à‰2	=ˆ­Hô;Y¼Uáé,÷Çu8ŠîîÙ—"¡]¹íœc¹ü*Þ‰¦Á©ÜË©Ìee·r–¯4ˆf›‡ç�ÇN˜$ô®«Â¾]%ºº•nu;€<éÀáG÷<íÏ>ÿ�öUNT(¹=I[üÏ7ãV¢VºN÷:J(¢»Š—ñóaÿ]Ïþ‹z·E�ÿÙ
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.JPG
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/papelera.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/papelera.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/Logo_gvsig_gva.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/Logo_gvsig_gva.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall1.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall1.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/ico-gvSIG16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/Logo-gvSIG.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/Logo-gvSIG.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help16x16.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/help16x16.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/images/uninstall.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cat
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cat	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cat	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Ruta a gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_cat
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_fra
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_fra	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_fra	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_fra
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_eng
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_eng	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_eng	(revision 11534)
@@ -0,0 +1,3 @@
+<langpack>
+  <str id="text.label" txt="Path to gvSIG:"/>
+</langpack>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputLang.xml_eng
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputSpec.xml
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputSpec.xml	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputSpec.xml	(revision 11534)
@@ -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>
+

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/userInputSpec.xml
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Readme-ExpresionField.txt
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Readme-ExpresionField.txt	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Readme-ExpresionField.txt	(revision 11534)
@@ -0,0 +1,28 @@
+Expresion Field Plugin version 1.0 (Build number #build.number#):
+
+Before starting, check the following points:
+
+1.- Download the sources for gvSIG v1.0.2. Follow the procedure described in the “Readme.txt” file to setup a working development environment.
+
+*** Compilation
+
+1.- Uncompress the pilot package into the source folder just created (gvSIG-1_0_2-src). Note: some files in the  'binaries' folder must be overwritten.
+
+2.- (Only if using Eclipse) Import the projects:
+  *1: Pick the the File/Import menu command.
+  *2: Choose 'Existing Projects into workspace' and hit 'Next'
+  *3: With the option 'Select root directory' press 'Browse...'
+  *4: Locate the workspace folder (normally, this should be the default) and hit 'Accept'.
+  *5: Click on 'Deselect All'
+  *6: Mark the following project from the list: extExpresionField.
+  *7: Click on 'Finish'.
+
+3.- Run the 'build.xml' in the project 'extExpresionField' (using  Ant or Eclipse).
+
+For further assistance, please subscribe to the gvSIG developer list and send your questions there (see in http://www.gvsig.gva.es).
+
+Thanks for developing on gvSIG.
+
+Regards,
+
+The gvSIG Team
\ No newline at end of file

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/Readme-ExpresionField.txt
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/LEEME.html
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/LEEME.html	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/LEEME.html	(revision 11534)
@@ -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 III / 256 MB RAM.</li>
+<li>Recomendables: Pentium IV / 512 MB RAM.</li>
+<li>Sistemas operativos: plataformas Windows y Linux.
+ Probado en Win98/XP, Linux Suse 8.2/9.0/9.2 y Linux Debian (Lliurex).</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.4.2 (06 o superior).</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>

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/resources/LEEME.html
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/HOWTO-BUILD.txt
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/HOWTO-BUILD.txt	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/HOWTO-BUILD.txt	(revision 11534)
@@ -0,0 +1,11 @@
+ CÓMO GENERAR EL INSTALADOR:
+ ===========================
+- Solo ejecutable desde Linux
+- gvSIG debe estar correctamente construido en ../_fwAndami/bin
+- El plugin principal debe dejar un fichero 'build.number' dentro de su directorio de andami, que indicara el numero del build para la distribución.
+- Lanzar el target 'distribucion' del build.xml del plugin principal (solo para plugins).
+- El proyecto 'install' debe estar presente en la raíz del workspace (contiene el Izpack, entre otras cosas)
+- En el fichero variables.sh hay algunas variables que nos pueden interesar, que permiten personalizar el nombre del plugin, la versión, el directorio destino, las extensiones incluidas, etc. La variable  APPNAME normalmente valdrá "gvSIG", pero puede tiener nombre si estamos empaquetando una extensión (por ejemplo,  "nomenclatorIGN").
+- Definir los packs adecuados en el fichero XML de configuración (install.xml), y revisar el fichero en general.
+- En el fichero resources/userInputSpec.xml modificar los directorios candidatos, si se ha producido un cambio de la versión de gvSIG sobre la que queremos instalar
+- Lanzar el script distribucion.sh desde el directorio donde se encuentra (ejemplo: "cd workspace/extXXX/install ; ./distribucion.sh ").

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/HOWTO-BUILD.txt
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/.cvsignore
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/.cvsignore	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/.cvsignore	(revision 11534)
@@ -0,0 +1,3 @@
+bin
+extensiones
+nomenclatorIGN-*.zip

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install/.cvsignore
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native


Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/install
___________________________________________________________________
Added: svn:ignore
   + bin
extensiones
nomenclatorIGN-*.zip


Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/gui/FieldExpresionPage.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/gui/FieldExpresionPage.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/gui/FieldExpresionPage.java	(revision 11534)
@@ -0,0 +1,242 @@
+/* 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.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ibáñez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.1  2007-02-09 10:49:36  caballero
+* expresion field
+*
+* Revision 1.4  2006/09/06 15:29:59  caballero
+* initialize flatness
+*
+* Revision 1.3  2006/08/22 12:27:53  jaume
+* improved performances when saving
+*
+* Revision 1.2  2006/08/22 07:37:32  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/08/10 08:18:35  caballero
+* configurar grid
+*
+* Revision 1.1  2006/08/04 11:41:05  caballero
+* poder especificar el zoom a aplicar en las vistas
+*
+* Revision 1.3  2006/07/31 10:02:31  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/13 07:43:08  fjp
+* Ajustes sobre los cuadros de dialogos de preferencias
+*
+* Revision 1.1  2006/06/12 16:04:28  caballero
+* Preferencias
+*
+* Revision 1.11  2006/06/06 10:26:31  jaume
+* *** empty log message ***
+*
+* Revision 1.10  2006/06/05 17:07:17  jaume
+* *** empty log message ***
+*
+* Revision 1.9  2006/06/05 17:00:44  jaume
+* *** empty log message ***
+*
+* Revision 1.8  2006/06/05 16:57:59  jaume
+* *** empty log message ***
+*
+* Revision 1.7  2006/06/05 14:45:06  jaume
+* *** empty log message ***
+*
+* Revision 1.6  2006/06/05 11:00:09  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/06/05 10:39:02  jaume
+* *** empty log message ***
+*
+* Revision 1.4  2006/06/05 10:13:40  jaume
+* *** empty log message ***
+*
+* Revision 1.3  2006/06/05 10:06:08  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/05 09:51:56  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/06/02 10:50:18  jaume
+* *** empty log message ***
+*
+*
+*/
+package com.iver.cit.gvsig.gui;
+
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.util.prefs.Preferences;
+
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.preferences.AbstractPreferencePage;
+import com.iver.andami.preferences.StoreException;
+
+public class FieldExpresionPage extends AbstractPreferencePage {
+	private static Preferences prefs = Preferences.userRoot().node( "fieldExpresionOptions" );
+	private JTextArea jTextArea = null;
+	private JTextField txtLimit;
+	private JCheckBox ckLimit=null;
+	private ImageIcon icon;
+
+	public FieldExpresionPage() {
+		super();
+		icon = new ImageIcon(this.getClass().getClassLoader().getResource("images/FieldExpresion.png"));
+		addComponent(getJTextArea());
+
+		addComponent(PluginServices.getText(this, "limit_rows_in_memory") + ":",
+			txtLimit = new JTextField("", 15));
+		addComponent(ckLimit = new JCheckBox(PluginServices.getText(this, "without_limit")));
+		ckLimit.addMouseListener(new MouseListener() {
+			public void mouseClicked(MouseEvent e) {
+				if (ckLimit.isSelected()) {
+					txtLimit.setText(PluginServices.getText(this, "without_limit"));
+				}else {
+					if (txtLimit.getText().equals(PluginServices.getText(this, "without_limit")))
+					txtLimit.setText("500000");
+				}
+
+			}
+			public void mouseEntered(MouseEvent e) {
+			}
+			public void mouseExited(MouseEvent e) {
+			}
+			public void mousePressed(MouseEvent e) {
+			}
+			public void mouseReleased(MouseEvent e) {
+			}
+
+		});
+	}
+
+	public void initializeValues() {
+		int limit = prefs.getInt("limit_rows_in_memory",-1);
+		if (limit==-1) {
+			ckLimit.setSelected(true);
+			txtLimit.setText(PluginServices.getText(this,"without_limit"));
+		}else {
+			ckLimit.setSelected(false);
+			txtLimit.setText(String.valueOf(limit));
+		}
+	}
+
+	public String getID() {
+		return this.getClass().getName();
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "limit_rows_in_memory");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void storeValues() throws StoreException {
+		int limit;
+		try{
+			if (ckLimit.isSelected()) {
+				limit=-1;
+			}else {
+//			if (txtLimit.getText().equals(PluginServices.getText(this,"without_limit"))) {
+//				limit=-1;
+//			}else {
+				limit=Integer.parseInt(txtLimit.getText());
+			}
+		}catch (Exception e) {
+			throw new StoreException(PluginServices.getText(this,"limit_rows_in_memory")+PluginServices.getText(this,"error"));
+		}
+		prefs.putInt("limit_rows_in_memory", limit);
+	}
+
+	public void initializeDefaults() {
+		int limit=prefs.getInt("limit_rows_in_memory",-1);
+		if (limit==-1) {
+			ckLimit.setSelected(true);
+			txtLimit.setText(PluginServices.getText(this,"without_limit"));
+		}else {
+			ckLimit.setSelected(false);
+			txtLimit.setText(String.valueOf(limit));
+		}
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+	/**
+	 * This method initializes jTextArea
+	 *
+	 * @return javax.swing.JTextArea
+	 */
+	private JTextArea getJTextArea() {
+		if (jTextArea == null) {
+			jTextArea = new JTextArea();
+			jTextArea.setBounds(new java.awt.Rectangle(13,7,285,57));
+			jTextArea.setForeground(java.awt.Color.black);
+			jTextArea.setBackground(java.awt.SystemColor.control);
+			jTextArea.setRows(3);
+			jTextArea.setWrapStyleWord(true);
+			jTextArea.setLineWrap(true);
+			jTextArea.setEditable(false);
+			jTextArea.setText(PluginServices.getText(this,"specifies_the_limit_rows_in_memory_when_the_program_eval_the_expresion"));
+		}
+		return jTextArea;
+	}
+
+	public boolean isValueChanged() {
+		return super.hasChanged();
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/gui/FieldExpresionPage.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/Index.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/Index.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/Index.java	(revision 11534)
@@ -0,0 +1,20 @@
+package com.iver.cit.gvsig.project.documents.table;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Index {
+private int index=0;
+
+public void next() {
+	index++;
+}
+public void previous() {
+	index--;
+}
+public int get() {
+	return index;
+}
+public void set(int i) {
+	index=i;
+}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/Index.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/GraphicOperator.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/GraphicOperator.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/GraphicOperator.java	(revision 11534)
@@ -0,0 +1,74 @@
+package com.iver.cit.gvsig.project.documents.table;
+
+import java.awt.geom.PathIterator;
+import java.util.ArrayList;
+
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.core.v02.FConverter;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.FLyrVect;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public abstract class GraphicOperator extends AbstractOperator{
+	private FLyrVect lv=null;
+	public void setLayer(FLyrVect lv) {
+		this.lv=lv;
+	}
+	public FLyrVect getLayer() {
+		return lv;
+	}
+	public abstract double process(Index index) throws DriverIOException;
+	protected Double[][] getXY(IGeometry geometry) {
+        ArrayList xs = new ArrayList();
+        ArrayList ys = new ArrayList();
+        double[] theData = new double[6];
+
+        //double[] aux = new double[6];
+        PathIterator theIterator;
+        int theType;
+        int numParts = 0;
+
+        // boolean bFirst = true;
+        // int xInt, yInt, antX = -1, antY = -1;
+        theIterator = geometry.getPathIterator(null,FConverter.FLATNESS); //, flatness);
+
+        // int numSegmentsAdded = 0;
+        while (!theIterator.isDone()) {
+            theType = theIterator.currentSegment(theData);
+
+            switch (theType) {
+            case PathIterator.SEG_MOVETO:
+                numParts++;
+                xs.add(new Double(theData[0]));
+                ys.add(new Double(theData[1]));
+
+
+                break;
+
+            case PathIterator.SEG_LINETO:
+                xs.add(new Double(theData[0]));
+                ys.add(new Double(theData[1]));
+
+
+                break;
+
+
+            case PathIterator.SEG_CLOSE:
+                xs.add(new Double(theData[0]));
+                ys.add(new Double(theData[1]));
+
+                break;
+            } //end switch
+
+            theIterator.next();
+        } //end while loop
+
+        Double[] x = (Double[]) xs.toArray(new Double[0]);
+        Double[] y = (Double[]) ys.toArray(new Double[0]);
+
+        return new Double[][] { x, y };
+
+    }
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/GraphicOperator.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointY.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointY.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointY.java	(revision 11534)
@@ -0,0 +1,59 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.core.FShape;
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class PointY extends GraphicOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public double process(Index index) throws DriverIOException {
+		ReadableVectorial adapter = getLayer().getSource();
+		IGeometry geom=adapter.getShape(index.get());
+		Double[][] xsys=getXY(geom);
+		return xsys[1][0].doubleValue();
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean("pointY",this,PointY.class);
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double y(){return pointY.process(indexRow);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def y():\n" +
+				"  return pointY.process(indexRow)");
+	}
+	public String toString() {
+		return "y";
+	}
+	public boolean isEnable() {
+		if (getLayer()==null)
+			return false;
+		ReadableVectorial adapter = getLayer().getSource();
+		int type=FShape.POINT;
+		try {
+			type=adapter.getShapeType();
+		} catch (DriverIOException e) {
+			e.printStackTrace();
+		}
+		return (getType()==IOperator.NUMBER && type==FShape.POINT);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the Y coordenate of point geometry of this row.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointY.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java	(revision 11534)
@@ -0,0 +1,55 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import java.sql.Types;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Field extends AbstractField{
+	private FieldDescription fd;
+	private String typeField;
+	public Field() {
+	}
+	public void setFieldDescription(FieldDescription fd) {
+		this.fd=fd;
+		switch (fd.getFieldType()) {
+		case Types.INTEGER:
+		case Types.BIGINT:
+		case Types.DECIMAL:
+		case Types.DOUBLE:
+		case Types.FLOAT:
+		case Types.NUMERIC:
+			typeField = PluginServices.getText(this, "numeric_value");
+			break;
+		case Types.LONGVARCHAR:
+		case Types.VARCHAR:
+			typeField=PluginServices.getText(this,"string_value");
+			break;
+		case Types.BOOLEAN:
+			typeField=PluginServices.getText(this,"boolean_value");
+			break;
+		case Types.DATE:
+			typeField=PluginServices.getText(this,"date_value");
+			break;
+		}
+
+	}
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+	public String toString() {
+		return "["+fd.getFieldAlias()+"]";
+	}
+	public boolean isEnable() {
+		return true;
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"field")+":  "+fd.getFieldAlias()+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "type") + ": " +
+        typeField;
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Field.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Min.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Min.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Min.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Min extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "min";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double min(double value1,double value2){return java.lang.Math.min(value1,value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def min(value1, value2):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.min(value1,value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText(PluginServices.getText(this,"parameter"))+"1,"+PluginServices.getText(this,"parameter")+"2"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the smaller of two int values. That is, the result the argument closer to the value of Integer.MIN_VALUE.\n" +
+        "If the arguments have the same value, the result is that same value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Min.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToRadians.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToRadians.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToRadians.java	(revision 11534)
@@ -0,0 +1,39 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToRadians extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toRadians";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double toRadians(double value){return java.lang.Math.toRadians(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toRadians(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.toRadians(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Converts an angle measured in degrees to an approximately equivalent angle measured in radians. The conversion from degrees to radians is generally inexact.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToRadians.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Division.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Division.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Division.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Division extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return "/";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the result of division.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Division.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IsNumber.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IsNumber.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IsNumber.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class IsNumber extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "isNumber";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean isNumber (String value){try{java.lang.Double.parseDouble(value);}catch(java.lang.NumberFormatException e){return false;}return true;};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def isNumber(value):\n" +
+				"  import java.lang.Double\n" +
+				"  import java.lang.NumberFormatException\n" +
+				"  try:" +
+				"    java.lang.Double.parseDouble(value)\n" +
+				"  except java.lang.NumberFormatException:\n" +
+				"    return false\n" +
+				"  return true");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "boolean_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns true if the string parameter is a number.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IsNumber.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/EndsWith.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/EndsWith.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/EndsWith.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class EndsWith extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\")";
+	}
+	public String toString() {
+		return "endsWith";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean endsWith(String value1,String value2){return value1.endsWith(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def endsWith(value1,value2):\n" +
+				"  import java.lang.Math\n" +
+				"  return value1.endsWith(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText(PluginServices.getText(this,"parameter"))+"1,"+PluginServices.getText(this,"parameter")+"2"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Tests if this parameter1 ends with the specified parameter2.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/EndsWith.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Max.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Max.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Max.java	(revision 11534)
@@ -0,0 +1,46 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Max extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "max";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double max(double value1,double value2){return java.lang.Math.max(value1,value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def max(value1,value2):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.max(value1,value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText(PluginServices.getText(this,"parameter"))+"1,"+PluginServices.getText(this,"parameter")+"2"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the greater of two double values. That is, the result is the argument closer to positive infinity. \n" +
+        "If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN.\n" +
+        "Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero.\n" +
+        "If one argument is positive zero and the other negative zero, the result is positive zero.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Max.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sin.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sin.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sin.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Sin extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "sin";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double sin(double value){return java.lang.Math.sin(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def sin(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.sin(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the trigonometric sine of an angle. Special cases:\n" +
+        "* If the argument is NaN or an infinity, then the result is NaN.\n" +
+        "* If the argument is zero, then the result is a zero with the same sign as the argument.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sin.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Asin.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Asin.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Asin.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Asin extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "asin";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double asin(double value){return java.lang.Math.asin(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def asin(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.asin(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the arc sine of an angle, in the range of -pi/2 through pi/2. Special cases:\n" +
+        "* If the argument is NaN or its absolute value is greater than 1, then the result is NaN.\n" +
+        "* If the argument is zero, then the result is a zero with the same sign as the argument.\n";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Asin.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToNumber.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToNumber.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToNumber.java	(revision 11534)
@@ -0,0 +1,39 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToNumber extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toNumber";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double toNumber(String value){return java.lang.Double.parseDouble(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toNumber(value):\n" +
+				"  import java.lang.Double\n" +
+				"  return java.lang.Double.parseDouble(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER );
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "double_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns a new number initialized to the value represented by the specified String";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToNumber.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Geometry.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Geometry.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Geometry.java	(revision 11534)
@@ -0,0 +1,50 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Geometry extends GraphicOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public double process(Index index) throws DriverIOException {
+		return 0;
+	}
+	public IGeometry getGeometry(Index index) throws DriverIOException {
+		ReadableVectorial adapter = getLayer().getSource();
+	   	IGeometry geom=adapter.getShape(index.get());
+	   	return geom;
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean("jgeometry",this,Geometry.class);
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"java.lang.Object geometry(){return geometry.getGeometry(indexRow);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def geometry():\n" +
+				"  return jgeometry.getGeometry(indexRow)");
+	}
+	public String toString() {
+		return "geometry";
+	}
+	public boolean isEnable() {
+		return false;
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the geometry of this row.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Geometry.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Minus.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Minus.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Minus.java	(revision 11534)
@@ -0,0 +1,34 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Minus extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+	public String toString() {
+		return "-";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the result of rest.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Minus.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Perimeter.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Perimeter.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Perimeter.java	(revision 11534)
@@ -0,0 +1,77 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import java.awt.geom.Point2D;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.ViewPort;
+import com.iver.cit.gvsig.fmap.core.FShape;
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Perimeter extends GraphicOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public double process(Index index) throws DriverIOException {
+		ReadableVectorial adapter = getLayer().getSource();
+	   	IGeometry geom=adapter.getShape(index.get());
+	   	Double[][] xsys=getXY(geom);
+	    double dist = 0;
+        double distAll = 0;
+
+        ViewPort vp = getLayer().getMapContext().getViewPort();
+        for (int i = 0; i < (xsys[0].length - 1); i++) {
+            dist = 0;
+
+            Point2D p = new Point2D.Double(xsys[0][i].doubleValue(), xsys[1][i].doubleValue());//vp.toMapPoint(new Point(event.getXs()[i].intValue(), event.getYs()[i].intValue()));
+            Point2D p2 = new Point2D.Double(xsys[0][i + 1].doubleValue(), xsys[1][i + 1].doubleValue());//vp.toMapPoint(new Point(event.getXs()[i + 1].intValue(), event.getYs()[i + 1].intValue()));
+            dist = vp.distanceWorld(p,p2);
+            //System.out.println("distancia parcial = "+dist);
+            distAll += dist;
+        }
+        int distanceUnits=vp.getDistanceUnits();
+		return distAll/MapContext.CHANGEM[distanceUnits];
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean("jperimeter",this,Perimeter.class);
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double perimeter(){return jperimeter.process(indexRow);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def perimeter():\n" +
+				"  return jperimeter.process(indexRow)");
+	}
+	public String toString() {
+		return "perimeter";
+	}
+	public boolean isEnable() {
+		if (getLayer()==null)
+			return false;
+		ReadableVectorial adapter = getLayer().getSource();
+		int type=FShape.POINT;
+		try {
+			type=adapter.getShapeType();
+		} catch (DriverIOException e) {
+			e.printStackTrace();
+		}
+		return (getType()==IOperator.NUMBER && (type==FShape.POLYGON || type==FShape.LINE));
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the perimeter of polygon or line geometry  of this row.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Perimeter.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Exp.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Exp.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Exp.java	(revision 11534)
@@ -0,0 +1,42 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Exp extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "exp";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double exp(double value){return java.lang.Math.exp(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def exp(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.exp(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns Euler's number e raised to the power of a double value. Special cases:\n" +
+        "* If the argument is NaN, the result is NaN.\n" +
+        "* If the argument is positive infinity, then the result is positive infinity.\n" +
+        "* If the argument is negative infinity, then the result is positive zero.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Exp.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/GetTimeDate.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/GetTimeDate.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/GetTimeDate.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class GetTimeDate extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "getTimeDate";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double getTimeDate(java.lang.Object value){return value.getTime();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def getTimeDate(value):\n" +
+				"  return value.getTime()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") +": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/GetTimeDate.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IndexOf.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IndexOf.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IndexOf.java	(revision 11534)
@@ -0,0 +1,43 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class IndexOf extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+", \"\")";
+	}
+	public String toString() {
+		return "indexOf";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"int indexOf(String value1,String value2){return value1.indexOf(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def indexOf(value1,value2):\n" +
+				"  return value1.indexOf(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the index within parameter1 of the first occurrence of the parameter2.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/IndexOf.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/After.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/After.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/After.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class After extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\")";
+	}
+	public String toString() {
+		return "after";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean after(java.lang.Object value1,java.lang.Object value2){return value1.after(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def after(value1, value2):\n" +
+				"  return value1.after(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Tests if parameter1 date is after the parameter2 date.";
+    }
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/After.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Before.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Before.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Before.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Before extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\")";
+	}
+	public String toString() {
+		return "before";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean before(java.lang.Object value1,java.lang.Object value2){return value1.before(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def before(value1, value2):\n" +
+				"  return value1.before(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Tests if parameter1 date is before the parameter2 date.";
+    }
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Before.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Abs.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Abs.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Abs.java	(revision 11534)
@@ -0,0 +1,54 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import com.iver.andami.PluginServices;
+
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+
+/**
+ *
+ * @author Vicente Caballero Navarro
+ */
+public class Abs extends AbstractOperator {
+    public String addText(String s) {
+        return toString() + "(" + s + ")";
+    }
+
+    public String toString() {
+        return "abs";
+    }
+
+    public void eval(BSFManager interpreter) throws BSFException {
+        interpreter.exec(ExpresionFieldExtension.JYTHON, null, -1, -1,
+            "def abs(value):\n" +
+            "  import java.lang.Math\n"+
+            "  return java.lang.Math.abs(value)\n");
+    }
+
+    public boolean isEnable() {
+        return (getType() == IOperator.NUMBER);
+    }
+
+    public double abs(double value) {
+        return java.lang.Math.abs(value);
+    }
+
+    public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the absolute value of a double value. If the argument is not negative, the argument is returned. " +
+        "If the argument is negative, the negation of the argument is returned.\n " +
+        "Special cases:\n" +
+        "* If the argument is positive zero or negative zero, the result is positive zero.\n" +
+        "* If the argument is infinite, the result is positive infinity.\n" +
+        "* If the argument is NaN, the result is NaN.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Abs.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pow.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pow.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pow.java	(revision 11534)
@@ -0,0 +1,87 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Pow extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+", \"\")";
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double pow(double value1,double value2){return java.lang.Math.pow(value1,value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def pow(value1, value2):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.pow(value1,value2)");
+	}
+	public String toString() {
+		return "pow";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText(PluginServices.getText(this,"parameter"))+"1,"+PluginServices.getText(this,"parameter")+"2"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the value of the first argument raised to the power of the second argument. Special cases:\n" +
+        "* If the second argument is positive or negative zero, then the result is 1.0.\n" +
+        "* If the second argument is 1.0, then the result is the same as the first argument.\n" +
+        "* If the second argument is NaN, then the result is NaN.\n" +
+        "* If the first argument is NaN and the second argument is nonzero, then the result is NaN.\n" +
+        "* If\n" +
+        "   - the absolute value of the first argument is greater than 1 and the second argument is positive infinity, or\n" +
+        "   - the absolute value of the first argument is less than 1 and the second argument is negative infinity,\n" +
+        "then the result is positive infinity.\n" +
+        "* If\n" +
+        "   - the absolute value of the first argument is greater than 1 and the second argument is negative infinity, or\n" +
+        "   - the absolute value of the first argument is less than 1 and the second argument is positive infinity,\n" +
+        "then the result is positive zero.\n" +
+        "* If the absolute value of the first argument equals 1 and the second argument is infinite, then the result is NaN.\n" +
+        "* If\n" +
+        "   - the first argument is positive zero and the second argument is greater than zero, or\n" +
+        "   - the first argument is positive infinity and the second argument is less than zero,\n" +
+        "then the result is positive zero.\n" +
+        "* If\n" +
+        "   - the first argument is positive zero and the second argument is less than zero, or\n" +
+        "   - the first argument is positive infinity and the second argument is greater than zero,\n" +
+        "then the result is positive infinity.\n" +
+        "* If\n" +
+        "   - the first argument is negative zero and the second argument is greater than zero but not a finite odd integer, or\n" +
+        "   - the first argument is negative infinity and the second argument is less than zero but not a finite odd integer,\n" +
+        "then the result is positive zero.\n" +
+        "* If\n" +
+        "   - the first argument is negative zero and the second argument is a positive finite odd integer, or\n" +
+        "   - the first argument is negative infinity and the second argument is a negative finite odd integer,\n" +
+        "then the result is negative zero.\n" +
+        "* If\n" +
+        "   - the first argument is negative zero and the second argument is less than zero but not a finite odd integer, or\n" +
+        "   - the first argument is negative infinity and the second argument is greater than zero but not a finite odd integer,\n" +
+        "then the result is positive infinity.\n" +
+        "* If\n" +
+        "   - the first argument is negative zero and the second argument is a negative finite odd integer, or\n" +
+        "   - the first argument is negative infinity and the second argument is a positive finite odd integer,\n" +
+        "then the result is negative infinity.\n" +
+        "* If the first argument is finite and less than zero\n" +
+        "   - if the second argument is a finite even integer, the result is equal to the result of raising the absolute value of the first argument to the power of the second argument\n" +
+        "   - if the second argument is a finite odd integer, the result is equal to the negative of the result of raising the absolute value of the first argument to the power of the second argument\n" +
+        "   - if the second argument is finite and not an integer, then the result is NaN.\n" +
+        "* If both arguments are integers, then the result is exactly equal to the mathematical result of raising the first argument to the power of the second argument if that result can in fact be represented exactly as a double value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pow.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/AbstractField.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/AbstractField.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/AbstractField.java	(revision 11534)
@@ -0,0 +1,49 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import java.util.Date;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+
+import com.hardcode.gdbms.engine.data.driver.DriverException;
+import com.hardcode.gdbms.engine.values.BooleanValue;
+import com.hardcode.gdbms.engine.values.DateValue;
+import com.hardcode.gdbms.engine.values.NumericValue;
+import com.hardcode.gdbms.engine.values.Value;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+
+public abstract class AbstractField extends AbstractOperator{
+	private boolean isEval=false;
+	public Object getValue(String nameField,Index indexRow,SelectableDataSource sds) {
+		try {
+			int index=sds.getFieldIndexByName(nameField);
+			Value value=sds.getFieldValue(indexRow.get(),index);
+			if (value instanceof NumericValue) {
+				double dv=((NumericValue)value).doubleValue();
+				return new Double(dv);
+			}else if (value instanceof DateValue) {
+				Date date=((DateValue)value).getValue();
+				return date;
+			}else if (value instanceof BooleanValue){
+				boolean b=((BooleanValue)value).getValue();
+				return new Boolean(b);
+			}else {
+				return value.toString();
+			}
+		} catch (DriverException e) {
+			throw new RuntimeException(e.getMessage());
+		}
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		if (!isEval){
+		interpreter.declareBean("jfield",this,Field.class);
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def field(nameField):\n" +
+				"  return jfield.getValue(nameField,indexRow,sds)");
+		isEval=true;
+		}
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/AbstractField.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SetTimeDate.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SetTimeDate.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SetTimeDate.java	(revision 11534)
@@ -0,0 +1,44 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class SetTimeDate extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\")";
+	}
+	public String toString() {
+		return "setTimeDate";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"java.util.Date setTimeDate(java.lang.Object value1,double value2){value1.setTime((long)value2);return value1;};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def setTimeDate(value1,value2):\n" +
+				"  value1.setTime(value2)\n" +
+				"  return value1");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+       return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "date_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "date_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the parameter1 date object to represent a point in time that is time milliseconds after January 1, 1970 00:00:00 GMT.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SetTimeDate.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Trim.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Trim.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Trim.java	(revision 11534)
@@ -0,0 +1,38 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Trim extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "trim";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String trim(String value){return value.trim();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def trim(value):\n" +
+				"  return value.trim()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns a copy of the string, with leading and trailing whitespace omitted.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Trim.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/FieldCopy.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/FieldCopy.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/FieldCopy.java	(revision 11534)
@@ -0,0 +1,67 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import java.util.Date;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+
+import com.hardcode.gdbms.engine.data.driver.DriverException;
+import com.hardcode.gdbms.engine.values.BooleanValue;
+import com.hardcode.gdbms.engine.values.DateValue;
+import com.hardcode.gdbms.engine.values.NumericValue;
+import com.hardcode.gdbms.engine.values.Value;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
+import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class FieldCopy extends AbstractOperator{
+	private FieldDescription fd;
+	public FieldCopy() {
+	}
+	public void setFieldDescription(FieldDescription fd) {
+		this.fd=fd;
+	}
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean(fd.getFieldAlias(),this,FieldCopy.class);
+		interpreter.eval(ExpresionFieldExtension.JYTHON,null,-1,-1,"java.lang.Object "+ fd.getFieldAlias()+ "(){return "+fd.getFieldAlias()+".getValue(indexRow,sds);};");
+	}
+	public Object getValue(Index indexRow,SelectableDataSource sds) {
+		try {
+			int index=sds.getFieldIndexByName(fd.getFieldName());
+			Value value=sds.getFieldValue(indexRow.get(),index);
+			if (value instanceof NumericValue) {
+				double dv=((NumericValue)value).doubleValue();
+				return new Double(dv);
+			}else if (value instanceof DateValue) {
+				Date date=((DateValue)value).getValue();
+				return date;
+			}else if (value instanceof BooleanValue){
+				boolean b=((BooleanValue)value).getValue();
+				return new Boolean(b);
+			}else {
+				return value.toString();
+			}
+		} catch (DriverException e) {
+			throw new RuntimeException(e.getMessage());
+		}
+	}
+	public String toString() {
+		return "["+fd.getFieldAlias()+"]";
+	}
+	public boolean isEnable() {
+		return true;
+	}
+	public String getDescription() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/FieldCopy.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointX.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointX.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointX.java	(revision 11534)
@@ -0,0 +1,59 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.core.FShape;
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class PointX extends GraphicOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public double process(Index index) throws DriverIOException {
+		ReadableVectorial adapter = getLayer().getSource();
+		IGeometry geom=adapter.getShape(index.get());
+		Double[][] xsys=getXY(geom);
+		return xsys[0][0].doubleValue();
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean("pointX",this,PointX.class);
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double x(){return pointX.process(indexRow);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def x():\n" +
+				"  return pointX.process(indexRow)");
+	}
+	public String toString() {
+		return "x";
+	}
+	public boolean isEnable() {
+		if (getLayer()==null)
+			return false;
+		ReadableVectorial adapter = getLayer().getSource();
+		int type=FShape.POINT;
+		try {
+			type=adapter.getShapeType();
+		} catch (DriverIOException e) {
+			e.printStackTrace();
+		}
+		return (getType()==IOperator.NUMBER && type==FShape.POINT);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the X coordenate of point geometry of this row.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/PointX.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDegrees.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDegrees.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDegrees.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToDegrees extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toDegrees";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double toDegrees(double value){return java.lang.Math.toDegrees(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toDegrees(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.toDegrees(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "double_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "double_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Converts an angle measured in radians to an approximately equivalent angle measured in degrees.\n" +
+	    "The conversion from radians to degrees is generally inexact; users should not expect cos(toRadians(90.0)) to exactly equal 0.0.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDegrees.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Tan.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Tan.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Tan.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Tan extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "tan";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double tan(double value){return java.lang.Math.tan(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def tan(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.tan(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the trigonometric tangent of an angle. Special cases:\n" +
+        "* If the argument is NaN or an infinity, then the result is NaN.\n" +
+        "* If the argument is zero, then the result is a zero with the same sign as the argument.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Tan.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Atan.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Atan.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Atan.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Atan extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "atan";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double atan(double value){return java.lang.Math.atan(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def atan(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.atan(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the arc tangent of an angle, in the range of -pi/2 through pi/2. Special cases:\n" +
+        "* If the argument is NaN, then the result is NaN.\n" +
+        "* If the argument is zero, then the result is a zero with the same sign as the argument.\n";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Atan.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Plus.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Plus.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Plus.java	(revision 11534)
@@ -0,0 +1,34 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Plus extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+	public String toString() {
+		return "+";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER || getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the result of sum.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Plus.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Cos.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Cos.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Cos.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Cos extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "cos";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double cos(double value){return java.lang.Math.cos(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def cos(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.cos(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the trigonometric cosine of an angle. Special cases:\n" +
+        "* If the argument is NaN or an infinity, then the result is NaN.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Cos.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/E.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/E.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/E.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class E extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public String toString() {
+		return "e";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double e(){return java.lang.Math.E;};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def e():\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.E");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "The double value that is closer than any other to e, the base of the natural logarithms.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/E.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Acos.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Acos.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Acos.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Acos extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "acos";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.exec(ExpresionFieldExtension.JYTHON, null, -1, -1,
+	            "def acos(value):\n" +
+	            "  import java.lang.Math\n"+
+	            "  return java.lang.Math.acos(value)\n");
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double acos(double value){return java.lang.Math.acos(value);};");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the arc cosine of an angle, in the range of 0.0 through pi. Special case:\n" +
+        "* If the argument is NaN or its absolute value is greater than 1, then the result is NaN.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Acos.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Round.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Round.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Round.java	(revision 11534)
@@ -0,0 +1,39 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Round extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "round";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double round(double value){return java.lang.Math.round(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def round(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.round(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the closest long to the argument. The result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Round.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToLowerCase.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToLowerCase.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToLowerCase.java	(revision 11534)
@@ -0,0 +1,38 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToLowerCase extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toLowerCase";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String toLowerCase(String value){return value.toLowerCase();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toLowerCase(value):\n" +
+				"  return value.toLowerCase()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Converts all of the characters in this String to lower case using the rules of the default locale.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToLowerCase.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sqrt.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sqrt.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sqrt.java	(revision 11534)
@@ -0,0 +1,42 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Sqrt extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "sqrt";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double sqrt(double value){return java.lang.Math.sqrt(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def sqrt(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.sqrt(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the correctly rounded positive square root of a double value. Special cases:\n" +
+        "* If the argument is NaN or less than zero, then the result is NaN.\n" +
+        "* If the argument is positive infinity, then the result is positive infinity.\n" +
+        "* If the argument is positive zero or negative zero, then the result is the same as the argument.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Sqrt.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equals.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equals.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equals.java	(revision 11534)
@@ -0,0 +1,43 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Equals extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+", \"\")";
+	}
+	public String toString() {
+		return "equals";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean equals(java.lang.Object value1,java.lang.Object value2){return value1.equals(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def equals(value1,value2):\n" +
+				"  return value1.equals(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING || getType()==IOperator.DATE);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Compares the parameter1 to the parameter2. The result is true if and only if the arguments are not null and represents the same object.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equals.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToUpperCase.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToUpperCase.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToUpperCase.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToUpperCase extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toUpperCase";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String toUpperCase(String value){return value.toUpperCase();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toUpperCase(value):\n" +
+				"  return value.toUpperCase()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Converts all of the characters in this String to upper case using the rules of the given Locale.\n" +
+	    "Case mappings rely heavily on the Unicode specification's character data.\n" +
+	    "Since case mappings are not always 1:1 char mappings, the resulting String may be a different length than the original String.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToUpperCase.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equal.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equal.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equal.java	(revision 11534)
@@ -0,0 +1,37 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Equal extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+
+	}
+	public String toString() {
+		return "==";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE || getType()==IOperator.NUMBER || getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the first object value is equals than the second value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Equal.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Area.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Area.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Area.java	(revision 11534)
@@ -0,0 +1,115 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import java.awt.geom.Point2D;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+import org.cresques.cts.IProjection;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.MapContext;
+import com.iver.cit.gvsig.fmap.ViewPort;
+import com.iver.cit.gvsig.fmap.core.FShape;
+import com.iver.cit.gvsig.fmap.core.IGeometry;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.layers.ReadableVectorial;
+import com.iver.cit.gvsig.fmap.tools.geo.Geo;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Area extends GraphicOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public double process(Index index) throws DriverIOException {
+		ReadableVectorial adapter = getLayer().getSource();
+	   	IGeometry geom=adapter.getShape(index.get());
+	   	int distanceUnits=getLayer().getMapContext().getViewPort().getDistanceUnits();
+		return returnArea(geom)/Math.pow(MapContext.CHANGEM[distanceUnits],2);
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+		interpreter.declareBean("jarea",this,Area.class);
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double area(){return area.process(indexRow);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def area():\n" +
+				"  return jarea.process(indexRow)");
+	}
+	public String toString() {
+		return "area";
+	}
+	public boolean isEnable() {
+		if (getLayer()==null)
+			return false;
+		ReadableVectorial adapter = getLayer().getSource();
+		int type=FShape.POINT;
+		try {
+			type=adapter.getShapeType();
+		} catch (DriverIOException e) {
+			e.printStackTrace();
+		}
+		return (getType()==IOperator.NUMBER && type==FShape.POLYGON);
+	}
+
+	private double returnArea(IGeometry geom) {
+		Double[][] xsys=getXY(geom);
+		Double[] xs=xsys[0];
+		Double[] ys=xsys[1];
+		IProjection proj=getLayer().getMapContext().getProjection();
+		if (proj.isProjected()) {
+			return returnCoordsArea(xs,ys,new Point2D.Double(xs[xs.length-1].doubleValue(),ys[ys.length-1].doubleValue()));
+		}
+		return returnGeoCArea(xs,ys);
+	}
+	private double returnGeoCArea(Double[] xs,Double[] ys) {
+		double[] lat=new double[xs.length];
+		double[] lon=new double[xs.length];
+		for (int K= 0; K < xs.length; K++){
+			lon[K]= xs[K].doubleValue()/Geo.Degree;
+			lat[K]= ys[K].doubleValue()/Geo.Degree;
+		}
+		return (Geo.sphericalPolyArea(lat,lon,xs.length-1)*Geo.SqM);
+	}
+	/**
+	 * Calcula el área.
+	 *
+	 * @param aux último punto.
+	 *
+	 * @return Área.
+	 */
+	public double returnCoordsArea(Double[] xs,Double[] ys, Point2D point) {
+		Point2D aux=point;
+		double elArea = 0.0;
+		Point2D pPixel;
+		Point2D p = new Point2D.Double();
+		Point2D.Double pAnt = new Point2D.Double();
+		ViewPort vp = getLayer().getMapContext().getViewPort();
+		for (int pos = 0; pos < xs.length-1; pos++) {
+			pPixel = new Point2D.Double(xs[pos].doubleValue(),
+					ys[pos].doubleValue());
+			p = pPixel;
+			if (pos == 0) {
+				pAnt.x = aux.getX();
+				pAnt.y = aux.getY();
+			}
+			elArea = elArea + ((pAnt.x - p.getX()) * (pAnt.y + p.getY()));
+			pAnt.setLocation(p);
+		}
+
+		elArea = elArea + ((pAnt.x - aux.getX()) * (pAnt.y + aux.getY()));
+		elArea = Math.abs(elArea / 2.0);
+		return (elArea*(Math.pow(MapContext.CHANGEM[vp.getMapUnits()],2)));
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the area of polygon geometry of this row.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Area.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pi.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pi.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pi.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Pi extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public String toString() {
+		return "pi";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double pi(){return java.lang.Math.PI;};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def pi():\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.PI");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "The double value that is closer than any other to pi, the ratio of the circumference of a circle to its diameter.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Pi.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToString.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToString.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToString.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToString extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toString";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String toString(java.lang.Object value){" +
+//				"if (value instanceof java.util.Date)" +
+//					"return ((java.util.Date)value).toString();" +
+//				"return String.valueOf(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toString(value):\n" +
+				"  return str(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER || getType()==IOperator.DATE);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns the string representation of the Object argument";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToString.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Replace.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Replace.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Replace.java	(revision 11534)
@@ -0,0 +1,45 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Replace extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+" , \"\",\"\")";
+	}
+	public String toString() {
+		return "replace";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String replace(String value1,String value2,String value3){return value1.replaceAll(value2,value3);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def replace(value1,value2,value3):\n" +
+				"  return value1.replaceAll(value2,value3)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2, "+PluginServices.getText(this,"parameter")+"3"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "3"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "string_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Replaces each substring(parameter2) of parameter1 string that matches the given regular expression with the given replacement parameter3";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Replace.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Ceil.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Ceil.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Ceil.java	(revision 11534)
@@ -0,0 +1,43 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Ceil extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "ceil";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double ceil(double value){return java.lang.Math.ceil(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def ceil(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.ceil(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. Special cases:\n" +
+        "* If the argument value is already equal to a mathematical integer, then the result is the same as the argument.\n" +
+        "* If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument.\n" +
+        "* If the argument value is less than zero but greater than -1.0, then the result is negative zero.\n";
+    }
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Ceil.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/StartsWith.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/StartsWith.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/StartsWith.java	(revision 11534)
@@ -0,0 +1,43 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class StartsWith extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\")";
+	}
+	public String toString() {
+		return "startsWith";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"boolean startsWith(String value1,String value2){return value1.startsWith(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def startsWith(value1,value2):\n" +
+				" return value1.startsWith(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Tests if this parameter1 starts with the specified parameter2.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/StartsWith.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreEquals.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreEquals.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreEquals.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class MoreEquals extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return ">=";
+	}
+	public boolean isEnable() {
+		return ( getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the first object value is more or equals than the second value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreEquals.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreThan.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreThan.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreThan.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class MoreThan extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+
+	}
+	public String toString() {
+		return ">";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the first object value is more than the second value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/MoreThan.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LastIndexOf.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LastIndexOf.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LastIndexOf.java	(revision 11534)
@@ -0,0 +1,43 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class LastIndexOf extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+", \"\")";
+	}
+	public String toString() {
+		return "lastIndexOf";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"int lastIndexOf(String value1,String value2){return value1.lastIndexOf(value2);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def lastIndexOf(value1,value2):\n" +
+				"  return value1.lastIndexOf(value2)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the index within parameter1 of the last occurrence of the parameter2 character.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LastIndexOf.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Random.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Random.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Random.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Random extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString()+"()");
+	}
+	public String toString() {
+		return "random";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double random(){return java.lang.Math.random();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def random():\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.random()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Random.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SubString.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SubString.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SubString.java	(revision 11534)
@@ -0,0 +1,47 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class SubString extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+",\"\",\"\")";
+	}
+	public String toString() {
+		return "subString";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"String subString(String value1,int value2,int value3){return value1.substring(value2,value3);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def subString(value1,value2,value3):\n" +
+				"  return value1.substring(value2,value3)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+toString()+"("+PluginServices.getText(this,"parameter")+"1,"+PluginServices.getText(this,"parameter")+"2, "+PluginServices.getText(this,"parameter")+"3"+")"+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + "1"+": " +
+        PluginServices.getText(this, "string_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "2"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "parameter") + "3"+": " +
+        PluginServices.getText(this, "numeric_value") + "\n"+
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "string_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns a new string that is a substring of parameter1.\n" +
+        "The substring begins at the specified parameter2 and extends to the character at index parameter3 - 1.\n" +
+        "Thus the length of the substring is endIndex-beginIndex.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/SubString.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDate.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDate.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDate.java	(revision 11534)
@@ -0,0 +1,40 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ToDate extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "toDate";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"java.util.Date toDate(String value){return new java.text.SimpleDateFormat().parse(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def toDate(value):\n" +
+				"  import java.text.SimpleDateFormat\n" +
+				"  sdf=instance(java.text.SimpleDateFormat)\n" +
+				"  return sdf.parse(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE);
+	}
+	public String getDescription() {
+		return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "date_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns a date object from string parameter.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/ToDate.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Log.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Log.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Log.java	(revision 11534)
@@ -0,0 +1,42 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Log extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "log";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"double log(double value){return java.lang.Math.log(value);};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def log(value):\n" +
+				"  import java.lang.Math\n" +
+				"  return java.lang.Math.log(value)");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "parameter") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the natural logarithm (base e) of a double  value. Special cases:\n" +
+        "* If the argument is NaN or less than zero, then the result is NaN.\n" +
+        "* If the argument is positive infinity, then the result is positive infinity.\n" +
+        "* If the argument is positive zero or negative zero, then the result is negative infinity.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Log.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessThan.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessThan.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessThan.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class LessThan extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return "<";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the first object value is less than the second value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessThan.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessEquals.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessEquals.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessEquals.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class LessEquals extends AbstractOperator {
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return "<=";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the first object value is less or equals than the second value.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/LessEquals.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Length.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Length.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Length.java	(revision 11534)
@@ -0,0 +1,38 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Length extends AbstractOperator{
+
+	public String addText(String s) {
+		return toString()+"("+s+")";
+	}
+	public String toString() {
+		return "length";
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+//		interpreter.eval(ExpresionFieldExtension.BEANSHELL,null,-1,-1,"int length(String value){return value.length();};");
+		interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def length(value):\n" +
+				"  return value.length()");
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.STRING);
+	}
+	public String getDescription() {
+	    return PluginServices.getText(this, "parameter") + ": " +
+	    PluginServices.getText(this, "string_value") + "\n" +
+	    PluginServices.getText(this, "returns") + ": " +
+	    PluginServices.getText(this, "numeric_value") + "\n" +
+	    PluginServices.getText(this, "description") + ": " +
+	    "Returns the length of string parameter.";
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Length.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Distinct.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Distinct.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Distinct.java	(revision 11534)
@@ -0,0 +1,35 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Distinct extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return "<>";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.DATE || getType()==IOperator.NUMBER || getType()==IOperator.STRING);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "boolean_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns true if the objects are diferents.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Distinct.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Times.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Times.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Times.java	(revision 11534)
@@ -0,0 +1,36 @@
+package com.iver.cit.gvsig.project.documents.table.operators;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.project.documents.table.AbstractOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class Times extends AbstractOperator{
+
+	public String addText(String s) {
+		return s.concat(toString());
+	}
+
+	public void eval(BSFManager interpreter) throws BSFException {
+	}
+	public String toString() {
+		return "*";
+	}
+	public boolean isEnable() {
+		return (getType()==IOperator.NUMBER);
+	}
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText("")+"\n"+getDescription();
+	}
+	public String getDescription() {
+        return PluginServices.getText(this, "returns") + ": " +
+        PluginServices.getText(this, "numeric_value") + "\n" +
+        PluginServices.getText(this, "description") + ": " +
+        "Returns the result of times.";
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/operators/Times.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/AbstractOperator.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/AbstractOperator.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/AbstractOperator.java	(revision 11534)
@@ -0,0 +1,23 @@
+package com.iver.cit.gvsig.project.documents.table;
+
+import com.iver.andami.PluginServices;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public abstract class AbstractOperator implements IOperator{
+	private int type;
+
+	public void setType(int type) {
+		this.type=type;
+	}
+	public int getType() {
+		return type;
+	}
+	public abstract String toString();
+
+	public String getTooltip(){
+		return PluginServices.getText(this,"operator")+":  "+addText(PluginServices.getText(this,"parameter"))+"\n"+getDescription();
+	}
+	public abstract String getDescription();
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/AbstractOperator.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/IOperator.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/IOperator.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/IOperator.java	(revision 11534)
@@ -0,0 +1,19 @@
+package com.iver.cit.gvsig.project.documents.table;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+
+/**
+ * @author Vicente Caballero Navarro
+ */
+public interface IOperator {
+	int NUMBER = 0;
+	int STRING = 1;
+	int DATE = 2;
+	public String addText(String s);
+	public String toString();
+	public void eval(BSFManager interpreter) throws BSFException ;
+	public boolean isEnable();
+	public void setType(int fieldType);
+	public String getTooltip();
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/IOperator.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/ListOperatorsModel.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/ListOperatorsModel.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/ListOperatorsModel.java	(revision 11534)
@@ -0,0 +1,83 @@
+/*
+ * Created on 02-jun-2004
+ *
+ */
+/* gvSIG. Sistema de Información Geográfica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 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.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ibáñez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package com.iver.cit.gvsig.project.documents.table.gui;
+
+import java.util.ArrayList;
+
+import javax.swing.AbstractListModel;
+
+
+/**
+ * Modelo de la Lista de operadores a seleccionar.
+ *
+ * @author Vicente Caballero Navarro
+ */
+public class ListOperatorsModel extends AbstractListModel {
+	private ArrayList operators = new ArrayList();
+
+	/**
+	 * Añade los comandos que tiene el proyecto a la lista.
+	 */
+	public void addOperator(Object command) {
+		operators.add(command);
+	}
+
+	/**
+	 * @see javax.swing.ListModel#getSize()
+	 */
+	public int getSize() {
+		return operators.size();
+	}
+
+	/**
+	 * @see javax.swing.ListModel#getElementAt(int)
+	 */
+	public Object getElementAt(int index) {
+		return operators.get(index);
+	}
+	public void clear() {
+		operators.clear();
+	}
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/ListOperatorsModel.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresion.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresion.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresion.java	(revision 11534)
@@ -0,0 +1,192 @@
+package com.iver.cit.gvsig.project.documents.table.gui;
+
+import java.io.IOException;
+import java.sql.Types;
+import java.util.BitSet;
+import java.util.Date;
+import java.util.prefs.Preferences;
+
+import com.hardcode.driverManager.DriverLoadException;
+import com.hardcode.gdbms.engine.data.driver.DriverException;
+import com.hardcode.gdbms.engine.values.Value;
+import com.hardcode.gdbms.engine.values.ValueFactory;
+import com.iver.andami.PluginServices;
+import com.iver.cit.gvsig.EditionUtilities;
+import com.iver.cit.gvsig.fmap.core.IRow;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
+import com.iver.cit.gvsig.fmap.drivers.ILayerDefinition;
+import com.iver.cit.gvsig.fmap.drivers.ITableDefinition;
+import com.iver.cit.gvsig.fmap.edition.DefaultRowEdited;
+import com.iver.cit.gvsig.fmap.edition.EditionEvent;
+import com.iver.cit.gvsig.fmap.edition.EditionException;
+import com.iver.cit.gvsig.fmap.edition.IEditableSource;
+import com.iver.cit.gvsig.fmap.edition.IRowEdited;
+import com.iver.cit.gvsig.fmap.edition.ISpatialWriter;
+import com.iver.cit.gvsig.fmap.edition.IWriteable;
+import com.iver.cit.gvsig.fmap.edition.IWriter;
+import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter;
+import com.iver.cit.gvsig.fmap.layers.FLyrVect;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class EvalExpresion {
+	private FieldDescription[] fieldDescriptors;
+	private int selectedIndex;
+	private FieldDescription fieldDescriptor;
+	private FLyrVect lv;
+	private  IEditableSource ies =null;
+	private Table table=null;
+	private static Preferences prefs = Preferences.userRoot().node( "fieldExpresionOptions" );
+	private int limit;
+	public EvalExpresion() {
+		limit=prefs.getInt("limit_rows_in_memory",-1);
+	}
+	public void setTable(Table table) {
+		BitSet columnSelected = table.getSelectedFieldIndices();
+        fieldDescriptors = table.getModel().getModelo().getFieldsDescription();
+        selectedIndex = columnSelected.nextSetBit(0);
+        fieldDescriptor = fieldDescriptors[selectedIndex];
+        this.table=table;
+        lv=(FLyrVect)table.getModel().getAssociatedTable();
+        if (lv ==null)
+            ies=table.getModel().getModelo();
+        else
+            ies = (VectorialEditableAdapter) lv.getSource();
+	}
+	 public void setValue(Object obj,int i) {
+	    	//VectorialEditableAdapter vea = (VectorialEditableAdapter) lv.getSource();
+	    	 Value value = getValue(obj);
+	    	 //System.out.println("num = "+i);
+	    	 IRow feat=null;
+			try {
+				feat = ies.getRow(i).getLinkedRow().cloneRow();
+			} catch (DriverIOException e1) {
+				e1.printStackTrace();
+			} catch (IOException e1) {
+				e1.printStackTrace();
+			}
+	    	 Value[] values = feat.getAttributes();
+	    	 values[selectedIndex] = value;
+	    	 feat.setAttributes(values);
+
+	    	 IRowEdited edRow = new DefaultRowEdited(feat,
+	    			 IRowEdited.STATUS_MODIFIED, i);
+	    	 try {
+				ies.modifyRow(edRow.getIndex(), edRow.getLinkedRow(), "",
+						 EditionEvent.ALPHANUMERIC);
+			} catch (IOException e) {
+				e.printStackTrace();
+			} catch (DriverIOException e) {
+				e.printStackTrace();
+			}
+
+	    }
+	 /**
+	     * Returns the value created from object.
+	     *
+	     * @param obj value.
+	     *
+	     * @return Value.
+	     */
+	    private Value getValue(Object obj) {
+	        int typeField = fieldDescriptor.getFieldType();
+	        Value value = null;//ValueFactory.createNullValue();
+
+	        if (obj instanceof Double || obj instanceof Float || obj instanceof Integer) {
+	            if (typeField == Types.DOUBLE) {
+	                double dv = ((Number) obj).doubleValue();
+	                value = ValueFactory.createValue(dv);
+	            } else if (typeField == Types.FLOAT) {
+	                float df = ((Number) obj).floatValue();
+	                value = ValueFactory.createValue(df);
+	            } else if (typeField == Types.INTEGER) {
+	                int di = ((Number) obj).intValue();
+	                value = ValueFactory.createValue(di);
+	            } else if (typeField == Types.VARCHAR) {
+	                String s = ((Number) obj).toString();
+	                value = ValueFactory.createValue(s);
+	            } else if (typeField == Types.BOOLEAN) {
+	                if (((Number) obj).intValue()==0){
+	                	value=ValueFactory.createValue(false);
+	                }else{
+	                	value=ValueFactory.createValue(true);
+	                }
+	            }
+	        } else if (obj instanceof Date) {
+	            if (typeField == Types.DATE) {
+	                Date date = (Date) obj;
+	                value = ValueFactory.createValue(date);
+	            } else if (typeField == Types.VARCHAR) {
+	                String s = ((Date) obj).toString();
+	                value = ValueFactory.createValue(s);
+	            }
+	        } else if (obj instanceof Boolean) {
+	            if (typeField == Types.BOOLEAN) {
+	                boolean b = ((Boolean) obj).booleanValue();
+	                value = ValueFactory.createValue(b);
+	            } else if (typeField == Types.VARCHAR) {
+	                String s = ((Boolean) obj).toString();
+	                value = ValueFactory.createValue(s);
+	            }
+	        } else if (obj instanceof String) {
+	            if (typeField == Types.VARCHAR) {
+	                String s = obj.toString();
+	                value = ValueFactory.createValue(s);
+	            }
+	        }else{
+	        	value=ValueFactory.createNullValue();
+	        }
+
+	        return value;
+	    }
+	public FieldDescription getFieldDescriptorSelected() {
+		return fieldDescriptor;
+	}
+	public FieldDescription[] getFieldDescriptors() {
+		return fieldDescriptors;
+	}
+//	public void setFieldValue(Object obj,int i) {
+//    	try {
+//			((DBFDriver)table.getModel().getModelo().getOriginalDriver()).setFieldValue(i,selectedIndex,obj);
+//		} catch (DriverLoadException e) {
+//			e.printStackTrace();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		}
+//    }
+	public void saveEdits(int numRows) throws EditionException, DriverLoadException, DriverException, com.iver.cit.gvsig.fmap.DriverException, IOException, DriverIOException {
+		if (limit==-1 || numRows == 0 || (numRows % limit)!=0) {
+			return;
+		}
+		ies.endComplexRow(PluginServices.getText(this, "expresion"));
+		if ((lv != null) &&
+                lv.getSource() instanceof VectorialEditableAdapter) {
+                VectorialEditableAdapter vea = (VectorialEditableAdapter) lv.getSource();
+                ISpatialWriter spatialWriter = (ISpatialWriter) vea.getDriver();
+                vea.cleanSelectableDatasource();
+         		lv.setRecordset(vea.getRecordset()); // Queremos que el recordset del layer
+         		// refleje los cambios en los campos.
+         		ILayerDefinition lyrDef = EditionUtilities.createLayerDefinition(lv);
+         		spatialWriter.initialize(lyrDef);
+         		vea.saveEdits(spatialWriter,EditionEvent.ALPHANUMERIC);
+         		vea.getCommandRecord().clearAll();
+         } else {
+              if (ies instanceof IWriteable){
+             	 IWriteable w = (IWriteable) ies;
+	                 IWriter writer = w.getWriter();
+	                 if (writer == null){
+	                 }else{
+	     				ITableDefinition tableDef = ies.getTableDefinition();
+	    				writer.initialize(tableDef);
+
+	    				ies.saveEdits(writer,EditionEvent.ALPHANUMERIC);
+	                	ies.getSelection().clear();
+	                 }
+              }
+              ies.getCommandRecord().clearAll();
+         }
+		ies.startComplexRow();
+    	 table.refresh();
+    }
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresion.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresionDialog.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresionDialog.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresionDialog.java	(revision 11534)
@@ -0,0 +1,840 @@
+package com.iver.cit.gvsig.project.documents.table.gui;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.prefs.Preferences;
+
+import javax.swing.BoxLayout;
+import javax.swing.ButtonGroup;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.UIManager;
+import javax.swing.event.CaretEvent;
+import javax.swing.event.CaretListener;
+
+import org.apache.bsf.BSFException;
+import org.apache.bsf.BSFManager;
+import org.gvsig.gui.beans.AcceptCancelPanel;
+import org.gvsig.gui.beans.swing.JButton;
+
+
+import com.hardcode.gdbms.engine.data.driver.DriverException;
+import com.iver.andami.PluginServices;
+import com.iver.andami.ui.mdiManager.IWindow;
+import com.iver.andami.ui.mdiManager.WindowInfo;
+import com.iver.cit.gvsig.ExpresionFieldExtension;
+import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
+import com.iver.cit.gvsig.fmap.drivers.FieldDescription;
+import com.iver.cit.gvsig.fmap.edition.IEditableSource;
+import com.iver.cit.gvsig.fmap.layers.FBitSet;
+import com.iver.cit.gvsig.fmap.layers.FLyrVect;
+import com.iver.cit.gvsig.fmap.layers.SelectableDataSource;
+import com.iver.cit.gvsig.project.documents.table.GraphicOperator;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.Index;
+import com.iver.cit.gvsig.project.documents.table.operators.Field;
+import com.iver.utiles.GenericFileFilter;
+
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author Vicente Caballero Navarro
+ */
+public class EvalExpresionDialog extends JPanel implements IWindow {
+    private JPanel pNorth = null;
+    private JPanel pCentral = null;
+    private JScrollPane jScrollPane = null;
+    private JTextArea txtExp = null;
+    private AcceptCancelPanel acceptCancel;
+    private Table table;
+    private FLyrVect lv;
+    private JLabel lblColumn = null;
+    private JPanel pNorthEast = null;
+    private JPanel pNorthCenter = null;
+    private JPanel pNorthWest = null;
+    private JScrollPane jScrollPane1 = null;
+    private JList listFields = null;
+    private JRadioButton rbNumber = null;
+    private JRadioButton rbString = null;
+    private JRadioButton rbDate = null;
+    private JScrollPane jScrollPane2 = null;
+    private JList listCommand = null;
+    private BSFManager interpreter = null; // Construct an interpreter
+    private Index indexRow = null;
+    private SelectableDataSource sds = null;
+    private EvalExpresion evalExpresion=null;
+    private IEditableSource ies=null;
+	private JPanel pMessage;
+	//private JTextArea txtMessage;
+    private static ArrayList operators=new ArrayList();
+    public EvalExpresionDialog(Table table,BSFManager interpreter, ArrayList operators) {
+        super();
+        this.operators=operators;
+        this.interpreter=interpreter;
+        this.table = table;
+        initialize();
+
+    }
+    /**
+     * This method initializes this
+     */
+    private void initialize() {
+    	try {
+	        evalExpresions();
+        } catch (BSFException e) {
+			e.printStackTrace();
+		}
+	    evalExpresion=new EvalExpresion();
+	    evalExpresion.setTable(table);
+	    lv = (FLyrVect) table.getModel().getAssociatedTable();
+        ButtonGroup bg = new ButtonGroup();
+        bg.add(getRbNumber());
+        bg.add(getRbString());
+        bg.add(getRbDate());
+        this.setLayout(new BorderLayout());
+        this.setSize(549, 480);
+        this.add(getTabPrincipal(), java.awt.BorderLayout.CENTER);
+        this.add(getPMessage(), java.awt.BorderLayout.NORTH);
+        this.add(getAcceptCancel(), java.awt.BorderLayout.SOUTH);
+    }
+    /**
+     * This method initializes pCentral
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPNorth() {
+        if (pNorth == null) {
+            pNorth = new JPanel();
+            pNorth.setLayout(new BorderLayout());
+            pNorth.add(getPNorthEast(), java.awt.BorderLayout.EAST);
+            pNorth.add(getPNorthCenter(), java.awt.BorderLayout.CENTER);
+            pNorth.add(getPNorthWest(), java.awt.BorderLayout.WEST);
+        }
+
+        return pNorth;
+    }
+
+    /**
+     * This method initializes pNorth
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPCentral() {
+        if (pCentral == null) {
+            pCentral = new JPanel();
+            pCentral.setBorder(javax.swing.BorderFactory.createTitledBorder(
+                    null, PluginServices.getText(this,"expresion"),
+                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+            lblColumn = new JLabel();
+            pCentral.add(lblColumn, null);
+
+            pCentral.add(getJScrollPane(), null);
+            lblColumn.setText(PluginServices.getText(this, "column") + " : " +
+                evalExpresion.getFieldDescriptorSelected().getFieldAlias());
+            pCentral.add(getBClear(), null);
+        }
+
+        return pCentral;
+    }
+
+    /**
+     * This method initializes pSouth
+     *
+     * @return javax.swing.JPanel
+     */
+    private AcceptCancelPanel getAcceptCancel() {
+		if (this.acceptCancel == null) {
+			this.acceptCancel = new AcceptCancelPanel(
+					new java.awt.event.ActionListener() {
+						public void actionPerformed(java.awt.event.ActionEvent e) {
+							boolean isAccepted=true;
+							Preferences prefs = Preferences.userRoot().node(
+									"fieldExpresionOptions");
+							int limit;
+							limit = prefs.getInt("limit_rows_in_memory", -1);
+							if (limit != -1) {
+								int option = JOptionPane
+										.showConfirmDialog(
+												(Component) PluginServices
+														.getMainFrame(),
+												PluginServices
+														.getText(
+																this,
+																"it_has_established_a_limit_of_rows_will_lose_the_possibility_to_undo_wants_to_continue"));
+								if (option != JOptionPane.OK_OPTION) {
+									return;
+								}
+							}
+							try {
+								long t1 = System.currentTimeMillis();
+								isAccepted=evalExpresion();
+								long t2 = System.currentTimeMillis();
+								System.out
+										.println("Tiempo evaluar expresiones = "
+												+ (t2 - t1));
+							} catch (DriverException e1) {
+								e1.printStackTrace();
+							} catch (IOException e1) {
+								e1.printStackTrace();
+							} catch (DriverIOException e1) {
+								e1.printStackTrace();
+							} catch (BSFException e1) {
+								e1.printStackTrace();
+							}
+							if (isAccepted)
+								PluginServices.getMDIManager().closeWindow(
+									EvalExpresionDialog.this);
+						}
+					}, new java.awt.event.ActionListener() {
+						public void actionPerformed(java.awt.event.ActionEvent e) {
+							PluginServices.getMDIManager().closeWindow(
+									EvalExpresionDialog.this);
+						}
+					});
+			acceptCancel.setOkButtonEnabled(false);
+		}
+
+		return this.acceptCancel;
+	}
+    /**
+	 * Evaluate the expresion.
+	 *
+	 * @throws EvalError
+	 * @throws DriverException
+	 * @throws DriverIOException
+	 * @throws IOException
+	 * @throws DriverIOException
+	 * @throws IOException
+	 * @throws BSFException
+	 */
+    private boolean evalExpresion()
+        throws DriverException, IOException, DriverIOException, BSFException {
+        long rowCount = sds.getRowCount();
+        String expresion=getTxtExp().getText()
+        	.replaceAll("\\[","field(\"")
+        	.replaceAll("\\]","\")");
+        interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def expresion():\n" +
+        		"  return " +expresion+ "");
+        if (rowCount > 0) {
+            try {
+                interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"expresion()");
+            } catch (BSFException ee) {
+                int option=JOptionPane.showConfirmDialog((Component) PluginServices.getMainFrame(),
+                    PluginServices.getText(this,
+                        "error_expresion")+"\n"+ee.getMessage()+"\n"+PluginServices.getText(this,"continue?"));
+                if (option!=JOptionPane.OK_OPTION) {
+                	return false;
+                }
+            }
+        }
+        ies.startComplexRow();
+        interpreter.declareBean("ee",evalExpresion,EvalExpresion.class);
+        ArrayList exceptions=new ArrayList();
+        interpreter.declareBean("exceptions",exceptions,ArrayList.class);
+        FBitSet selection=sds.getSelection();
+        if (selection.cardinality() > 0) {
+			interpreter.declareBean("selection", selection, FBitSet.class);
+			interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def p():\n" +
+					"  i=selection.nextSetBit(0)\n" +
+					"  while i >=0:\n" +
+					"    indexRow.set(i)\n" +
+					"    obj=expresion()\n" +
+					"    ee.setValue(obj,i)\n" +
+					"    ee.saveEdits(i)\n" +
+					"    i=selection.nextSetBit(i+1)\n");
+		} else {
+			interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"def p():\n" +
+					"  for i in xrange("+rowCount +"):\n" +
+					"    indexRow.set(i)\n" +
+//					"    print i , expresion() , repr (expresion())\n" +
+					"    ee.setValue(expresion(),i)\n" +
+					"    ee.saveEdits(i)\n");
+		}
+        try {
+        	interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,"p()");
+        } catch (BSFException ee) {
+
+        	 JOptionPane.showMessageDialog((Component) PluginServices.getMainFrame(),
+                     PluginServices.getText(this, "evaluate_expresion_with_errors")+" "+(rowCount-indexRow.get())+"\n"+ee.getMessage());
+        }
+
+        ies.endComplexRow(PluginServices.getText(this, "expresion"));
+        table.refresh();
+        return true;
+    }
+    /**
+	 * This method initializes pMessage
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPMessage() {
+		if (pMessage == null) {
+
+			pMessage = new JPanel();
+			pMessage.setBorder(javax.swing.BorderFactory.createTitledBorder(null, PluginServices.getText(this,"information"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+			pMessage.setPreferredSize(new java.awt.Dimension(550,120));
+			pMessage.add(getJScrollPane3(), null);
+		}
+		return pMessage;
+	}
+    private void evalExpresions() throws BSFException {
+        ies = table.getModel().getModelo();
+        sds = ies.getRecordset();
+        interpreter.declareBean("sds", sds,SelectableDataSource.class);
+        indexRow=new Index();
+        interpreter.declareBean("indexRow", indexRow,Index.class);
+    }
+    /**
+     * Evaluate the fields.
+     *
+     * @param interpreter
+     *
+     * @throws EvalError
+     */
+    int lastType=-1;
+	private JButton bClear = null;
+	private JTabbedPane tabPrincipal = null;
+	private JPanel pPrincipal = null;
+	private JPanel pAdvanced = null;
+	private JPanel pAdvancedNorth = null;
+	private JTextField jTextField = null;
+	private JButton bFile = null;
+	private JPanel pAdvancedCenter = null;
+	private JLabel lblLeng = null;
+	private JButton bEval = null;
+	private JScrollPane jScrollPane3 = null;
+	private JTextArea txtMessage2 = null;
+	private void refreshOperators(int type) {
+        if (lastType!=-1 && lastType==type)
+        	return;
+        lastType=type;
+    	ListOperatorsModel lom=(ListOperatorsModel)getListCommand().getModel();
+        lom.clear();
+           for (int i=0;i<operators.size();i++) {
+            IOperator operator = (IOperator)operators.get(i);
+            operator.setType(type);
+            //Comprobar si tiene una capa asociada y pasarsela al GraphicOperator.
+            if ((lv != null) && operator instanceof GraphicOperator) {
+                GraphicOperator igo = (GraphicOperator) operator;
+                igo.setLayer(lv);
+            }
+            if (operator.isEnable()) {
+                   lom.addOperator(operator);
+                   //System.out.println("Operator = "+operator.toString());
+            }
+        }
+        getListCommand().repaint();
+
+    }
+    /**
+     * This method initializes jScrollPane
+     *
+     * @return javax.swing.JScrollPane
+     */
+    private JScrollPane getJScrollPane() {
+        if (jScrollPane == null) {
+            jScrollPane = new JScrollPane();
+            jScrollPane.setPreferredSize(new java.awt.Dimension(480, 80));
+            jScrollPane.setViewportView(getTxtExp());
+        }
+
+        return jScrollPane;
+    }
+
+    /**
+     * This method initializes txtExp
+     *
+     * @return javax.swing.JTextArea
+     */
+    private JTextArea getTxtExp() {
+        if (txtExp == null) {
+            txtExp = new JTextArea();
+            txtExp.addCaretListener(new CaretListener(){
+				public void caretUpdate(CaretEvent e) {
+					if (txtExp.getText().length()>0)
+						getAcceptCancel().setOkButtonEnabled(true);
+					else
+						getAcceptCancel().setOkButtonEnabled(false);
+				}
+
+
+
+
+			});
+        }
+
+        return txtExp;
+    }
+
+    public WindowInfo getWindowInfo() {
+         WindowInfo wi = new WindowInfo(WindowInfo.MODALDIALOG);
+        wi.setTitle(PluginServices.getText(this, "calculate_expresion"));
+
+        return wi;
+    }
+
+    /**
+     * This method initializes pNorthEast
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPNorthEast() {
+        if (pNorthEast == null) {
+            pNorthEast = new JPanel();
+            pNorthEast.setBorder(javax.swing.BorderFactory.createTitledBorder(
+                    null, PluginServices.getText(this,"commands"),
+                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+            pNorthEast.add(getJScrollPane2(), null);
+        }
+
+        return pNorthEast;
+    }
+
+    /**
+     * This method initializes pNorthCenter
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPNorthCenter() {
+        if (pNorthCenter == null) {
+            pNorthCenter = new JPanel();
+            pNorthCenter.setLayout(new BoxLayout(getPNorthCenter(),
+                    BoxLayout.Y_AXIS));
+            pNorthCenter.setBorder(javax.swing.BorderFactory.createTitledBorder(
+                    null, PluginServices.getText(this,"type"),
+                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+            pNorthCenter.add(getRbNumber(), null);
+            pNorthCenter.add(getRbString(), null);
+            pNorthCenter.add(getRbDate(), null);
+        }
+
+        return pNorthCenter;
+    }
+
+    /**
+     * This method initializes pNorthWest
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPNorthWest() {
+        if (pNorthWest == null) {
+            pNorthWest = new JPanel();
+            pNorthWest.setBorder(javax.swing.BorderFactory.createTitledBorder(
+                    null, PluginServices.getText(this,"field"),
+                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+            pNorthWest.add(getJScrollPane1(), null);
+        }
+
+        return pNorthWest;
+    }
+
+    /**
+     * This method initializes jScrollPane1
+     *
+     * @return javax.swing.JScrollPane
+     */
+    private JScrollPane getJScrollPane1() {
+        if (jScrollPane1 == null) {
+            jScrollPane1 = new JScrollPane();
+            jScrollPane1.setPreferredSize(new java.awt.Dimension(175, 100));
+            jScrollPane1.setViewportView(getListFields());
+        }
+
+        return jScrollPane1;
+    }
+
+    /**
+     * This method initializes listFields
+     *
+     * @return javax.swing.JList
+     */
+    private JList getListFields() {
+        if (listFields == null) {
+            listFields = new JList();
+            listFields.setModel(new ListOperatorsModel());
+
+            ListOperatorsModel lm = (ListOperatorsModel) listFields.getModel();
+            FieldDescription[] fds=evalExpresion.getFieldDescriptors();
+            for (int i = 0; i < fds.length; i++) {
+                Field field=new Field();
+                field.setFieldDescription(fds[i]);
+                try {
+                	field.eval(interpreter);
+                } catch (BSFException e) {
+					e.printStackTrace();
+				}
+                lm.addOperator(field);
+            }
+
+            listFields.addMouseListener(new MouseListener() {
+                    public void mouseClicked(MouseEvent e) {
+                    	IOperator operator=((IOperator) listFields.getSelectedValue());
+                    	getTxtMessage2().setText(operator.getTooltip());
+                    	if (e.getClickCount() == 2) {
+                            getTxtExp().setText(operator.addText(
+                                    getTxtExp().getText()));
+                        }
+                    }
+
+                    public void mouseEntered(MouseEvent e) {
+                    }
+
+                    public void mouseExited(MouseEvent e) {
+                    }
+
+                    public void mousePressed(MouseEvent e) {
+                    }
+
+                    public void mouseReleased(MouseEvent e) {
+                    }
+                });
+        }
+
+        return listFields;
+    }
+
+    /**
+     * This method initializes rbNumber
+     *
+     * @return javax.swing.JRadioButton
+     */
+    private JRadioButton getRbNumber() {
+        if (rbNumber == null) {
+            rbNumber = new JRadioButton();
+            rbNumber.setText(PluginServices.getText(this,"numeric"));
+            rbNumber.setSelected(true);
+            rbNumber.addChangeListener(new javax.swing.event.ChangeListener() {
+                public void stateChanged(javax.swing.event.ChangeEvent e) {
+                     if (rbNumber.isSelected())
+                         refreshCommands();
+                }
+            });
+        }
+
+        return rbNumber;
+    }
+
+    /**
+     * This method initializes rbString
+     *
+     * @return javax.swing.JRadioButton
+     */
+    private JRadioButton getRbString() {
+        if (rbString == null) {
+            rbString = new JRadioButton();
+            rbString.setText(PluginServices.getText(this,"string"));
+            rbString.addChangeListener(new javax.swing.event.ChangeListener() {
+                public void stateChanged(javax.swing.event.ChangeEvent e) {
+                     if (rbString.isSelected())
+                         refreshCommands();
+                }
+            });
+        }
+
+        return rbString;
+    }
+
+    /**
+     * This method initializes rbData
+     *
+     * @return javax.swing.JRadioButton
+     */
+    private JRadioButton getRbDate() {
+        if (rbDate == null) {
+            rbDate = new JRadioButton();
+            rbDate.setText(PluginServices.getText(this,"date"));
+            rbDate.addChangeListener(new javax.swing.event.ChangeListener() {
+                public void stateChanged(javax.swing.event.ChangeEvent e) {
+                    if (rbDate.isSelected())
+                         refreshCommands();
+                }
+            });
+        }
+
+        return rbDate;
+    }
+
+    /**
+     * This method initializes jScrollPane2
+     *
+     * @return javax.swing.JScrollPane
+     */
+    private JScrollPane getJScrollPane2() {
+        if (jScrollPane2 == null) {
+            jScrollPane2 = new JScrollPane();
+            jScrollPane2.setPreferredSize(new java.awt.Dimension(175, 100));
+            jScrollPane2.setViewportView(getListCommand());
+        }
+
+        return jScrollPane2;
+    }
+
+    /**
+     * Refresh the commands.
+     */
+    private void refreshCommands() {
+        int type=IOperator.NUMBER;
+        if (getRbNumber().isSelected()) {
+            type=IOperator.NUMBER;
+        } else if (getRbString().isSelected()) {
+            type=IOperator.STRING;
+        } else if (getRbDate().isSelected()) {
+            type=IOperator.DATE;
+        }
+        refreshOperators(type);
+
+    }
+
+    /**
+     * This method initializes ListCommand
+     *
+     * @return javax.swing.JList
+     */
+    private JList getListCommand() {
+        if (listCommand == null) {
+            listCommand = new JList();
+            listCommand.setModel(new ListOperatorsModel());
+            listCommand.addMouseListener(new MouseListener() {
+                    public void mouseClicked(MouseEvent e) {
+                    	IOperator operator=((IOperator) listCommand.getSelectedValue());
+                    	getTxtMessage2().setText(operator.getTooltip());
+                    	if (e.getClickCount() == 2) {
+                        	if (listCommand.getSelectedValue()==null)
+                        		return;
+                            getTxtExp().setText(operator.addText(
+                                    getTxtExp().getText()));
+                        }
+                    }
+
+                    public void mouseEntered(MouseEvent e) {
+                    }
+
+                    public void mouseExited(MouseEvent e) {
+                    }
+
+                    public void mousePressed(MouseEvent e) {
+                    }
+
+                    public void mouseReleased(MouseEvent e) {
+                    }
+                });
+            refreshOperators(IOperator.NUMBER);
+        }
+
+        return listCommand;
+    }
+
+    /**
+	 * This method initializes bClear
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getBClear() {
+		if (bClear == null) {
+			bClear = new JButton();
+			bClear.setText(PluginServices.getText(this,"clear_expresion"));
+			bClear.addActionListener(new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					getTxtExp().setText("");
+				}
+			});
+		}
+		return bClear;
+	}
+	/**
+	 * This method initializes tabPrincipal
+	 *
+	 * @return javax.swing.JTabbedPane
+	 */
+	private JTabbedPane getTabPrincipal() {
+		if (tabPrincipal == null) {
+			tabPrincipal = new JTabbedPane();
+			tabPrincipal.addTab(PluginServices.getText(this,"general"), null, getPPrincipal(), null);
+			tabPrincipal.addTab(PluginServices.getText(this,"advanced"), null, getPAdvanced(), null);
+		}
+		return tabPrincipal;
+	}
+	/**
+	 * This method initializes pPrincipal
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPPrincipal() {
+		if (pPrincipal == null) {
+			pPrincipal = new JPanel();
+			pPrincipal.setLayout(new BorderLayout());
+			pPrincipal.setPreferredSize(new java.awt.Dimension(540,252));
+			pPrincipal.add(getPNorth(), java.awt.BorderLayout.NORTH);
+			pPrincipal.add(getPCentral(), java.awt.BorderLayout.CENTER);
+
+		}
+		return pPrincipal;
+	}
+	/**
+	 * This method initializes pAdvanced
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPAdvanced() {
+		if (pAdvanced == null) {
+			pAdvanced = new JPanel();
+			pAdvanced.setLayout(new BorderLayout());
+			pAdvanced.add(getPAdvancedNorth(), java.awt.BorderLayout.NORTH);
+			pAdvanced.add(getPAdvancedCenter(), java.awt.BorderLayout.CENTER);
+		}
+		return pAdvanced;
+	}
+	/**
+	 * This method initializes pAdvancedNorth
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPAdvancedNorth() {
+		if (pAdvancedNorth == null) {
+			pAdvancedNorth = new JPanel();
+			pAdvancedNorth.setPreferredSize(new java.awt.Dimension(873,100));
+			pAdvancedNorth.setBorder(javax.swing.BorderFactory.createTitledBorder(null, PluginServices.getText(this,"expresions_from_file"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+			pAdvancedNorth.add(getJTextField(), null);
+			pAdvancedNorth.add(getBFile(), null);
+			pAdvancedNorth.add(getBEval(), null);
+		}
+		return pAdvancedNorth;
+	}
+	/**
+	 * This method initializes jTextField
+	 *
+	 * @return javax.swing.JTextField
+	 */
+	private JTextField getJTextField() {
+		if (jTextField == null) {
+			jTextField = new JTextField();
+			jTextField.setPreferredSize(new java.awt.Dimension(250,20));
+		}
+		return jTextField;
+	}
+	/**
+	 * This method initializes bFile
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getBFile() {
+		if (bFile == null) {
+			bFile = new JButton();
+			bFile.setText(PluginServices.getText(this,"explorer"));
+			bFile.addActionListener(new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					JFileChooser jfc = new JFileChooser();
+					jfc.addChoosableFileFilter(new GenericFileFilter("bs",
+							PluginServices.getText(this, "expresions")));
+
+					if (jfc.showOpenDialog((Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
+						File fileExpresion = jfc.getSelectedFile();
+						getJTextField().setText(fileExpresion.getAbsolutePath());
+
+					}
+				}
+				});
+		}
+		return bFile;
+	}
+	private String readFile(File aFile) throws IOException {
+		StringBuffer fileContents = new StringBuffer();
+		FileReader fileReader = new FileReader(aFile);
+		int c;
+		while ((c = fileReader.read()) > -1) {
+			fileContents.append((char)c);
+		}
+		fileReader.close();
+		return fileContents.toString();
+	}
+	/**
+	 * This method initializes pAdvancedCenter
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPAdvancedCenter() {
+		if (pAdvancedCenter == null) {
+			lblLeng = new JLabel();
+			lblLeng.setText("");
+			pAdvancedCenter = new JPanel();
+			pAdvancedCenter.add(lblLeng, null);
+		}
+		return pAdvancedCenter;
+	}
+
+	/**
+	 * This method initializes bEval
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getBEval() {
+		if (bEval == null) {
+			bEval = new JButton();
+			bEval.setText(PluginServices.getText(this,"evaluate"));
+			bEval.addActionListener(new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					File file=new File(getJTextField().getText());
+					if (!file.exists()) {
+						JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),PluginServices.getText(this,"incorrect_file"));
+						return;
+					}
+					try {
+						interpreter.exec(ExpresionFieldExtension.JYTHON,null,-1,-1,readFile(file));
+					} catch (IOException e1) {
+						e1.printStackTrace();
+					} catch (BSFException e1) {
+						e1.printStackTrace();
+					}
+				}
+			});
+		}
+		return bEval;
+	}
+	/**
+	 * This method initializes jScrollPane3
+	 *
+	 * @return javax.swing.JScrollPane
+	 */
+	private JScrollPane getJScrollPane3() {
+		if (jScrollPane3 == null) {
+			jScrollPane3 = new JScrollPane();
+			jScrollPane3.setPreferredSize(new java.awt.Dimension(530,80));
+			jScrollPane3.setViewportView(getTxtMessage2());
+		}
+		return jScrollPane3;
+	}
+	/**
+	 * This method initializes txtMessage2
+	 *
+	 * @return javax.swing.JTextArea
+	 */
+	private JTextArea getTxtMessage2() {
+		if (txtMessage2 == null) {
+			txtMessage2 = new JTextArea();
+			txtMessage2.setText(PluginServices.getText(this,"eval_expresion_will_be_carried_out_right_now_with_current_values_in_table"));
+			//txtMessage2.setSize(new java.awt.Dimension(550,100));
+			txtMessage2.setEditable(false);
+			txtMessage2.setBackground(UIManager.getColor(this));
+		}
+		return txtMessage2;
+	}
+} //  @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/project/documents/table/gui/EvalExpresionDialog.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/AboutExpresionFieldExtension.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/AboutExpresionFieldExtension.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/AboutExpresionFieldExtension.java	(revision 11534)
@@ -0,0 +1,41 @@
+package com.iver.cit.gvsig;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.Extension;
+import com.iver.cit.gvsig.About;
+import com.iver.cit.gvsig.gui.panels.FPanelAbout;
+
+/**
+ * About extension.
+ *
+ * Add the about coments to the gvSIG About panel
+ */
+
+public class AboutExpresionFieldExtension extends Extension {
+
+	public void initialize() {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void postInitialize() {
+		About about=(About)PluginServices.getExtension(About.class);
+		FPanelAbout panelAbout=about.getAboutPanel();
+		java.net.URL aboutURL = this.getClass().getResource(
+	        "/about.htm");
+	        panelAbout.addAboutUrl(PluginServices.getText(this,"calculate_expresion"),aboutURL);
+	}
+
+	public void execute(String actionCommand) {
+
+	}
+
+	public boolean isEnabled() {
+		return false;
+	}
+
+	public boolean isVisible() {
+		return false;
+	}
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/AboutExpresionFieldExtension.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/ExpresionFieldExtension.java
===================================================================
--- tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/ExpresionFieldExtension.java	(revision 0)
+++ tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/ExpresionFieldExtension.java	(revision 11534)
@@ -0,0 +1,220 @@
+package com.iver.cit.gvsig;
+
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Iterator;
+
+import org.apache.bsf.BSFManager;
+
+import com.iver.andami.PluginServices;
+import com.iver.andami.plugins.Extension;
+import com.iver.cit.gvsig.gui.FieldExpresionPage;
+import com.iver.cit.gvsig.project.documents.table.IOperator;
+import com.iver.cit.gvsig.project.documents.table.gui.EvalExpresionDialog;
+import com.iver.cit.gvsig.project.documents.table.gui.Table;
+import com.iver.cit.gvsig.project.documents.table.operators.Abs;
+import com.iver.cit.gvsig.project.documents.table.operators.Acos;
+import com.iver.cit.gvsig.project.documents.table.operators.After;
+import com.iver.cit.gvsig.project.documents.table.operators.Area;
+import com.iver.cit.gvsig.project.documents.table.operators.Asin;
+import com.iver.cit.gvsig.project.documents.table.operators.Atan;
+import com.iver.cit.gvsig.project.documents.table.operators.Before;
+import com.iver.cit.gvsig.project.documents.table.operators.Ceil;
+import com.iver.cit.gvsig.project.documents.table.operators.Cos;
+import com.iver.cit.gvsig.project.documents.table.operators.Distinct;
+import com.iver.cit.gvsig.project.documents.table.operators.Division;
+import com.iver.cit.gvsig.project.documents.table.operators.E;
+import com.iver.cit.gvsig.project.documents.table.operators.EndsWith;
+import com.iver.cit.gvsig.project.documents.table.operators.Equal;
+import com.iver.cit.gvsig.project.documents.table.operators.Equals;
+import com.iver.cit.gvsig.project.documents.table.operators.Exp;
+import com.iver.cit.gvsig.project.documents.table.operators.Geometry;
+import com.iver.cit.gvsig.project.documents.table.operators.GetTimeDate;
+import com.iver.cit.gvsig.project.documents.table.operators.IndexOf;
+import com.iver.cit.gvsig.project.documents.table.operators.IsNumber;
+import com.iver.cit.gvsig.project.documents.table.operators.LastIndexOf;
+import com.iver.cit.gvsig.project.documents.table.operators.Length;
+import com.iver.cit.gvsig.project.documents.table.operators.LessEquals;
+import com.iver.cit.gvsig.project.documents.table.operators.LessThan;
+import com.iver.cit.gvsig.project.documents.table.operators.Log;
+import com.iver.cit.gvsig.project.documents.table.operators.Max;
+import com.iver.cit.gvsig.project.documents.table.operators.Min;
+import com.iver.cit.gvsig.project.documents.table.operators.Minus;
+import com.iver.cit.gvsig.project.documents.table.operators.MoreEquals;
+import com.iver.cit.gvsig.project.documents.table.operators.MoreThan;
+import com.iver.cit.gvsig.project.documents.table.operators.Perimeter;
+import com.iver.cit.gvsig.project.documents.table.operators.Pi;
+import com.iver.cit.gvsig.project.documents.table.operators.Plus;
+import com.iver.cit.gvsig.project.documents.table.operators.PointX;
+import com.iver.cit.gvsig.project.documents.table.operators.PointY;
+import com.iver.cit.gvsig.project.documents.table.operators.Pow;
+import com.iver.cit.gvsig.project.documents.table.operators.Random;
+import com.iver.cit.gvsig.project.documents.table.operators.Replace;
+import com.iver.cit.gvsig.project.documents.table.operators.Round;
+import com.iver.cit.gvsig.project.documents.table.operators.SetTimeDate;
+import com.iver.cit.gvsig.project.documents.table.operators.Sin;
+import com.iver.cit.gvsig.project.documents.table.operators.Sqrt;
+import com.iver.cit.gvsig.project.documents.table.operators.StartsWith;
+import com.iver.cit.gvsig.project.documents.table.operators.SubString;
+import com.iver.cit.gvsig.project.documents.table.operators.Tan;
+import com.iver.cit.gvsig.project.documents.table.operators.Times;
+import com.iver.cit.gvsig.project.documents.table.operators.ToDate;
+import com.iver.cit.gvsig.project.documents.table.operators.ToDegrees;
+import com.iver.cit.gvsig.project.documents.table.operators.ToLowerCase;
+import com.iver.cit.gvsig.project.documents.table.operators.ToNumber;
+import com.iver.cit.gvsig.project.documents.table.operators.ToRadians;
+import com.iver.cit.gvsig.project.documents.table.operators.ToString;
+import com.iver.cit.gvsig.project.documents.table.operators.ToUpperCase;
+import com.iver.cit.gvsig.project.documents.table.operators.Trim;
+import com.iver.utiles.extensionPoints.ExtensionPoint;
+import com.iver.utiles.extensionPoints.ExtensionPoints;
+import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
+import com.iver.utiles.swing.threads.AbstractMonitorableTask;
+/**
+ * @author Vicente Caballero Navarro
+ */
+public class ExpresionFieldExtension extends Extension{
+	//private static Interpreter interpreter=new Interpreter();
+	public static final String JYTHON="jython";
+	private static BSFManager interpreter=new BSFManager();
+	private Table table=null;
+	private static ArrayList operators=new ArrayList();
+	public void initialize() {
+		registerOperations();
+	}
+
+	public void execute(String actionCommand) {
+		com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow();
+		table=(Table)window;
+		if (operators.isEmpty()) {
+        	PluginServices.cancelableBackgroundExecution(new EvalOperatorsTask());
+        }else{
+        	 EvalExpresionDialog eed=new EvalExpresionDialog(table,interpreter,operators);
+		     PluginServices.getMDIManager().addWindow(eed);
+        }
+
+	}
+	public void postInitialize() {
+	}
+
+	public boolean isEnabled() {
+		com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow();
+		if (window instanceof Table) {
+			Table table=(Table)window;
+			BitSet columnSelected = table.getSelectedFieldIndices();
+		    if (!columnSelected.isEmpty() && table.isEditing()) {
+		    	return true;
+		    }
+		}
+		return false;
+	}
+
+	public boolean isVisible() {
+		com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow();
+		if (window instanceof Table) {
+			return true;
+		}
+		return false;
+	}
+	 private void registerOperations() {
+	    	ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
+
+	    	extensionPoints.add("cad_editing_properties_pages","fieldExpresion",FieldExpresionPage.class);
+
+	    	extensionPoints.add("ColumnOperators",Abs.class.toString(),Abs.class);
+	        extensionPoints.add("ColumnOperators",Acos.class.toString(),Acos.class);
+	        extensionPoints.add("ColumnOperators",After.class.toString(),After.class);
+	        extensionPoints.add("ColumnOperators",Area.class.toString(),Area.class);
+	        extensionPoints.add("ColumnOperators",Asin.class.toString(),Asin.class);
+	        extensionPoints.add("ColumnOperators",Atan.class.toString(),Atan.class);
+	        extensionPoints.add("ColumnOperators",Acos.class.toString(),Acos.class);
+	        extensionPoints.add("ColumnOperators",Before.class.toString(),Before.class);
+	        extensionPoints.add("ColumnOperators",Ceil.class.toString(),Ceil.class);
+	        extensionPoints.add("ColumnOperators",Cos.class.toString(),Cos.class);
+	    	extensionPoints.add("ColumnOperators",Distinct.class.toString(),Distinct.class);
+	     	extensionPoints.add("ColumnOperators",Division.class.toString(),Division.class);
+	     	extensionPoints.add("ColumnOperators",E.class.toString(),E.class);
+	     	extensionPoints.add("ColumnOperators",EndsWith.class.toString(),EndsWith.class);
+	     	extensionPoints.add("ColumnOperators",Equal.class.toString(),Equal.class);
+	     	extensionPoints.add("ColumnOperators",Equals.class.toString(),Equals.class);
+	     	extensionPoints.add("ColumnOperators",Exp.class.toString(),Exp.class);
+	     	extensionPoints.add("ColumnOperators",Geometry.class.toString(),Geometry.class);
+	     	extensionPoints.add("ColumnOperators",GetTimeDate.class.toString(),GetTimeDate.class);
+	     	extensionPoints.add("ColumnOperators",IndexOf.class.toString(),IndexOf.class);
+	     	extensionPoints.add("ColumnOperators",IsNumber.class.toString(),IsNumber.class);
+	     	extensionPoints.add("ColumnOperators",LastIndexOf.class.toString(),LastIndexOf.class);
+	     	extensionPoints.add("ColumnOperators",Length.class.toString(),Length.class);
+	     	extensionPoints.add("ColumnOperators",LessEquals.class.toString(),LessEquals.class);
+	     	extensionPoints.add("ColumnOperators",LessThan.class.toString(),LessThan.class);
+	     	extensionPoints.add("ColumnOperators",Log.class.toString(),Log.class);
+	     	extensionPoints.add("ColumnOperators",Max.class.toString(),Max.class);
+	     	extensionPoints.add("ColumnOperators",Min.class.toString(),Min.class);
+	     	extensionPoints.add("ColumnOperators",Minus.class.toString(),Minus.class);
+	     	extensionPoints.add("ColumnOperators",MoreEquals.class.toString(),MoreEquals.class);
+	     	extensionPoints.add("ColumnOperators",MoreThan.class.toString(),MoreThan.class);
+	     	extensionPoints.add("ColumnOperators",Perimeter.class.toString(),Perimeter.class);
+	     	extensionPoints.add("ColumnOperators",Pi.class.toString(),Pi.class);
+	    	extensionPoints.add("ColumnOperators",Plus.class.toString(),Plus.class);
+	     	extensionPoints.add("ColumnOperators",PointX.class.toString(),PointX.class);
+	     	extensionPoints.add("ColumnOperators",PointY.class.toString(),PointY.class);
+	     	extensionPoints.add("ColumnOperators",Pow.class.toString(),Pow.class);
+	     	extensionPoints.add("ColumnOperators",Random.class.toString(),Random.class);
+	     	extensionPoints.add("ColumnOperators",Replace.class.toString(),Replace.class);
+	     	extensionPoints.add("ColumnOperators",Round.class.toString(),Round.class);
+	     	extensionPoints.add("ColumnOperators",SetTimeDate.class.toString(),SetTimeDate.class);
+	     	extensionPoints.add("ColumnOperators",Sin.class.toString(),Sin.class);
+	     	extensionPoints.add("ColumnOperators",Sqrt.class.toString(),Sqrt.class);
+	     	extensionPoints.add("ColumnOperators",StartsWith.class.toString(),StartsWith.class);
+	     	extensionPoints.add("ColumnOperators",SubString.class.toString(),SubString.class);
+	     	extensionPoints.add("ColumnOperators",Tan.class.toString(),Tan.class);
+	    	extensionPoints.add("ColumnOperators",Times.class.toString(),Times.class);
+	    	extensionPoints.add("ColumnOperators",ToDate.class.toString(),ToDate.class);
+	    	extensionPoints.add("ColumnOperators",ToDegrees.class.toString(),ToDegrees.class);
+	    	extensionPoints.add("ColumnOperators",ToLowerCase.class.toString(),ToLowerCase.class);
+	    	extensionPoints.add("ColumnOperators",ToNumber.class.toString(),ToNumber.class);
+	    	extensionPoints.add("ColumnOperators",ToRadians.class.toString(),ToRadians.class);
+	    	extensionPoints.add("ColumnOperators",ToString.class.toString(),ToString.class);
+	    	extensionPoints.add("ColumnOperators",ToUpperCase.class.toString(),ToUpperCase.class);
+	    	extensionPoints.add("ColumnOperators",Trim.class.toString(),Trim.class);
+	 }
+	 private class EvalOperatorsTask extends AbstractMonitorableTask{
+	    	private ExtensionPoint extensionPoint;
+	    	public EvalOperatorsTask(){
+				setInitialStep(0);
+				setDeterminatedProcess(true);
+				setStatusMessage(PluginServices.getText(this, "charging_operators")+"...");
+				ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance();
+				extensionPoint =(ExtensionPoint)extensionPoints.get("ColumnOperators");
+				setFinalStep(extensionPoint.size()+1);
+	    	}
+			public void run() throws Exception {
+				 long t1=System.currentTimeMillis();
+			        Iterator iterator = extensionPoint.keySet().iterator();
+			        while (iterator.hasNext()) {
+			            try {
+			                IOperator operator = (IOperator)extensionPoint.create((String)iterator.next());
+
+			                operator.eval(interpreter);
+			                operators.add(operator);
+			                reportStep();
+			                setNote(operator.getClass().getName());
+			            } catch (InstantiationException e) {
+			                e.printStackTrace();
+			            } catch (IllegalAccessException e) {
+			                e.printStackTrace();
+			            } catch (ClassCastException e) {
+			                e.printStackTrace();
+			            }
+			        }
+			        long t2=System.currentTimeMillis();
+			        System.out.println("Tiempo en evaluar y crear del extension point = "+(t2-t1) );
+			        long t3=System.currentTimeMillis();
+			        System.out.println("Tiempo en añadir los operadores correctos = "+(t3-t2) );
+			        EvalExpresionDialog eed=new EvalExpresionDialog(table,interpreter,operators);
+			        reportStep();
+			        PluginServices.getMDIManager().addWindow(eed);
+			}
+
+	    }
+
+}

Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField/src/com/iver/cit/gvsig/ExpresionFieldExtension.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native


Property changes on: tags/CalculadoraCampos_Build_2/extensions/extExpressionField
___________________________________________________________________
Added: svn:ignore
   + bin
dist-src


