From f9b322cefc8e50d2d4ea094647972e1f8cce678d Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Tue, 26 Nov 2024 10:34:53 +0000 Subject: [PATCH] Fix qut routine --- .gitignore | 1 + .vscode/launch.json | 4 ++-- TermTk/TTkCore/timer_unix.py | 2 ++ TermTk/TTkCore/ttk.py | 1 + TermTk/TTkWidgets/TTkModelView/tablemodellist.py | 10 +++++----- TermTk/TTkWidgets/TTkModelView/treewidget.py | 4 ++-- TermTk/TTkWidgets/TTkTerminal/terminalhelper.py | 1 + TermTk/TTkWidgets/combobox.py | 4 ++-- TermTk/TTkWidgets/image.py | 4 ++-- 9 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 7a81ae2f..1df012e7 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ sandbox !tests/sandbox node_modules Varie +stacktrace.txt # VizTracker default file result.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 381c5fb5..d8bf6b8c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -16,10 +16,10 @@ "name": "Python: Test Player", "type": "debugpy", "request": "launch", - "program": "${file}", + "program": "tests/pytest/test_001_demo.py", "console": "integratedTerminal", "justMyCode": true, - "args": ["-p", "tmp/test.input.bin"] + "args": ["-p", "tmp/test.input.001.bin"] },{ "name": "Python: TTk Designer", "type": "debugpy", diff --git a/TermTk/TTkCore/timer_unix.py b/TermTk/TTkCore/timer_unix.py index 68162d40..77f22616 100644 --- a/TermTk/TTkCore/timer_unix.py +++ b/TermTk/TTkCore/timer_unix.py @@ -41,6 +41,8 @@ class TTkTimer(threading.Thread): TTkHelper.quitEvent.connect(self.quit) def quit(self): + TTkHelper.quitEvent.disconnect(self.quit) + self.timeout.clear() self._quit.set() self._timer.set() self._start.set() diff --git a/TermTk/TTkCore/ttk.py b/TermTk/TTkCore/ttk.py index 97f71ab8..c7eec9c3 100644 --- a/TermTk/TTkCore/ttk.py +++ b/TermTk/TTkCore/ttk.py @@ -185,6 +185,7 @@ class TTk(TTkContainer): self._mainLoop() finally: if platform.system() != 'Emscripten': + TTkHelper.quitEvent.emit() if self._timer: self._timer.timeout.disconnect(self._time_event) self._paintEvent.set() diff --git a/TermTk/TTkWidgets/TTkModelView/tablemodellist.py b/TermTk/TTkWidgets/TTkModelView/tablemodellist.py index 4f1be458..77648437 100644 --- a/TermTk/TTkWidgets/TTkModelView/tablemodellist.py +++ b/TermTk/TTkWidgets/TTkModelView/tablemodellist.py @@ -55,9 +55,9 @@ class TTkTableModelList(TTkAbstractTableModel): __slots__ = ('_data','_dataOriginal', '_hheader', '_vheader') def __init__(self, *, - data:list[list[object]]=[], - header:list[str]=[], - indexes:list[str]=[]) -> None: + data:list[list[object]]=None, + header:list[str]=None, + indexes:list[str]=None) -> None: ''' :param data: the 2D List model for the view to present. :type data: list[list] @@ -69,8 +69,8 @@ class TTkTableModelList(TTkAbstractTableModel): :type indexes: list[str], optional ''' self._data = self._dataOriginal = data if data else [['']] - self._hheader = header - self._vheader = indexes + self._hheader = header if header else [] + self._vheader = indexes if indexes else [] super().__init__() def modelList(self) -> list[list]: diff --git a/TermTk/TTkWidgets/TTkModelView/treewidget.py b/TermTk/TTkWidgets/TTkModelView/treewidget.py index e75e1a0e..cb5a39f4 100644 --- a/TermTk/TTkWidgets/TTkModelView/treewidget.py +++ b/TermTk/TTkWidgets/TTkModelView/treewidget.py @@ -161,7 +161,7 @@ class TTkTreeWidget(TTkAbstractScrollView): firstLine: bool def __init__(self, *, - header=[], + header=None, sortingEnabled=True, **kwargs) -> None: ''' @@ -181,7 +181,7 @@ class TTkTreeWidget(TTkAbstractScrollView): self._selected = None self._selectedId = None self._separatorSelected = None - self._header = header + self._header = header if header else [] self._columnsPos = [] self._cache = [] self._sortingEnabled=sortingEnabled diff --git a/TermTk/TTkWidgets/TTkTerminal/terminalhelper.py b/TermTk/TTkWidgets/TTkTerminal/terminalhelper.py index 6974a8d0..a32cab5e 100644 --- a/TermTk/TTkWidgets/TTkTerminal/terminalhelper.py +++ b/TermTk/TTkWidgets/TTkTerminal/terminalhelper.py @@ -176,6 +176,7 @@ class TTkTerminalHelper(): @pyTTkSlot() def _quit(self): + TTkHelper.quitEvent.disconnect(self._quit) if pid := self._pid: try: os.kill(pid,0) diff --git a/TermTk/TTkWidgets/combobox.py b/TermTk/TTkWidgets/combobox.py index 9e740165..2f1591c7 100644 --- a/TermTk/TTkWidgets/combobox.py +++ b/TermTk/TTkWidgets/combobox.py @@ -67,7 +67,7 @@ class TTkComboBox(TTkContainer): #signals 'currentIndexChanged', 'currentTextChanged', 'editTextChanged') def __init__(self, *, - list:list = [], + list:list = None, index:int = -1, insertPolicy:TTkK.InsertPolicy = TTkK.InsertAtBottom, textAlign:TTkK.Alignment = TTkK.CENTER_ALIGN, @@ -94,7 +94,7 @@ class TTkComboBox(TTkContainer): super().__init__(**kwargs) # self.checked = pyTTkSignal() self._lineEdit = TTkLineEdit(parent=self) - self._list = list + self._list = list if list else [] self._insertPolicy = insertPolicy self._lineEdit.returnPressed.connect(self._lineEditChanged) self._textAlign = textAlign diff --git a/TermTk/TTkWidgets/image.py b/TermTk/TTkWidgets/image.py index f165eec5..4a87a261 100644 --- a/TermTk/TTkWidgets/image.py +++ b/TermTk/TTkWidgets/image.py @@ -66,11 +66,11 @@ class TTkImage(TTkWidget): __slots__ = ('_data', '_rasterType', '_canvasImage') def __init__(self, *, - data=[], + data=None, rasteriser=HALFBLOCK, **kwargs) -> None: TTkWidget.__init__(self, **kwargs) - self._data = data + self._data = data if data else [] self._rasterType = rasteriser self._canvasImage = TTkCanvas() if self._data: