beremiz

770c613c424f
SVGHMI: remove intermediate "updates" Map and apply_updates()

It was used initially to decouple DOM updates from reception of data through
websocket, but now since all widget SHOULD use animate() to modify DOM, and
dispatch() only change internal state, apply_update is unnecessary.
<?xml version='1.0' encoding='utf-8'?>
<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml">
<variables>
<variable name="Test_Python_Var" type="INT" initial="4"/>
<variable name="Second_Python_Var" type="INT" initial="5"/>
</variables>
<globals>
<xhtml:p><![CDATA[
import time,sys,ctypes
Python_to_C_Call = PLCBinary.Python_to_C_Call
Python_to_C_Call.restype = ctypes.c_int
Python_to_C_Call.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_int)]
def MyPythonFunc(arg):
i = ctypes.c_int()
if(Python_to_C_Call(arg, i)):
res = i.value
print "toC:", arg, "from C:", res, "FBID:", FBID
else:
print "Failed Python_to_C_Call failed"
res = None
print "Python read PLC global :",PLCGlobals.Test_Python_Var
print "Python read PLC global Grumpf :",PLCGlobals.Grumpf
PLCGlobals.Second_Python_Var = 789
sys.stdout.flush()
return res
async_error_test_code = """
def badaboom():
tuple()[0]
import wx
def badaboomwx():
wx.CallAfter(badaboom)
from threading import Timer
a = Timer(3, badaboom)
a.start()
b = Timer(6, badaboomwx)
b.start()
"""
]]></xhtml:p>
</globals>
<init>
<xhtml:p><![CDATA[
global x, y
x = 2
y = 5
print "py_runtime init:", x, ",", y
]]></xhtml:p>
</init>
<cleanup>
<xhtml:p><![CDATA[
print "py_runtime cleanup"
]]></xhtml:p>
</cleanup>
<start>
<xhtml:p><![CDATA[
global x, y
print "py_runtime start", x * x + y * y
]]></xhtml:p>
</start>
<stop>
<xhtml:p><![CDATA[
print "py_runtime stop"
]]></xhtml:p>
</stop>
</PyFile>