BeremizIDE.py
branchwxPython4
changeset 3712 cea2005bf2c9
parent 3588 412090a6b3a7
child 3750 f62625418bff
equal deleted inserted replaced
3711:f68449d64d1c 3712:cea2005bf2c9
    28 from __future__ import print_function
    28 from __future__ import print_function
    29 import os
    29 import os
    30 import sys
    30 import sys
    31 import shutil
    31 import shutil
    32 import time
    32 import time
       
    33 import signal
    33 from time import time as gettime
    34 from time import time as gettime
    34 from threading import Lock, Timer, currentThread
    35 from threading import Lock, Timer, currentThread
    35 
    36 
    36 from six.moves import cPickle, xrange
    37 from six.moves import cPickle, xrange
    37 import wx.lib.buttons
    38 import wx.lib.buttons
   506 
   507 
   507         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
   508         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
   508         self.RefreshAll()
   509         self.RefreshAll()
   509         self.LogConsole.SetFocus()
   510         self.LogConsole.SetFocus()
   510 
   511 
       
   512         signal.signal(signal.SIGTERM,self.signalTERM_handler)
       
   513 
   511     def RefreshTitle(self):
   514     def RefreshTitle(self):
   512         name = _("Beremiz")
   515         name = _("Beremiz")
   513         if self.CTR is not None:
   516         if self.CTR is not None:
   514             projectname = self.CTR.GetProjectName()
   517             projectname = self.CTR.GetProjectName()
   515             if self.CTR.ProjectTestModified():
   518             if self.CTR.ProjectTestModified():
   641             super(Beremiz, self).OnCloseFrame(event)
   644             super(Beremiz, self).OnCloseFrame(event)
   642             event.Skip()
   645             event.Skip()
   643         else:
   646         else:
   644             # prevent event to continue, i.e. cancel closing
   647             # prevent event to continue, i.e. cancel closing
   645             event.Veto()
   648             event.Veto()
       
   649 
       
   650     def signalTERM_handler(self, sig, frame):
       
   651         print ("Signal TERM caught: kill local runtime and quit, no save")
       
   652         self.KillLocalRuntime()
       
   653         sys.exit()
   646 
   654 
   647     def RefreshFileMenu(self):
   655     def RefreshFileMenu(self):
   648         self.RefreshRecentProjectsMenu()
   656         self.RefreshRecentProjectsMenu()
   649 
   657 
   650         MenuToolBar = self.Panes["MenuToolBar"]
   658         MenuToolBar = self.Panes["MenuToolBar"]