From bbff21f6bc279d8bfe44d92b17b294ed6497a446 Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Wed, 5 Apr 2023 17:00:17 +0100 Subject: [PATCH] added import signal/slots --- ttkDesigner/app/designer.py | 5 +++-- ttkDesigner/app/signalsloteditor.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ttkDesigner/app/designer.py b/ttkDesigner/app/designer.py index 3fd15fca..448073f1 100644 --- a/ttkDesigner/app/designer.py +++ b/ttkDesigner/app/designer.py @@ -192,12 +192,13 @@ class TTkDesigner(TTkGridLayout): dd = json.load(fp) sw = SuperWidget.loadDict(self._windowEditor.viewport(), dd['tui']) self._windowEditor.importSuperWidget(sw) + self._sigslotEditor.importConnections(dd['connections']) @pyTTkSlot() def open(self): # self._openFile('tmp/pippo.008.json') # return - filePicker = TTkFileDialogPicker(pos = (3,3), size=(75,24), caption="Open", path="tmp.save", fileMode=TTkK.FileMode.AnyFile ,filter="Json Files (*.json);;All Files (*)") + filePicker = TTkFileDialogPicker(pos = (3,3), size=(75,24), caption="Open", path="experiments", fileMode=TTkK.FileMode.AnyFile ,filter="Json Files (*.json);;All Files (*)") filePicker.pathPicked.connect(self._openFile) TTkHelper.overlay(None, filePicker, 5, 5, True) @@ -234,6 +235,6 @@ class TTkDesigner(TTkGridLayout): TTkHelper.overlay(None, messageBox, 5, 5, True) else: self._saveToFile(fileName) - filePicker = TTkFileDialogPicker(pos = (3,3), size=(75,24), caption="Save As...", path="tmp.save", fileMode=TTkK.FileMode.AnyFile ,filter="All Files (*);;Python Files (*.json)") + filePicker = TTkFileDialogPicker(pos = (3,3), size=(75,24), caption="Save As...", path="experiments", fileMode=TTkK.FileMode.AnyFile ,filter="All Files (*);;Python Files (*.json)") filePicker.pathPicked.connect(_approveFile) TTkHelper.overlay(None, filePicker, 5, 5, True) diff --git a/ttkDesigner/app/signalsloteditor.py b/ttkDesigner/app/signalsloteditor.py index 55e4b6c5..3d48a9f9 100644 --- a/ttkDesigner/app/signalsloteditor.py +++ b/ttkDesigner/app/signalsloteditor.py @@ -61,6 +61,12 @@ class _SignalSlotItem(ttk.TTkTreeWidgetItem): break return ret + def importConnection(self, connection): + self._sender.setCurrentText(connection['sender']) + self._receiver.setCurrentText(connection['receiver']) + self._signal.setCurrentText(connection['signal']) + self._slot.setCurrentText(connection['slot']) + def dumpDict(self): curSender = str(self._sender.currentText()) curReceiver = str(self._receiver.currentText()) @@ -210,6 +216,13 @@ class SignalSlotEditor(ttk.TTkWidget): if (index := self._detail.indexOfTopLevelItem(item)) is not None: self._detail.takeTopLevelItem(index) + def importConnections(self, connections): + for c in connections: + item = _SignalSlotItem(self._windowEditor) + item.importConnection(c) + self._items.append(item) + self._detail.addTopLevelItem(item) + def dumpDict(self): ret = [] for i in self._items: