tests/python/python@py_ext/pyfile.xml
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 23 Dec 2016 18:40:31 +0300
changeset 1613 41ca586da9dc
parent 1401 611fded24ce4
child 2680 6bfed6757495
permissions -rw-r--r--
fix strange behavior on Backspace press in ST

Before:
if text was selected and cursor was at indention, one indention (two
spaces) was removed.

if cursor was at start position of the line, then nothing happened.

if cursor was in the middle of indention then on backspace more
indention were added


Now:
if text is selected, it will be removed.
if cursor is at start position, then new line will be removed.
if cursor was in the middle of indention one indention is removed.
<?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
    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>