Changeset 131:aaa7df04ed1c
- Timestamp:
- 07/31/2008 10:05:39 PM
(5 months ago)
- Author:
- marc@f1.local
- branch:
- default
- Message:
Scala and Processing are no longer enabled by default. Added new 'shim' for variables that are bridged from Python to the ScalaInterface?
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r126 |
r131 |
|
| 77 | 77 | try { |
|---|
| 78 | 78 | scalaInterface.eval("trait Shim[T]\n" + "{\n" + " def get: T\n" + " def set(t : T)\n" + "}\n" + "\n" + "implicit def deShim[T](g : Shim[T]) : T = \n" + " g.get\n", false); |
|---|
| | 79 | scalaInterface.eval("class PythonShim[T](name : String) extends Shim[T]\n" + "{\n" + " import field.core.execution.PythonInterface\n" + " def get : T = \n" + " PythonInterface.getPythonInterface().getVariable(name).asInstanceOf[T]\n" + " def set(t : T) = \n" + " PythonInterface.getPythonInterface().setVariable(name, t)\n" + "}", false); |
|---|
| 79 | 80 | } finally { |
|---|
| 80 | 81 | scalaInterface.insideShared = false; |
|---|
| … | … | |
| 282 | 283 | |
|---|
| 283 | 284 | // temp workaround for bug #70 |
|---|
| 284 | | if (parameters.length > 0) |
|---|
| 285 | | typeName = "AnyRef"; |
|---|
| 286 | | |
|---|
| 287 | | interp.bind(name, typeName == null ? defaultTypeName : typeName, value); |
|---|
| | 285 | // if (parameters.length > 0) |
|---|
| | 286 | // typeName = "AnyRef"; |
|---|
| | 287 | |
|---|
| | 288 | |
|---|
| | 289 | typeName = typeName == null ? defaultTypeName : typeName; |
|---|
| | 290 | |
|---|
| | 291 | if (parameters.length>0) |
|---|
| | 292 | { |
|---|
| | 293 | String l = "["; |
|---|
| | 294 | for(int i=0;i<parameters.length;i++) |
|---|
| | 295 | { |
|---|
| | 296 | l = l+(i==0 ? "" : ",")+"_"; |
|---|
| | 297 | } |
|---|
| | 298 | typeName = typeName+l+"]"; |
|---|
| | 299 | } |
|---|
| | 300 | |
|---|
| | 301 | |
|---|
| | 302 | |
|---|
| | 303 | interp.bind(name, typeName, value); |
|---|
| 288 | 304 | for (ScriptingInterface s : shared) |
|---|
| 289 | 305 | s.setVariable(name, value); |
|---|
| … | … | |
| 294 | 310 | // we need to build a Shim ÑÊwhat should this |
|---|
| 295 | 311 | // shim be called ? |
|---|
| | 312 | |
|---|
| | 313 | eval("var "+name+"_ = new PythonShim["+typeName+"](\""+name+"\")", false); |
|---|
| 296 | 314 | |
|---|
| 297 | 315 | } |
|---|