Index: src/main/java/org/gvsig/expressionfield/ExpressionFieldExtension.java =================================================================== --- src/main/java/org/gvsig/expressionfield/ExpressionFieldExtension.java (revisione 42) +++ src/main/java/org/gvsig/expressionfield/ExpressionFieldExtension.java (copia locale) @@ -72,6 +72,7 @@ import org.gvsig.expressionfield.project.documents.table.operators.Max; import org.gvsig.expressionfield.project.documents.table.operators.Min; import org.gvsig.expressionfield.project.documents.table.operators.Minus; +import org.gvsig.expressionfield.project.documents.table.operators.Mod; import org.gvsig.expressionfield.project.documents.table.operators.MoreEquals; import org.gvsig.expressionfield.project.documents.table.operators.MoreThan; import org.gvsig.expressionfield.project.documents.table.operators.Perimeter; @@ -209,6 +210,7 @@ extensionPoints.append(Max.class.toString(), "", Max.class); extensionPoints.append(Min.class.toString(), "", Min.class); extensionPoints.append(Minus.class.toString(), "", Minus.class); + extensionPoints.append(Mod.class.toString(), "", Mod.class); extensionPoints.append(MoreEquals.class.toString(), "", MoreEquals.class); extensionPoints.append(MoreThan.class.toString(), "", MoreThan.class); extensionPoints.append(Perimeter.class.toString(), "", Perimeter.class); @@ -218,10 +220,7 @@ extensionPoints.append(PointY.class.toString(), "", PointY.class); extensionPoints.append(Pow.class.toString(), "", Pow.class); extensionPoints.append(Random.class.toString(), "", Random.class); - - // Added November 2013 extensionPoints.append(RecordIndex.class.toString(), "", RecordIndex.class); - extensionPoints.append(Replace.class.toString(), "", Replace.class); extensionPoints.append(Round.class.toString(), "", Round.class); extensionPoints.append(SetTimeDate.class.toString(), "", SetTimeDate.class); Index: src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Mod.java =================================================================== --- src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Mod.java (revisione 0) +++ src/main/java/org/gvsig/expressionfield/project/documents/table/operators/Mod.java (copia locale) @@ -0,0 +1,66 @@ +/******************************************************************************* + * + * gvSIG. Desktop Geographic Information System. + * + * Copyright (C) 2007-2015 gvSIG Association. + * + * 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 3 + * 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., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * For any additional information, do not hesitate to contact us + * at info AT gvsig.com, or visit our website www.gvsig.com. + * + *******************************************************************************/ +package org.gvsig.expressionfield.project.documents.table.operators; + +import org.apache.bsf.BSFException; +import org.apache.bsf.BSFManager; +import org.gvsig.andami.PluginServices; +import org.gvsig.expressionfield.ExpressionFieldExtension; +import org.gvsig.expressionfield.project.documents.table.AbstractOperator; +import org.gvsig.expressionfield.project.documents.table.IOperator; + +/** + * @author Antonio Falciano + */ +public class Mod extends AbstractOperator{ + + public String addText(String s) { + return toString()+"("+s+")"; + } + public String toString() { + return "mod"; + } + public void eval(BSFManager interpreter) throws BSFException { + interpreter.exec(ExpressionFieldExtension.JYTHON,null,-1,-1,"def mod(value1, value2):\n" + + " return (value1 % value2)"); + } + public boolean isEnable() { + return (getType()==IOperator.NUMBER); + } + 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, "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 remainder of division of one number by another."; + } +}