_child(neu)
                Node.aufgeklappt = True
                self.dedit_addcat.setText('')
                catchangeOccurred = True
            elif Katalog.is_empty():
                neu = TreeNode(1, dat)
                Katalog.add_child(neu)
                self.dedit_addcat.setText('')
                catchangeOccurred = True
            CategoryList = Katalog.get_list()
            self.catview_refresh()
            self.artview_refresh()
            self.dartliste.setEnabled(False)

    def catview_addSibling(self):
        global Katalog
        global CategoryList
        global catchangeOccurred
        dat = self.dedit_addcat.text()
        if dat!= '':
            if (self.dcatview.currentRow() >= 0):
                itemnumber = self.dcatview.currentRow()
                index = CategoryList[itemnumber][0]
                Node = Katalog.find_indexnode(index)

                idx = (Node.parent.index*100)+len(Node.parent.children)+1

                neu = TreeNode(idx, dat)
                Node.add_sibling(neu)
                self.dedit_addcat.setText('')
                catchangeOccurred = True
            elif Katalog.is_empty():
                neu = TreeNode(1, dat)
                Katalog.add_child(neu)
                self.dedit_addcat.setText('')
                catchangeOccurred = True

            CategoryList = Katalog.get_list()
            self.catview_refresh()
            self.artview_refresh()
            self.dartliste.setEnabled(False)

    def catview_moveUp(self):
        global Katalog
        global CategoryList
        global catchangeOccurred
        if self.dcatview.currentRow() >= 0:
            itemnumber = self.dcatview.currentRow()
            index = CategoryList[itemnumber][0]
            Node = Katalog.find_indexnode(index)
            Katalog.move_node(Node, 'UP')
            CategoryList = Katalog.get_list()
            self.catview_refresh()
            catchangeOccurred = True
            self.dcatview.setCurrentRow(itemnumber-1)

    def catview_moveDown(self):
        global Katalog
        global CategoryList
        global catchangeOccurred
        if self.dcatview.currentRow() >= 0:
            itemnumber = self.dcatview.currentRow()
            index = CategoryList[itemnumber][0]
            Node = Katalog.find_indexnode(index)
            Katalog.move_node(Node, 'DOWN')
            CategoryList = Katalog.get_list()
            self.catview_refresh()
            catchangeOccurred = True
            self.dcatview.setCurrentRow(itemnumber+1)

    def artview_refresh(self):
        global currentArtikelList
        self.dartliste.blockSignals(True)
        self.dartliste.setRowCount(0)
        if currentArtikelList!= []:
            for i in range(len(currentArtikelList)):
                self.dartliste.insertRow(i)
                self.dartliste.setItem(i, 0, QtWidgets.QTableWidgetItem(currentArtikelList[i][0]))
                self.dartliste.setItem(i, 1, QtWidgets.QTableWidgetItem(currentArtikelList[i][1]))
                self.dartliste.setItem(i, 2, QtWidgets.QTableWidgetItem(convert_f2s(currentArtikelList[i][2])))
        self.dartliste.insertRow(len(currentArtikelList))
        self.dartliste.blockSignals(False)

    def artview_show(self):
        global Katalog
        global CategoryList
        global currentListIndex
        global currentArtikelList
        if self.dcatview.currentRow() >= 0:
            currentListIndex = CategoryList[self.dcatview.currentRow()][0]
            Node = Katalog.find_indexnode(currentListIndex)
            self.dedit_newcat.setText(Node.data)

            if not Node.is_leaf():
                currentArtikelList = []
                self.dartliste.setEnabled(False)
                self.dshowcat.setText('')
            else:
                self.dartliste.setEnabled(True)
                currentArtikelList = Node.liste
                self.dshowcat.setText(Node.data)
            self.artview_refresh()

    def artview_sort(self):
        global Katalog
        global catchangeOccurred
        global currentListIndex
        if self.dshowcat.text()!= '':
            self.dartliste.blockSignals(True)
            self.dartliste.clearContents()
            Nodey = Katalog.find_indexnode(currentListIndex)
            Nodey.sort_list()
            catchangeOccurred = True
            ArtListe = Nodey.liste
            for i in range(len(ArtListe)):
                for j in range(3):
                    if j == 2:
                        NewItem = QtWidgets.QTableWidgetItem(convert_f2s(ArtListe[i][j]))
                    else:
                        NewItem = QtWidgets.QTableWidgetItem(ArtListe[i][j])
                    self.dartliste.setItem(i, j, NewItem)
            self.dartliste.blockSignals(False)

    def artview_Item2List(self):
        global catchangeOccurred
        catchangeOccurred = True
        worklist = []
        for i in range(self.dartliste.rowCount()):
            if self.dartliste.item(i, 0):
                eintrag1 = self.dartliste.item(i, 0).text()
            else:
                eintrag1 = ''

            if self.dartliste.item(i, 1):
                eintrag2 = self.dartliste.item(i, 1).text()
            else:
                eintrag2 = ''

            if (self.dartliste.item(i, 2)) and (eintrag1 or eintrag2):
                eintrag3 = convert_s2f(self.dartliste.item(i, 2).text())
                worklist.append([eintrag1[:45], eintrag2[:8], eintrag3])

            else:
                eintrag3 = ''
                if eintrag1 or eintrag2:
                    eintrag3 = 0.0
                worklist.append([eintrag1, eintrag2, eintrag3])
        return worklist

    def artview_refreshItem(self):
        global Katalog
        global currentListIndex
        global catchangeOccurred
        catchangeOccurred = True
        Nodey = Katalog.find_indexnode(currentListIndex)
        aktrow = self.dartliste.currentRow()
        aktcol = self.dartliste.currentColumn()
        Nodey.liste = self.artview_Item2List()
        self.dartliste.blockSignals(True)
        wat = Nodey.liste[aktrow]
        self.dartliste.setItem(aktrow, 0, QtWidgets.QTableWidgetItem(wat[0]))
        self.dartliste.setItem(aktrow, 1, QtWidgets.QTableWidgetItem(wat[1]))
        self.dartliste.setItem(aktrow, 2, QtWidgets.QTableWidgetItem(convert_f2s(wat[2])))

        if aktcol < 2:
            self.dartliste.setCurrentCell(aktrow, aktcol+1)
        else:
            if aktrow == self.dartliste.rowCount()-1:
                self.dartliste.insertRow(aktrow+1)
                self.dartliste.setCurrentCell(aktrow+1, 0)

        self.dartliste.blockSignals(False)

    def artview_moveUp(self):
        global Katalog
        global currentListIndex
        global catchangeOccurred
        global currentArtikelList
        aktrow = self.dartliste.