def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.retranslateUi(self) #event signals self.ui.insertBreaksGo.clicked.connect(self.mInsertBreaksGo) self.ui.insertBreaksAdvGo.clicked.connect(self.mInsertBreaksAdvGo) self.ui.insertTextGo.clicked.connect(self.mInsertTextGo) self.ui.insertKeystrokeGo.clicked.connect(self.mInsertKeystrokeGo) self.ui.insertMouseGo.clicked.connect(self.mInsertMouseGo)
class MainWindow(QtWidgets.QMainWindow): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.retranslateUi(self) #event signals self.ui.insertBreaksGo.clicked.connect(self.mInsertBreaksGo) self.ui.insertBreaksAdvGo.clicked.connect(self.mInsertBreaksAdvGo) self.ui.insertTextGo.clicked.connect(self.mInsertTextGo) self.ui.insertKeystrokeGo.clicked.connect(self.mInsertKeystrokeGo) self.ui.insertMouseGo.clicked.connect(self.mInsertMouseGo) def mInsertBreaksGo(self): #send the event type that is highlighted, and the value in the QDoubleSpinBox wrk.insert(self.ui.workspaceTree.currentItem().type(), str.format("Break {0:.2f}s", self.ui.insertBreaksTime.value()), "noAdvFunction") def mInsertBreaksAdvGo(self): #insert a break after every step if self.ui.insertBreaksAdvRadio01.isChecked(): tempfunction = "afterEveryStep" #insert a break after every mouse click elif self.ui.insertBreaksAdvRadio02.isChecked(): tempfunction = "afterMouseClicks" #insert a break after every keystroke or text grouping elif self.ui.insertBreaksAdvRadio03.isChecked(): tempfunction = "afterKeystrokes" wrk.insert(self.ui.workspaceTree.currentItem().type(), self.ui.insertBreaksTime.value(), tempfunction) def mInsertTextGo(self): #insert a string of text into a single event slot wrk.insert(self.ui.workspaceTree.currentItem().type(), self.ui.insertTextField.value(), "textInsert") def mInsertKeystrokeGo(self): pass def mInsertMouseGo(self): pass ##################################################################################################### ##################################################################################################### def setChildIndicatorPolicy(self, reference): reference.setChildIndicatorPolicy(QtWidgets.QTreeWidgetItem.DontShowIndicatorWhenChildless) def searchTopLevelItems(self): for i in range(0, self.ui.workspaceTree.topLevelItemCount()): handle = self.ui.workspaceTree.topLevelItem(i).type() ref = self.ui.workspaceTree.topLevelItem(i) wrk.setObjectReference(handle, i, ref) def searchChildItems(self, parentobjectreference): children = parentobjectreference.children() for ref in children: handle = ref.type() index = ref.indexOfChild() wrk.setObjectReference(handle, index, ref) #the presence of a parenthandle determines if the is parent or child def addUiItem(self, handle, parentobjectreference, index, name): #add a top level if handle % MACROHANDLEBASE == 0: parent = self.ui.workspaceTree.insertTopLevelItem(index, QtWidgets.QTreeWidgetItem([name], handle)) self.searchTopLevelItems() #add a child else: parentobjectreference.insertChild(index, parent([name], handle)) self.searchChildItems(parentobjectreference) def removeUiItem(self, index, parentobjectreference): if parentobjectreference is None: self.ui.workspaceTree.takeTopLevelItem(index) else: parentobjectreference.takeChild(index) def getCurrentIndex(self): return(self.ui.workspaceTree.currentItem())