Browse Source

Adapted the test playback to the new loop

pull/54/head
Eugenio Parodi 4 years ago
parent
commit
e34afb4b37
  1. 9
      TermTk/TTkCore/ttk.py
  2. 18
      tests/pytest/test_001_demo.py

9
TermTk/TTkCore/ttk.py

@ -115,14 +115,17 @@ class TTk(TTkWidget):
# Keep track of the multiTap to avoid the extra key release
self._lastMultiTap = False
TTkTerm.init(title=self._title, sigmask=self._sigmask)
if platform.system() == 'Emscripten':
return
self._input.start()
self._mainLoop()
finally:
if platform.system() != 'Emscripten':
self.quit()
TTkTerm.exit()
def _mainLoop(self):
if platform.system() == 'Emscripten':
return
self._input.start()
@pyTTkSlot(TTkKeyEvent, TTkMouseEvent)
def _processInput(self, kevt, mevt):
self._drawMutex.acquire()

18
tests/pytest/test_001_demo.py

@ -25,6 +25,7 @@ import sys, os
import argparse
import queue
import pickle
import threading
sys.path.append(os.path.join(sys.path[0],'../../demo'))
sys.path.append(os.path.join(sys.path[0],'../..'))
@ -63,6 +64,23 @@ class TTkRecord(demo.ttk.TTk):
self._mouse_events = TTkRecord._RecordQueue()
self._screen_events = TTkRecord._RecordQueue()
MOUSE_EVENT = 0x01
KEY_EVENT = 0x02
SCREEN_EVENT = 0x04
QUIT_EVENT = 0x08
TIME_EVENT = 0x10
def _mainLoop(self):
while (evt := self._events.get()) != self.QUIT_EVENT:
mevt,kevt = None, None
if evt == self.MOUSE_EVENT:
mevt = self._mouse_events.get()
if evt == self.KEY_EVENT:
kevt = self._key_events.get()
if evt == self.TIME_EVENT:
self._time_event()
self._processInput(kevt, mevt)
def saveQueue(self, fd):
data = {'events': self._events.getData(),
'key': self._key_events.getData(),

Loading…
Cancel
Save