SVGHMI: added a watchdog. To ensure that the whole chain is checked, watchdog use a periodic echo of a hearteat variable. JS client code systematically register /HEARTBEAT at 1s update freq, and reacts on updates of /HEARTBEAT by systematically incrementing it. C code catch /HEARTBEAT update and feeds python-implemented watchdog. For now, watchdog does nothing when tiggered
from __future__ import absolute_import
import wx
from controls.IDBrowser import IDBrowser
class IDManager(wx.Dialog):
def __init__(self, parent, ctr):
self.ctr = ctr
wx.Dialog.__init__(self,
name='IDManager', parent=parent,
title=_('URI Editor'),
style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
size=(800, 600))
# start IDBrowser in manager mode
self.browser = IDBrowser(self, ctr)
self.Bind(wx.EVT_CHAR_HOOK, self.OnEscapeKey)
def OnEscapeKey(self, event):
keycode = event.GetKeyCode()
if keycode == wx.WXK_ESCAPE:
self.EndModal(wx.ID_CANCEL)
else:
event.Skip()