Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- #Created on May 3, 2015
- #@author: Petar Bjeljac
- from PySide2.QtCore import QObject, Signal
- class Node(QObject):
- childInserted = Signal(int)
- lista = []
- def __init__(self, name):
- self.name = name
- self.parent = None
- self.children = []
- self.lista.append(name)
- def setParent(self, parent):
- self.parent = parent
- def getParent(self):
- return self.parent
- def setName(self, name): # OVAKO SE SETUJE IME ??????
- self.name = name
- def getName(self):
- return self.name
- def addChild(self, child):
- self.children.append(child)
- child.setParent(self)
- def insertChild(self, position, child):
- if position < 0 or position > len(self.children):
- return False
- self.children.insert(position, child)
- child.setParent(self)
- return True
- def removeChild(self, position):
- if position < 0 or position > len(self.children)-1:
- return False
- child = self.children.pop(position)
- child.setParent(None)
- return True
- def childCount(self):
- return len(self.children)
- def childAt(self, row):
- if row < 0 or row > len(self.children)-1:
- return None
- else:
- return self.children[row]
- def getIndex(self):
- if self.parent is not None:
- return self.parent.children.index(self)
- class FolderNode(Node):
- def __init__(self, name):
- super(Node, self).__init__()
- self.name = name
- self.parent = None
- self.children = []
- class DocumentNode(Node):
- def __init__(self, name):
- super(Node, self).__init__()
- self.name = name
- self.parent = FolderNode
- self.children = []
- class ElementNode(Node):
- def __init__(self, name):
- super(Node, self).__init__()
- self.name = name
- self.parent = DocumentNode
- self.children = []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement