svgui/pyjs/lib/sys.py
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Tue, 13 Sep 2016 21:42:11 +0300
changeset 1533 aca8f43483e9
parent 728 e0424e96e3fd
child 1730 64d8f52bc8c8
permissions -rw-r--r--
fix issues in PLCOpenEditor with moving from wxWidgets 2.8 to 3.0

1)
./PLCOpenEditor.py:63: wxPyDeprecationWarning: Using deprecated class PySimpleApp.
app = wx.PySimpleApp()

2)
./PLCOpenEditor.py:475: wxPyDeprecationWarning: Call to deprecated item.
wx.InitAllImageHandlers()

3)
Traceback (most recent call last):
File "./PLCOpenEditor.py", line 480, in <module>
frame = PLCOpenEditor(None, fileOpen=fileOpen)
File "./PLCOpenEditor.py", line 163, in __init__
IDEFrame.__init__(self, parent)
File "/tmp/f/beremiz/IDEFrame.py", line 657, in __init__
self._init_ctrls(parent)
File "/tmp/f/beremiz/IDEFrame.py", line 485, in _init_ctrls
self._init_icon(prnt)
File "/tmp/f/beremiz/IDEFrame.py", line 476, in _init_icon
if self.icon:
AttributeError: 'PLCOpenEditor' object has no attribute 'icon'
# the platform name (PyV8, smjs, Mozilla, IE6, Opera, Safari etc.)
platform = '' # to be updated by app, on compile

# a dictionary of module override names (platform-specific)
overrides = None # to be updated by app, on compile

# the remote path for loading modules
loadpath = None 

stacktrace = None 

appname = None 

def setloadpath(lp):
    global loadpath
    loadpath = lp

def setappname(an):
    global appname
    appname = an

def getloadpath():
    global loadpath
    return loadpath

def addoverride(module_name, path):
    global overrides
    overrides[module_name] = path

def addstack(linedebug):
    JS("""
        if (pyjslib.bool((sys.stacktrace === null))) {
            sys.stacktrace = new pyjslib.List([]);
        }
        sys.stacktrace.append(linedebug);
    """)
def popstack():
    JS("""
        sys.stacktrace.pop()
    """)

def printstack():
    JS("""
        var res = '';

        var __l = sys.stacktrace.__iter__();
        try {
            while (true) {
                var l = __l.next();
                res +=  ( l + '\\n' ) ;
            }
        } catch (e) {
            if (e != pyjslib.StopIteration) {
                throw e;
            }
        }

        return res;
    """)