Browse Source

added import signal/slots

pull/99/head
Eugenio Parodi 3 years ago
parent
commit
bbff21f6bc
  1. 5
      ttkDesigner/app/designer.py
  2. 13
      ttkDesigner/app/signalsloteditor.py

5
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)

13
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:

Loading…
Cancel
Save