diff --git a/.gitignore b/.gitignore
index a5d0c00..7f4ab4d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
*.class
-out
+out/
# Backup files
*~
*.bak
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 02c8362..73cf8ba 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,7 +7,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -71,91 +133,25 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
@@ -164,24 +160,22 @@
-
-
+
+
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
@@ -211,57 +205,57 @@
@@ -505,7 +499,7 @@
-
+
@@ -535,7 +529,7 @@
-
+
@@ -545,7 +539,6 @@
-
@@ -556,6 +549,7 @@
+
@@ -1142,6 +1136,9 @@
+
+
+
1453802639057
@@ -1203,7 +1200,7 @@
-
+
@@ -1227,28 +1224,27 @@
-
+
-
+
-
+
-
+
-
-
+
-
+
@@ -1261,6 +1257,7 @@
+
@@ -1288,423 +1285,398 @@
-
-
- file://$PROJECT_DIR$/src/com/devbaltasarq/pooi/core/ObjectBag.java
- 134
-
-
-
-
-
+
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
-
-
+
+
-
+
-
-
-
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
+
+
-
+
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
+
+
-
+
-
-
+
+
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
+
+
+
-
+
-
-
-
+
+
+
+
+
diff --git a/ToDo.txt b/ToDo.txt
index db6b759..f09e42b 100644
--- a/ToDo.txt
+++ b/ToDo.txt
@@ -3,4 +3,3 @@
- Needs Math object with sqr, sqrt, PI.
- Needs "os" object with import()... These could be imported objects stored in a special dir (part of the jar) that could be imported.
- Needs libraries, such as Complex. This could be provided with import, and loaded as any transcription.
-- Store the last directory
diff --git a/src/com/devbaltasarq/pooi/core/Interpreter.java b/src/com/devbaltasarq/pooi/core/Interpreter.java
index f958e8c..96b4215 100644
--- a/src/com/devbaltasarq/pooi/core/Interpreter.java
+++ b/src/com/devbaltasarq/pooi/core/Interpreter.java
@@ -3,8 +3,8 @@
import com.devbaltasarq.pooi.core.evaluables.Command;
import com.devbaltasarq.pooi.core.evaluables.Method;
import com.devbaltasarq.pooi.core.evaluables.Reference;
-import com.devbaltasarq.pooi.core.evaluables.method.InterpretedMethod;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.InterpretedMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
diff --git a/src/com/devbaltasarq/pooi/core/ObjectBag.java b/src/com/devbaltasarq/pooi/core/ObjectBag.java
index ec50768..0e0dd18 100644
--- a/src/com/devbaltasarq/pooi/core/ObjectBag.java
+++ b/src/com/devbaltasarq/pooi/core/ObjectBag.java
@@ -258,6 +258,22 @@ public String getNameOrValueAsString() {
return toret;
}
+ /**
+ * Returns the number of attributes in this object
+ * @return The number of attributes, as an int.
+ */
+ public int getNumberOfAttributes() {
+ return this.attributes.size();
+ }
+
+ /**
+ * Returns the number of methods in this object
+ * @return the number of methods, as an int
+ */
+ public int getNumberOfMethods() {
+ return this.methods.size();
+ }
+
/** @return the number of objects between this object and root, plus itself */
public int getInheritanceLevel() {
int toret = 1;
@@ -407,7 +423,7 @@ public String toJson()
public Reference toReference()
{
Attribute[] path = this.getObjectPath();
- ArrayList toret = new ArrayList<>();
+ ArrayList toret = new ArrayList<>( path.length );
for(int i = 0; i < path.length; ++i) {
toret.add( path[ i ].getName() );
@@ -594,6 +610,66 @@ public Attribute lookUpAttribute(String atrName)
return toret;
}
+ public void renameMember(String oldName, String newName) throws InterpretError
+ {
+ final Attribute attr = this.localLookUpAttribute( oldName );
+ final Method mth = this.localLookUpMethod( oldName );
+
+ if ( attr != null ) {
+ this.renameAttribute( oldName, newName );
+ }
+ else
+ if ( mth != null ) {
+ this.renameMethod( oldName, newName );
+ }
+ else {
+ throw new InterpretError( "member " + oldName + " was not found" );
+ }
+
+ return;
+ }
+
+ public void renameMethod(String oldName, String newName) throws InterpretError {
+
+ }
+
+ public void renameAttribute(String oldName, String newName) throws InterpretError {
+ final Attribute attr = this.localLookUpAttribute( oldName );
+ ObjectBag ref = null;
+
+ if ( attr != null ) {
+ try {
+ ref = attr.getReference();
+ if ( ref != null ) {
+ ref.setName( newName );
+ attr.setName( newName );
+ this.attributes.remove( oldName );
+ this.attributes.put( newName, attr );
+ } else {
+ throw new InterpretError( "INTERNAL ERROR: reference points to void" );
+ }
+ } catch(InterpretError exc) {
+ if ( ref != null
+ && ref.getName().equals( newName ) )
+ {
+ ref.setName( oldName );
+ }
+
+ if ( attr != null
+ && attr.getName().equals( newName ) )
+ {
+ attr.setName( oldName );
+ this.attributes.remove( newName );
+ this.attributes.put( oldName, attr );
+ }
+
+ throw exc;
+ }
+ } else {
+ throw new InterpretError( "attribute " + oldName + " was not found" );
+ }
+ }
+
/**
* Returns an attribute by its name, in *this* object *only*
* @param atrName The name of the attribute
diff --git a/src/com/devbaltasarq/pooi/core/Parser.java b/src/com/devbaltasarq/pooi/core/Parser.java
index 0acaff1..2815873 100644
--- a/src/com/devbaltasarq/pooi/core/Parser.java
+++ b/src/com/devbaltasarq/pooi/core/Parser.java
@@ -8,9 +8,9 @@
import com.devbaltasarq.pooi.core.evaluables.literals.IntLiteral;
import com.devbaltasarq.pooi.core.evaluables.literals.RealLiteral;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.InterpretedMethod;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.NativeMethodSet;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.NativeMethodStr;
+import com.devbaltasarq.pooi.core.evaluables.methods.InterpretedMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodSet;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodStr;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import java.util.ArrayList;
diff --git a/src/com/devbaltasarq/pooi/core/Runtime.java b/src/com/devbaltasarq/pooi/core/Runtime.java
index 1e5094d..0db239e 100644
--- a/src/com/devbaltasarq/pooi/core/Runtime.java
+++ b/src/com/devbaltasarq/pooi/core/Runtime.java
@@ -9,8 +9,8 @@
import com.devbaltasarq.pooi.core.evaluables.literals.IntLiteral;
import com.devbaltasarq.pooi.core.evaluables.literals.RealLiteral;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.InterpretedMethod;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.*;
+import com.devbaltasarq.pooi.core.evaluables.methods.InterpretedMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.*;
import com.devbaltasarq.pooi.core.exceps.AttributeNotFound;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.*;
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/Method.java b/src/com/devbaltasarq/pooi/core/evaluables/Method.java
index 54c1779..58ef7bb 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/Method.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/Method.java
@@ -62,6 +62,27 @@ public static String getStringFrom(Evaluable e)
return toret;
}
+ /**
+ * Returns a list with the formal parameters of the method
+ * @return a primitive vector of String, containing the formal parameters
+ */
+ public abstract String[] getFormalParameters();
+
+ /**
+ * Returns a string with the formal parameters of the method
+ * @return a String, with the formal parameters
+ */
+ public String getFormalParametersAsString() {
+ StringBuilder toret = new StringBuilder();
+
+ for(String param: this.getFormalParameters()) {
+ toret.append( toret );
+ toret.append( ' ' );
+ }
+
+ return toret.toString().trim();
+ }
+
/** @return Gets the body of the method as a representation in text */
public abstract String getMethodBodyAsString();
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/InterpretedMethod.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/InterpretedMethod.java
similarity index 95%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/InterpretedMethod.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/InterpretedMethod.java
index 5912eb2..9346c04 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/InterpretedMethod.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/InterpretedMethod.java
@@ -1,4 +1,4 @@
-package com.devbaltasarq.pooi.core.evaluables.method;
+package com.devbaltasarq.pooi.core.evaluables.methods;
import com.devbaltasarq.pooi.core.*;
import com.devbaltasarq.pooi.core.evaluables.Command;
@@ -47,7 +47,7 @@ public void setCmds(String cmds) throws InterpretError
public void setRealParams(ObjectBag self, Evaluable[] args) throws InterpretError
{
- String[] formalParams = this.getFormalParams();
+ String[] formalParams = this.getFormalParameters();
if ( args.length != formalParams.length ) {
throw new InterpretError( "formal and real arguments do not match" );
@@ -145,7 +145,8 @@ public Evaluable getRealParameter(String id)
return ( this.params.get( id ) );
}
- public String[] getFormalParams()
+ @Override
+ public String[] getFormalParameters()
{
return this.formalParams;
}
@@ -157,7 +158,7 @@ public String getMethodBodyAsString() {
toret.append( "{" );
// Add params
- for(String param: this.getFormalParams()) {
+ for(String param: this.getFormalParameters()) {
toret.append( param );
toret.append( ' ' );
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/NativeMethod.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/NativeMethod.java
similarity index 96%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/NativeMethod.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/NativeMethod.java
index e2954dd..283a7ae 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/NativeMethod.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/NativeMethod.java
@@ -1,4 +1,4 @@
-package com.devbaltasarq.pooi.core.evaluables.method;
+package com.devbaltasarq.pooi.core.evaluables.methods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCopy.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCopy.java
similarity index 81%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCopy.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCopy.java
index e4465bf..8a0c1c3 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCopy.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCopy.java
@@ -1,8 +1,8 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -41,4 +41,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCreateChild.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCreateChild.java
similarity index 79%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCreateChild.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCreateChild.java
index 663555f..9a98068 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodCreateChild.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodCreateChild.java
@@ -1,8 +1,8 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -37,4 +37,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodErase.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodErase.java
similarity index 79%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodErase.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodErase.java
index 8464029..deaf2fc 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodErase.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodErase.java
@@ -1,8 +1,8 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -39,4 +39,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "attrName" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetName.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetName.java
similarity index 77%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetName.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetName.java
index 3f87fe6..60bb936 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetName.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetName.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -33,4 +33,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetPath.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetPath.java
similarity index 77%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetPath.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetPath.java
index 3c5faee..4aace4f 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodGetPath.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodGetPath.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -33,4 +33,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntAbs.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntAbs.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntAbs.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntAbs.java
index 087e954..c35c769 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntAbs.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntAbs.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
@@ -44,4 +44,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntDivideBy.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntDivideBy.java
similarity index 89%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntDivideBy.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntDivideBy.java
index 8553a82..8e34163 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntDivideBy.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntDivideBy.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -80,4 +80,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsEqualTo.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsEqualTo.java
similarity index 87%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsEqualTo.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsEqualTo.java
index b951495..9eb80ab 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsEqualTo.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsEqualTo.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsGreaterThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsGreaterThan.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsGreaterThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsGreaterThan.java
index 736c12a..2fa2b8d 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsGreaterThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsGreaterThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsLessThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsLessThan.java
similarity index 87%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsLessThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsLessThan.java
index 4f5a5f0..ea48938 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsLessThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsLessThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsNegative.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsNegative.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsNegative.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsNegative.java
index 8dfdc98..3ea6571 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntIsNegative.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntIsNegative.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
@@ -44,4 +44,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntMultiplyBy.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntMultiplyBy.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntMultiplyBy.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntMultiplyBy.java
index 9803200..f605a64 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntMultiplyBy.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntMultiplyBy.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -72,4 +72,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSubstract.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSubstract.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSubstract.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSubstract.java
index 88bc829..e79bd56 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSubstract.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSubstract.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -72,4 +72,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSum.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSum.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSum.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSum.java
index 6e7299d..eb128d2 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIntSum.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIntSum.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -72,4 +72,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIs.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIs.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIs.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIs.java
index c31e80f..a148ae9 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodIs.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodIs.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -49,4 +49,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "obj" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodList.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodList.java
similarity index 76%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodList.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodList.java
index 99455da..82d8205 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodList.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodList.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -33,4 +33,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodOsNow.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodOsNow.java
similarity index 85%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodOsNow.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodOsNow.java
index 5fbc87f..6e042d9 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodOsNow.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodOsNow.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectDateTime;
@@ -46,4 +46,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealAbs.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealAbs.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealAbs.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealAbs.java
index fb377d1..644e65c 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealAbs.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealAbs.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -44,4 +44,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealDivideBy.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealDivideBy.java
similarity index 89%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealDivideBy.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealDivideBy.java
index 25faeda..2df1fd1 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealDivideBy.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealDivideBy.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -80,4 +80,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsEqualTo.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsEqualTo.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsEqualTo.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsEqualTo.java
index 3d34afe..89675bf 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsEqualTo.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsEqualTo.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsGreaterThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsGreaterThan.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsGreaterThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsGreaterThan.java
index 071bc6f..3595af5 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsGreaterThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsGreaterThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsLessThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsLessThan.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsLessThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsLessThan.java
index 64afd47..55ccc7d 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsLessThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsLessThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -64,4 +64,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsNegative.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsNegative.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsNegative.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsNegative.java
index 70ee9b9..53e1f52 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealIsNegative.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealIsNegative.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -44,4 +44,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealMultiplyBy.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealMultiplyBy.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealMultiplyBy.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealMultiplyBy.java
index 3ac132e..9e56ab0 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealMultiplyBy.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealMultiplyBy.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -73,4 +73,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSubstract.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSubstract.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSubstract.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSubstract.java
index 7b78b5e..bb4cd4e 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSubstract.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSubstract.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -72,4 +72,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSum.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSum.java
similarity index 89%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSum.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSum.java
index 4bc1709..8292c5f 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodRealSum.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodRealSum.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectReal;
@@ -72,4 +72,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "x" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSet.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSet.java
similarity index 82%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSet.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSet.java
index 16faac9..c03ca3d 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSet.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSet.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.InterpretedMethod;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.InterpretedMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -60,4 +60,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 2;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "attrName", "obj" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSetName.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSetName.java
similarity index 70%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSetName.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSetName.java
index 43e3faa..2ea80c8 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodSetName.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodSetName.java
@@ -1,8 +1,8 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -34,20 +34,12 @@ public static ObjectBag rename(ObjectBag ref, String id, StringBuilder msg)
final ObjectBag container = ref.getContainer();
final String oldName = ref.getName();
- // Changing name comprises two steps:
- // Removing it then adding it again
- // (so its own name and the reference pointing to it are in sync)
- container.remove( ref.getName() );
-
try {
- ref.setName( id );
- container.set( ref.getName(), ref );
+ container.renameMember( oldName, id );
}
catch(InterpretError e)
{
- ref.setName( oldName );
- container.set( oldName, ref );
-
+ msg.append( "Error renaming from '" + oldName + "' to: '" + id + "': " );
throw e;
}
@@ -58,4 +50,9 @@ public static ObjectBag rename(ObjectBag ref, String id, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "objName" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStr.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStr.java
similarity index 79%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStr.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStr.java
index 2f778c3..b3d0a66 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStr.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStr.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
@@ -35,4 +35,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrCharAt.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrCharAt.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrCharAt.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrCharAt.java
index 1073464..13c3a2c 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrCharAt.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrCharAt.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -69,4 +69,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "pos" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrConcat.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrConcat.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrConcat.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrConcat.java
index 101694c..92d1693 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrConcat.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrConcat.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -67,4 +67,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "text" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEmpty.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEmpty.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEmpty.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEmpty.java
index a211ccd..c2feba8 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEmpty.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEmpty.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -48,4 +48,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEqualTo.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEqualTo.java
similarity index 86%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEqualTo.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEqualTo.java
index c342a71..6ec7915 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsEqualTo.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsEqualTo.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -59,4 +59,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "text" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsGreaterThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsGreaterThan.java
similarity index 86%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsGreaterThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsGreaterThan.java
index 4a129de..774039a 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsGreaterThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsGreaterThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -59,4 +59,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "text" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsLessThan.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsLessThan.java
similarity index 86%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsLessThan.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsLessThan.java
index fd233d3..ee5ce76 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsLessThan.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsLessThan.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -59,4 +59,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "text" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsNumber.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsNumber.java
similarity index 85%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsNumber.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsNumber.java
index 8c1b627..149821e 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrIsNumber.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrIsNumber.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -54,4 +54,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLeft.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLeft.java
similarity index 89%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLeft.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLeft.java
index c47f1d9..e2e49a3 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLeft.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLeft.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -76,4 +76,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "pos" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLength.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLength.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLength.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLength.java
index 8ba0472..7bc1881 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrLength.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrLength.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -43,4 +43,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMays.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMays.java
similarity index 84%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMays.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMays.java
index 33433d3..838460f 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMays.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMays.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -45,4 +45,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMins.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMins.java
similarity index 84%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMins.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMins.java
index 0fac1e6..a665ba7 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrMins.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrMins.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -45,4 +45,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrRight.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrRight.java
similarity index 89%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrRight.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrRight.java
index e881f7b..e689ac7 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrRight.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrRight.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -80,4 +80,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 1;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "pos" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrSub.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrSub.java
similarity index 88%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrSub.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrSub.java
index 761a37a..56e8bd7 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrSub.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrSub.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectInt;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -71,4 +71,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 2;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[]{ "pos1", "pos2" };
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToInt.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToInt.java
similarity index 86%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToInt.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToInt.java
index 6f8cd80..6969dc5 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToInt.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToInt.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -56,4 +56,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToReal.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToReal.java
similarity index 84%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToReal.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToReal.java
index bb0f851..1af7580 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrToReal.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrToReal.java
@@ -1,9 +1,9 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -51,4 +51,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrTrim.java b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrTrim.java
similarity index 83%
rename from src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrTrim.java
rename to src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrTrim.java
index b958565..e4d5709 100644
--- a/src/com/devbaltasarq/pooi/core/evaluables/method/nativemethods/NativeMethodStrTrim.java
+++ b/src/com/devbaltasarq/pooi/core/evaluables/methods/nativemethods/NativeMethodStrTrim.java
@@ -1,10 +1,10 @@
-package com.devbaltasarq.pooi.core.evaluables.method.nativemethods;
+package com.devbaltasarq.pooi.core.evaluables.methods.nativemethods;
import com.devbaltasarq.pooi.core.Evaluable;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.literals.StrLiteral;
-import com.devbaltasarq.pooi.core.evaluables.method.NativeMethod;
+import com.devbaltasarq.pooi.core.evaluables.methods.NativeMethod;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectStr;
@@ -45,4 +45,9 @@ public ObjectBag doIt(ObjectBag ref, Evaluable[] params, StringBuilder msg)
public int getNumParams() {
return 0;
}
+
+ @Override
+ public String[] getFormalParameters() {
+ return new String[ 0 ];
+ }
}
diff --git a/src/com/devbaltasarq/pooi/core/objs/ObjectOs.java b/src/com/devbaltasarq/pooi/core/objs/ObjectOs.java
index 1ea4ea1..1ed9d0c 100644
--- a/src/com/devbaltasarq/pooi/core/objs/ObjectOs.java
+++ b/src/com/devbaltasarq/pooi/core/objs/ObjectOs.java
@@ -1,6 +1,6 @@
package com.devbaltasarq.pooi.core.objs;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.NativeMethodOsNow;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodOsNow;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
/**
diff --git a/src/com/devbaltasarq/pooi/core/objs/ObjectParent.java b/src/com/devbaltasarq/pooi/core/objs/ObjectParent.java
index 5924b14..a376400 100644
--- a/src/com/devbaltasarq/pooi/core/objs/ObjectParent.java
+++ b/src/com/devbaltasarq/pooi/core/objs/ObjectParent.java
@@ -10,10 +10,10 @@
package com.devbaltasarq.pooi.core.objs;
import com.devbaltasarq.pooi.core.exceps.InterpretError;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.NativeMethodStr;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodStr;
import com.devbaltasarq.pooi.core.ObjectBag;
import com.devbaltasarq.pooi.core.Reserved;
-import com.devbaltasarq.pooi.core.evaluables.method.nativemethods.*;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.*;
/**
* This is "Object" the parent for all objects
diff --git a/src/com/devbaltasarq/pooi/res/addAttribute.png b/src/com/devbaltasarq/pooi/res/addAttribute.png
index 490ccf8..ebacbdf 100644
Binary files a/src/com/devbaltasarq/pooi/res/addAttribute.png and b/src/com/devbaltasarq/pooi/res/addAttribute.png differ
diff --git a/src/com/devbaltasarq/pooi/res/addMethod.png b/src/com/devbaltasarq/pooi/res/addMethod.png
index abdab14..e695c8f 100644
Binary files a/src/com/devbaltasarq/pooi/res/addMethod.png and b/src/com/devbaltasarq/pooi/res/addMethod.png differ
diff --git a/src/com/devbaltasarq/pooi/res/clear.png b/src/com/devbaltasarq/pooi/res/clear.png
deleted file mode 100644
index a306874..0000000
Binary files a/src/com/devbaltasarq/pooi/res/clear.png and /dev/null differ
diff --git a/src/com/devbaltasarq/pooi/res/copy.png b/src/com/devbaltasarq/pooi/res/copy.png
index 77985c9..e3a9744 100644
Binary files a/src/com/devbaltasarq/pooi/res/copy.png and b/src/com/devbaltasarq/pooi/res/copy.png differ
diff --git a/src/com/devbaltasarq/pooi/res/delete.png b/src/com/devbaltasarq/pooi/res/delete.png
new file mode 100644
index 0000000..210769c
Binary files /dev/null and b/src/com/devbaltasarq/pooi/res/delete.png differ
diff --git a/src/com/devbaltasarq/pooi/res/execute.png b/src/com/devbaltasarq/pooi/res/execute.png
new file mode 100644
index 0000000..cec151f
Binary files /dev/null and b/src/com/devbaltasarq/pooi/res/execute.png differ
diff --git a/src/com/devbaltasarq/pooi/ui/Inspector.java b/src/com/devbaltasarq/pooi/ui/Inspector.java
index 7d693bc..25cb43c 100644
--- a/src/com/devbaltasarq/pooi/ui/Inspector.java
+++ b/src/com/devbaltasarq/pooi/ui/Inspector.java
@@ -5,8 +5,11 @@
import com.devbaltasarq.pooi.core.Runtime;
import com.devbaltasarq.pooi.core.evaluables.Attribute;
import com.devbaltasarq.pooi.core.evaluables.Method;
-import com.devbaltasarq.pooi.core.exceps.InterpretError;
-import com.devbaltasarq.pooi.core.objs.ValueObject;
+import com.devbaltasarq.pooi.core.evaluables.ParentAttribute;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodList;
+import com.devbaltasarq.pooi.core.evaluables.methods.nativemethods.NativeMethodStr;
+import com.devbaltasarq.pooi.core.objs.ObjectParent;
+import com.devbaltasarq.pooi.core.objs.ObjectRoot;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
@@ -16,6 +19,7 @@
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.net.URL;
+import java.util.HashSet;
/**
* Created by Baltasar on 30/04/2016.
@@ -24,8 +28,11 @@ public class Inspector extends JDialog {
public static final String EtqIconCopy = "com/devbaltasarq/pooi/res/copy.png";
public static final String EtqIconAddMethod = "com/devbaltasarq/pooi/res/addMethod.png";
public static final String EtqIconAddAttribute = "com/devbaltasarq/pooi/res/addAttribute.png";
+ public static final String EtqIconExecute = "com/devbaltasarq/pooi/res/execute.png";
+ public static final String EtqIconDelete = "com/devbaltasarq/pooi/res/delete.png";
public Inspector(VisualEngine parent, ObjectBag obj) {
+ this.beingBuilt = true;
try {
this.rt = Runtime.getRuntime();
this.objRoot = rt.getAbsoluteParent();
@@ -40,6 +47,8 @@ public Inspector(VisualEngine parent, ObjectBag obj) {
this.setIconImage( parent.getIconImage() );
this.setFont( this.visualEngine.getFont() );
this.build();
+ this.beingBuilt = false;
+ this.setVisible( true );
}
/** Retries icons from jar for future use */
@@ -57,6 +66,12 @@ private void buildIcons()
url = this.getClass().getClassLoader().getResource( EtqIconAddAttribute );
this.iconAddAttribute = new ImageIcon( url );
+ url = this.getClass().getClassLoader().getResource( EtqIconExecute );
+ this.iconExecute = new ImageIcon( url );
+
+ url = this.getClass().getClassLoader().getResource( EtqIconDelete );
+ this.iconDelete = new ImageIcon( url );
+
} catch(Exception exc)
{
this.visualEngine.makeOutput( "\n[WARNING: failed to retrieve icons from jar]\n\n" );
@@ -80,13 +95,7 @@ public void actionPerformed(ActionEvent e)
this.add( pnlClose, BorderLayout.PAGE_END );
}
- private void buildActionArea() {
- // Create a box layout in the center
- this.pnlAction = new JPanel();
- JScrollPane scroll = new JScrollPane( this.pnlAction );
- this.pnlAction.setLayout( new BoxLayout( this.pnlAction, BoxLayout.PAGE_AXIS ) );
- this.add( scroll, BorderLayout.CENTER );
-
+ private void buildBasicAttrsPanel() {
// Add panel for object's name
JPanel pnlName = new JPanel();
pnlName.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
@@ -99,16 +108,48 @@ private void buildActionArea() {
pnlName.add( edObjectName );
this.pnlAction.add( pnlName );
this.pnlAction.add( Box.createVerticalGlue() );
- edObjectName.addActionListener(new ActionListener() {
+ this.edObjectName.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
- Inspector.this.visualEngine.execute(
- Inspector.this.getObj().getPath() + " rename \"" + edObjectName.getText() + "\"");
- Inspector.this.updateObjectName();
+ if ( !Inspector.this.beingBuilt ) {
+ Inspector.this.visualEngine.execute(
+ Inspector.this.getObj().getPath() + " rename \"" + edObjectName.getText() + "\"" );
+ Inspector.this.updateObjectBasicAttributes();
+ }
}
});
- // Add buttons for management
+ // Add panel for parent attribute
+ if ( !( this.getObj() instanceof ObjectParent ) ) {
+ JPanel pnlAttrParent = new JPanel();
+ pnlAttrParent.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
+ pnlAttrParent.setLayout( new BoxLayout( pnlAttrParent, BoxLayout.LINE_AXIS ) );
+ JLabel lblParentAttributeName = new JLabel( "Parent" );
+ this.cbParent = new JComboBox( this.availableObjectsNames );
+ ( (JLabel) this.cbParent.getRenderer() ).setHorizontalAlignment( JLabel.RIGHT );
+ ( (JTextField) this.cbParent.getEditor().getEditorComponent() ).setHorizontalAlignment( JTextField.RIGHT );
+ this.cbParent.setFont( this.visualEngine.getFont() );
+ this.cbParent.setEditable( true );
+ this.cbParent.getModel().setSelectedItem( this.getObj().getParentObject().getNameOrValueAsString() );
+ pnlAttrParent.add( lblParentAttributeName );
+ pnlAttrParent.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ pnlAttrParent.add( this.cbParent );
+ this.pnlAction.add( pnlAttrParent );
+ this.pnlAction.add( Box.createVerticalGlue() );
+ this.cbParent.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent actionEvent) {
+ if ( !Inspector.this.beingBuilt ) {
+ Inspector.this.visualEngine.execute(
+ Inspector.this.getObj().getPath() + ".parent = " + cbParent.getSelectedItem() );
+ Inspector.this.updateObjectBasicAttributes();
+ }
+ }
+ });
+ }
+ }
+
+ private void buildManagementButtonsPanel() {
JPanel pnlButtons = new JPanel();
pnlButtons.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
pnlButtons.setLayout( new BoxLayout( pnlButtons, BoxLayout.LINE_AXIS ) );
@@ -116,15 +157,12 @@ public void actionPerformed(ActionEvent actionEvent) {
btAddAttribute.setToolTipText( "Add attribute" );
JButton btAddMethod = new JButton( this.iconAddMethod );
btAddMethod.setToolTipText( "Add method" );
- JButton btRename = new JButton( "Ren" );
JButton btCopy = new JButton( this.iconCopy );
btCopy.setToolTipText( "Copy this object" );
pnlButtons.add( btAddAttribute );
pnlButtons.add( Box.createHorizontalGlue() );
pnlButtons.add( btAddMethod );
pnlButtons.add( Box.createHorizontalGlue() );
- pnlButtons.add( btRename );
- pnlButtons.add( Box.createHorizontalGlue() );
pnlButtons.add( btCopy );
this.pnlAction.add( pnlButtons );
this.pnlAction.add( Box.createVerticalGlue() );
@@ -132,157 +170,195 @@ public void actionPerformed(ActionEvent actionEvent) {
btAddAttribute.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- Inspector.this.addAttribute();
+ String attrName = "attr" + ( Inspector.this.getObj().getNumberOfAttributes() + 1 );
+ Inspector.this.visualEngine.execute( getObj().getPath() + "." + attrName + " = 0" );
+ Inspector.this.addAttributePanel( getObj().lookUpAttribute( attrName ) );
+ Inspector.this.pack();
}
} );
btAddMethod.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- Inspector.this.addMethod();
+ String mthName = "mth" + ( Inspector.this.getObj().getNumberOfMethods() + 1 );
+ Inspector.this.visualEngine.execute( getObj().getPath() + "." + mthName + " = {:}" );
+ Inspector.this.addMethodPanel( getObj().localLookUpMethod( mthName ) );
+ Inspector.this.pack();
}
} );
- btRename.addActionListener( new ActionListener() {
+ btCopy.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- Inspector.this.renameObject();
+ Inspector.this.copyObject();
}
} );
+ }
- btCopy.addActionListener( new ActionListener() {
+ private void addAttributePanel(Attribute attr) {
+ ObjectBag objDest = attr.getReference();
+ JPanel panel = new JPanel();
+ panel.setBorder(new EmptyBorder( 10, 10, 10, 10 ) );
+ panel.setLayout( new BoxLayout( panel, BoxLayout.LINE_AXIS ) );
+
+ JButton btDelete = new JButton( this.iconDelete );
+ btDelete.setToolTipText( "Delete attribute" );
+ JComboBox cbContents = new JComboBox( this.availableObjectsNames );
+ ( (JLabel) cbContents.getRenderer() ).setHorizontalAlignment( JLabel.RIGHT );
+ ( (JTextField) cbContents.getEditor().getEditorComponent() ).setHorizontalAlignment( JTextField.RIGHT );
+ cbContents.setFont( this.visualEngine.getFont() );
+ cbContents.setEditable( true );
+ cbContents.getModel().setSelectedItem( objDest.getNameOrValueAsString() );
+ JTextField edName = new JTextField( attr.getName() );
+
+ panel.add( btDelete );
+ panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ panel.add( edName );
+ panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ panel.add( cbContents );
+ this.pnlAttributes.add( panel );
+ this.pnlAttributes.add( Box.createVerticalGlue() );
+
+ edName.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- Inspector.this.copyObject();
+ if ( !Inspector.this.beingBuilt ) {
+ Inspector.this.visualEngine.execute( getObj().getPath()
+ + "." + attr.getName() + " rename \"" + edName.getText() + "\"" );
+ edName.setText( attr.getName() );
+ }
}
} );
- // Add controls for each attribute
- final Attribute[] attrs = this.rt.getRoot().getAttributes();
- final String[] objsNames = new String[ attrs.length ];
- for(int i = 0; i < attrs.length; ++i) {
- objsNames[ i ] = attrs[ i ].getName();
- }
-
- for(Attribute atr: this.getObj().getAttributes()) {
- ObjectBag objDest = atr.getReference();
- JPanel panel = new JPanel();
- panel.setBorder(new EmptyBorder( 10, 10, 10, 10 ) );
- panel.setLayout( new BoxLayout( panel, BoxLayout.LINE_AXIS ) );
- JComboBox cbContents = new JComboBox( objsNames );
- ( (JLabel)cbContents.getRenderer() ).setHorizontalAlignment( JLabel.RIGHT );
- cbContents.setFont( this.visualEngine.getFont() );
- cbContents.setEditable( true );
- cbContents.getModel().setSelectedItem( objDest.getNameOrValueAsString() );
- JLabel lblName = new JLabel( atr.getName() );
-
- panel.add( lblName );
- panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
- panel.add( cbContents );
- this.pnlAction.add( panel );
- this.pnlAction.add( Box.createVerticalGlue() );
- lblName.addMouseListener(new MouseListener() {
- @Override
- public void mouseClicked(MouseEvent mouseEvent) {
+ cbContents.addActionListener( new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent evt) {
+ if ( !Inspector.this.beingBuilt ) {
+ visualEngine.execute( obj.getPath() + "." + edName.getText() + " = " + cbContents.getModel().getSelectedItem() );
+ }
+ }
+ } );
+ btDelete.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent actionEvent) {
+ if ( !Inspector.this.beingBuilt ) {
+ visualEngine.execute( obj.getPath() + " erase \"" + attr.getName() + "\"" );
+ pnlAttributes.remove( panel );
+ Inspector.this.pack();
}
+ }
+ });
+ }
- @Override
- public void mousePressed(MouseEvent mouseEvent) {
+ private void buildAttributesManagementPanel() {
+ HashSet attrIds = new HashSet<>( this.getObj().getNumberOfMethods() );
- }
- @Override
- public void mouseReleased(MouseEvent mouseEvent) {
- Inspector.this.launchFieldInspection( atr.getName() );
- }
+ this.pnlAttributes = new JPanel();
+ JScrollPane scroll = new JScrollPane( this.pnlAttributes );
+ this.pnlAttributes.setLayout( new BoxLayout( this.pnlAttributes, BoxLayout.PAGE_AXIS ) );
+ this.pnlAction.add( scroll );
+ this.pnlAction.add( Box.createVerticalGlue() );
- @Override
- public void mouseEntered(MouseEvent mouseEvent) {
+ for(Attribute attr: this.getObj().getAttributes()) {
+ if ( attr instanceof ParentAttribute ) {
+ continue;
+ }
+
+ String attrName = attr.getName();
+ if ( attrIds.contains( attrName ) ) {
+ continue;
+ } else {
+ attrIds.add( attrName );
+ }
+
+ this.addAttributePanel( attr );
+ }
+ }
+
+ private void addMethodPanel(Method mth) {
+ String mthName = mth.getName();
+ JPanel panel = new JPanel();
+ panel.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
+ panel.setLayout( new BoxLayout( panel, BoxLayout.LINE_AXIS ) );
+
+ JButton btDelete = new JButton( this.iconDelete );
+ btDelete.setToolTipText( "Delete method" );
+ JButton btExecute = new JButton( this.iconExecute );
+ btExecute.setToolTipText( "Execute method" );
+ JTextField edName = new JTextField( mthName );
+ JTextField edContents = new JTextField( mth.getMethodBodyAsString() );
+ edContents.setHorizontalAlignment( JTextField.RIGHT );
+ panel.add( btExecute );
+ panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ panel.add( btDelete );
+ panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ panel.add( edName );
+ panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
+ panel.add( edContents );
+ this.pnlMethods.add( panel );
+ this.pnlMethods.add( Box.createVerticalGlue() );
+
+ edName.addActionListener( new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if ( !Inspector.this.beingBuilt ) {
+ //Inspector.this.visualEngine.execute( getObj().getPath() + "." + edName.getText() + " = " );
}
+ }
+ } );
- @Override
- public void mouseExited(MouseEvent mouseEvent) {
+ edContents.addActionListener( new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if ( !Inspector.this.beingBuilt ) {
+ visualEngine.execute( getObj().getPath() + "." + edName.getText() + " = " + edContents.getText() );
+ }
+ }
+ } );
+ btExecute.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent actionEvent) {
+ if ( !Inspector.this.beingBuilt ) {
+ Inspector.this.launchMethodExecution( mth.getName() );
}
- });
+ }
+ });
- cbContents.addActionListener( new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent evt) {
- visualEngine.execute( obj.getPath() + "." + lblName.getText() + " = " + (String) cbContents.getModel().getSelectedItem() );
+ btDelete.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent actionEvent) {
+ if ( !Inspector.this.beingBuilt ) {
+ visualEngine.execute( obj.getPath() + " erase \"" + mth.getName() + "\"" );
+ pnlAttributes.remove( panel );
+ Inspector.this.pack();
}
- } );
- }
+ }
+ });
+ }
+
+ private void buildMethodsManagementPanel() {
+ this.pnlMethods = new JPanel();
+ JScrollPane scroll = new JScrollPane( this.pnlMethods );
+ this.pnlMethods.setLayout( new BoxLayout( this.pnlMethods, BoxLayout.PAGE_AXIS ) );
+ this.pnlAction.add( scroll );
+ this.pnlAction.add( Box.createVerticalGlue() );
- // Add controls for each local method, as well as inherited ones
+ HashSet mthIds = new HashSet<>( this.getObj().getNumberOfMethods() );
ObjectBag obj = this.getObj();
do {
for (Method mth : obj.getLocalMethods()) {
- JPanel panel = new JPanel();
- panel.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
- panel.setLayout( new BoxLayout( panel, BoxLayout.LINE_AXIS ) );
- JLabel lblName = new JLabel( mth.getName() + "()" );
- JTextField edContents = new JTextField( mth.getMethodBodyAsString() );
- edContents.setHorizontalAlignment( JTextField.RIGHT );
- panel.add( lblName );
- panel.add( Box.createRigidArea( new Dimension( 10, 0 ) ) );
- panel.add( edContents );
- this.pnlAction.add( panel );
- this.pnlAction.add( Box.createVerticalGlue() );
- lblName.addMouseListener( new MouseListener() {
- @Override
- public void mouseClicked(MouseEvent mouseEvent) {
-
- }
-
- @Override
- public void mousePressed(MouseEvent mouseEvent) {
-
- }
-
- @Override
- public void mouseReleased(MouseEvent mouseEvent) {
- Inspector.this.launchMethodExecution( lblName.getText() );
- }
-
- @Override
- public void mouseEntered(MouseEvent mouseEvent) {
-
- }
-
- @Override
- public void mouseExited(MouseEvent mouseEvent) {
-
- }
- } );
-
- edContents.addMouseListener( new MouseListener() {
- @Override
- public void mouseClicked(MouseEvent e) {
-
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
-
- }
+ String mthName = mth.getName();
- @Override
- public void mouseReleased(MouseEvent e) {
- Inspector.this.changeMethod( lblName.getText(), edContents.getText() );
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
-
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
+ if ( mthIds.contains( mthName ) ) {
+ continue;
+ } else {
+ mthIds.add( mthName );
+ }
- }
- } );
+ this.addMethodPanel( mth );
}
obj = obj.getParentObject();
@@ -290,39 +366,63 @@ public void mouseExited(MouseEvent e) {
&& obj != null );
}
+ private void buildActionArea() {
+ // Create a box layout in the center
+ this.pnlAction = new JPanel();
+ JScrollPane scroll = new JScrollPane( this.pnlAction );
+ this.pnlAction.setLayout( new BoxLayout( this.pnlAction, BoxLayout.PAGE_AXIS ) );
+ this.add( scroll, BorderLayout.CENTER );
+
+ this.buildBasicAttrsPanel();
+ this.buildManagementButtonsPanel();
+ this.buildAttributesManagementPanel();
+ this.buildMethodsManagementPanel();
+ }
+
private void build() {
+ this.prepareAvailableObjectsNames();
+
+ // Build
this.setLayout( new BorderLayout( 5, 5 ) );
- this.setLocationByPlatform( true );
this.buildIcons();
this.buildCloseButton();
this.buildActionArea();
+ // Configure
this.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
- this.setMinimumSize( new Dimension( 300, 200 ) );
this.setModal( true );
this.pack();
- this.updateObjectName();
- this.setVisible( true );
- }
+ this.updateObjectBasicAttributes();
+ this.setMinimumSize( new Dimension( 300, 200 ) );
- private void updateObjectName() {
- this.setTitle( this.getObj().getPath() + " - Inspector" );
- this.edObjectName.setText( this.getObj().getName() );
+ // Resize and put it in its location
+ Point p = new Point( this.visualEngine.getLocation() );
+ p.x += ( this.visualEngine.getWidth() - this.getWidth() ) / 2;
+ p.y += ( this.visualEngine.getHeight() - this.getHeight() ) / 2;
+ this.setLocation( p );
}
- private void launchFieldInspection(String id) {
- visualEngine.execute( this.obj.getPath() + "." + id );
- }
+ private void updateObjectBasicAttributes() {
+ ObjectBag obj = this.getObj();
+ ObjectBag objParent = this.getObj().getParentObject();
+
+ if ( obj != null ) {
+ this.setTitle( this.getObj().getPath() + " - Inspector" );
+ this.edObjectName.setText( this.getObj().getName() );
+ } else {
+ this.setTitle( "Inspector" );
+ }
- private void addAttribute() {
- addAttribute( this, this.visualEngine, this.getObj() );
- this.setVisible( false );
+ if ( objParent != null
+ && !( obj instanceof ObjectParent ) )
+ {
+ this.cbParent.setSelectedItem( objParent.getName() );
+ }
}
private void launchMethodExecution(String methodName)
{
String arguments = "";
- methodName = methodName.substring( 0, methodName.length() - 2 );
Method mth = this.getObj().lookUpMethod( methodName );
if ( mth.getNumParams() > 0 ) {
@@ -345,35 +445,8 @@ private void launchMethodExecution(String methodName)
}
}
- private void addMethod() {
- addMethod( this, this.visualEngine, this.getObj() );
- }
-
- private void changeMethod(String methodName, String body) {
- changeMethod( this, this.visualEngine, this.getObj(), methodName, body );
- this.setVisible( false );
- }
-
- private void renameObject() {
- String newName = (String) JOptionPane.showInputDialog(
- this,
- "New object's name:",
- AppInfo.Name,
- JOptionPane.PLAIN_MESSAGE,
- null,
- null,
- "x" );
-
- if ( newName != null ) {
- newName = newName.trim();
- if ( newName.length() > 0 ) {
- visualEngine.execute( obj.getPath() + " rename \"" + newName + '\"' );
- this.setVisible( false );
- }
- }
- }
-
- private void copyObject() {
+ private void copyObject()
+ {
String newName = (String) JOptionPane.showInputDialog(
this,
"New object's name:",
@@ -381,7 +454,7 @@ private void copyObject() {
JOptionPane.PLAIN_MESSAGE,
null,
null,
- "x" );
+ "obj" + ( visualEngine.getInterpreter().getRuntime().getRoot().getNumberOfAttributes() + 1 ) );
if ( newName != null ) {
newName = newName.trim();
@@ -423,7 +496,7 @@ public static void addMethod(Window frame, VisualEngine visualEngine, ObjectBag
JOptionPane.PLAIN_MESSAGE,
null,
null,
- "x" );
+ "f" );
if ( mthName != null ) {
mthName = mthName.trim();
@@ -457,15 +530,32 @@ public static void changeMethod(Window frame, VisualEngine visualEngine, ObjectB
return;
}
+ public String[] prepareAvailableObjectsNames() {
+ final Attribute[] attrs = this.rt.getRoot().getAttributes();
+ this.availableObjectsNames = new String[ attrs.length ];
+ for(int i = 0; i < attrs.length; ++i) {
+ this.availableObjectsNames[ i ] = attrs[ i ].getName();
+ }
+
+ return this.availableObjectsNames;
+ }
+
private ObjectBag obj;
private Runtime rt;
private ObjectBag objRoot;
+ private String[] availableObjectsNames;
+ private Boolean beingBuilt;
private JButton btClose;
private JTextField edObjectName;
+ private JComboBox cbParent;
private JPanel pnlAction;
+ private JPanel pnlAttributes;
+ private JPanel pnlMethods;
private ImageIcon iconCopy;
private ImageIcon iconAddMethod;
private ImageIcon iconAddAttribute;
+ private ImageIcon iconDelete;
+ private ImageIcon iconExecute;
private VisualEngine visualEngine;
}
diff --git a/src/com/devbaltasarq/pooi/ui/VisualEngine.java b/src/com/devbaltasarq/pooi/ui/VisualEngine.java
index 9e56fce..c2779f4 100644
--- a/src/com/devbaltasarq/pooi/ui/VisualEngine.java
+++ b/src/com/devbaltasarq/pooi/ui/VisualEngine.java
@@ -9,6 +9,7 @@
import com.devbaltasarq.pooi.core.exceps.InterpretError;
import com.devbaltasarq.pooi.core.objs.ObjectRoot;
import com.devbaltasarq.pooi.core.objs.SysObject;
+import com.sun.deploy.config.Platform;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
@@ -19,6 +20,7 @@
import javax.swing.tree.TreePath;
import java.awt.*;
import java.awt.event.*;
+import java.io.File;
import java.net.URL;
import java.util.HashMap;
import java.util.HashSet;
@@ -43,6 +45,7 @@ public class VisualEngine extends JFrame {
/** Creates new form VisualEngine */
public VisualEngine()
{
+ this.currentDir = new File( Platform.get().getUserHome() );
this.build();
this.input.requestFocusInWindow();
}
@@ -599,10 +602,13 @@ private void onLoadSession()
"Transcript text files", "txt"
);
fileSelector.setFileFilter( filter );
+ fileSelector.setCurrentDirectory( this.currentDir );
// Show
if ( fileSelector.showOpenDialog(this) == JFileChooser.APPROVE_OPTION )
{
+ this.currentDir = fileSelector.getCurrentDirectory();
+
// Load
output.append( "\n" +
interpreter.loadSession( fileSelector.getSelectedFile().getAbsolutePath() )
@@ -627,10 +633,12 @@ private void onSaveTranscript()
new FileNameExtensionFilter(
"Transcript text files", "txt"
);
- fileSelector.setFileFilter( filter );
+ fileSelector.setFileFilter( filter );
+ fileSelector.setCurrentDirectory( this.currentDir );
// Show
if ( fileSelector.showSaveDialog( this ) == JFileChooser.APPROVE_OPTION ) {
+ this.currentDir = fileSelector.getCurrentDirectory();
interpreter.activateTranscript(
fileSelector.getSelectedFile().getAbsolutePath()
);
@@ -811,7 +819,7 @@ private void onNewObject(String objPath) {
JOptionPane.PLAIN_MESSAGE,
this.iconNew,
null,
- "obj" );
+ "obj" + ( this.getInterpreter().getRuntime().getRoot().getNumberOfAttributes() + 1 ) );
if ( s != null ) {
this.createNewObject( objPath, s );
@@ -1043,6 +1051,10 @@ public void makeOutput(String msg)
{
this.output.append( msg );
}
+
+ public Interpreter getInterpreter() {
+ return this.interpreter;
+ }
private JDialog dlgFont;
private JComboBox input;
@@ -1067,4 +1079,5 @@ public void makeOutput(String msg)
private Interpreter interpreter = null;
private static boolean rebuildingTree = false;
+ private File currentDir;
}