Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
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())