tests/svghmi/py_ext_0@py_ext/pyfile.xml
author Edouard Tisserant
Fri, 21 Aug 2020 14:29:03 +0200
branchsvghmi
changeset 3034 793ce2117258
parent 3031 440d74319a74
child 3036 4930455428df
permissions -rw-r--r--
SVGHMI: JsonTable now makes meaningfull JSON request : all arguments and variables are passed in.
<?xml version='1.0' encoding='utf-8'?>
<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <variables>
    <variable name="SomePLCglobal" type="HMI_STRING" onchange="MyOnChangeFunc"/>
    <variable name="AlarmNotify" type="HMI_INT"/>
  </variables>
  <globals>
    <xhtml:p><![CDATA[
from twisted.web.resource import Resource
import json

class AlarmJsonResource(Resource):
    def render_GET(self, request):
        return ''

    def render_POST(self, request):
        newdata = request.content.getvalue()
        print newdata
        print json.loads(newdata)
        selected_alarms = [
            {"name":"three", "sides":3, "textstyle":"alarm"},
            {"name":"four", "sides":4, "textstyle":"ack"},
            {"name":"five", "sides":5, "textstyle":"active"},
            {"name":"six", "sides":6, "textstyle":"disabled"},
        ]
        return json.dumps(selected_alarms)


def MyOnChangeFunc(changed_var_name):
    print changed_var_name + ": " + getattr(PLCGlobals, changed_var_name)

]]></xhtml:p>
  </globals>
  <init>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </init>
  <cleanup>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </cleanup>
  <start>
    <xhtml:p><![CDATA[

svghmi_root.putChild("alarms", AlarmJsonResource())


]]></xhtml:p>
  </start>
  <stop>
    <xhtml:p><![CDATA[
]]></xhtml:p>
  </stop>
</PyFile>