]> gerrit.simantics Code Review - simantics/python.git/blob - org.simantics.pythonlink/test/org/simantics/pythonlink/test/scripts/Variable.sts
Added support for dynamically typed data access and a Variable interface.
[simantics/python.git] / org.simantics.pythonlink / test / org / simantics / pythonlink / test / scripts / Variable.sts
1 > import "PythonVariable"\r
2 > import "Simantics/DB"\r
3 > import "String"\r
4\r
5 > py = openPythonContext\r
6 > runWithPythonContext py do\r
7 >     setPythonIntegerVariable "foo" 4\r
8 >     setPythonDoubleArrayVariable "bar" (vector [1.0, 2.0, 3.0])\r
9\r
10 > var = getPythonContextVariable py\r
11 > sort $ map nameOf $ properties var\r
12 ["__builtins__", "__doc__", "__loader__", "__name__", "__package__", "__spec__", "bar", "foo"]\r
13 > foo = property var "foo"\r
14 > bar = property var "bar" \r
15 > datatype foo\r
16 Long\r
17 > datatype bar\r
18 Variant[]\r
19 > value bar :: Variant\r
20 [1.0 : Double, 2.0 : Double, 3.0 : Double] : Variant[]\r
21 > value bar :: [Double]\r
22 [1.0, 2.0, 3.0]\r
23 > possibleChild var "foo"\r
24 Nothing\r
25 > possibleProperty var "dummy"\r
26 Nothing \r
27 > runWithPythonContext py do\r
28 >     executePythonStatement "baz = (1.0, 'string_value', [2.0, 3.0])"\r
29 > sort $ map nameOf $ properties var\r
30 ["__builtins__", "__doc__", "__loader__", "__name__", "__package__", "__spec__", "bar", "baz", "foo"]\r
31 > v = propertyValue var "baz" :: Variant\r
32 > v\r
33 [1.0 : Double, "string_value" : String, [2.0 : Double, 3.0 : Double] : Variant[]] : Variant[]\r
34 > variantElement v 1 :: String\r
35 "string_value"\r