コード例 #1
0
class WizardView(QTreeView):
    def __init__(self, parent=None):
        QTreeView.__init__(self, parent)

        self.__root = TreeItem("ERT")

        self.__tree_model = TreeModel(self.__root)

        self.setModel(self.__tree_model)

        #: :type: dict of (str, TreeItem)
        self.__groups = {}

        self.header().hide()


    def addGroup(self, group_name):
        if group_name in self.__groups:
            raise ValueError("A group with name: %s already exists!" % group_name)

        group = TreeItem(group_name)

        self.__groups[group_name] = group
        self.__root.addChild(group)

        self.__tree_model.emitChange()


    def addItemToGroup(self, group, item):
        group_item = self.__groups[group]

        child_item = TreeItem(item)
        group_item.addChild(child_item)

        self.__tree_model.emitChange()
コード例 #2
0
    def __init__(self, parent=None):
        QTreeView.__init__(self, parent)

        self.__root = TreeItem("ERT")

        self.__tree_model = TreeModel(self.__root)

        self.setModel(self.__tree_model)

        #: :type: dict of (str, TreeItem)
        self.__groups = {}

        self.header().hide()
コード例 #3
0
    def addItemToGroup(self, group, item):
        group_item = self.__groups[group]

        child_item = TreeItem(item)
        group_item.addChild(child_item)

        self.__tree_model.emitChange()
コード例 #4
0
    def addGroup(self, group_name):
        if group_name in self.__groups:
            raise ValueError("A group with name: %s already exists!" % group_name)

        group = TreeItem(group_name)

        self.__groups[group_name] = group
        self.__root.addChild(group)

        self.__tree_model.emitChange()
コード例 #5
0
ファイル: test_tree_structure.py プロジェクト: pgdr/ert
    def test_tree_item(self):

        root = TreeItem("Root")

        self.assertIsNone(root.parent())
        self.assertEqual(root.name(), "Root")
        self.assertEqual(len(root), 0)

        with self.assertRaises(IndexError):
            root.child(0)

        self.assertIsNone(root.data())

        child_1 = TreeItem("Child1")

        child = root.addChild(child_1)

        self.assertEqual(child, child_1)
        self.assertEqual(len(root), 1)
        self.assertEqual(root.child(0), child_1)
        self.assertEqual(child_1.parent(), root)
コード例 #6
0
ファイル: test_tree_structure.py プロジェクト: pgdr/ert
    def test_tree_model(self):
        root = TreeItem("Wizards")

        root.addChild(TreeItem("One"))

        child = root.addChild(TreeItem("Two"))
        child.addChild(TreeItem("SubOne"))
        child.addChild(TreeItem("SubTwo"))

        child_item = root.addChild(TreeItem("Three"))

        tree = TreeModel(root)

        self.assertEqual(tree.headerData(0, Qt.Horizontal), root.name())

        name1 = tree.data(tree.index(0, 0))
        self.assertEqual(name1, "One")

        name2_index = tree.index(1, 0)
        sub_name2_index = tree.index(1, 0, name2_index)

        self.assertEqual(tree.data(sub_name2_index), "SubTwo")


        tree_item = tree.item(tree.index(2, 0))

        self.assertEqual(child_item, tree_item)

        self.assertTrue(tree.data(tree.index(3, 0)).isNull())
コード例 #7
0
    def test_tree_item(self):

        root = TreeItem("Root")

        self.assertIsNone(root.parent())
        self.assertEqual(root.name(), "Root")
        self.assertEqual(len(root), 0)

        with self.assertRaises(IndexError):
            root.child(0)

        self.assertIsNone(root.data())

        child_1 = TreeItem("Child1")

        child = root.addChild(child_1)

        self.assertEqual(child, child_1)
        self.assertEqual(len(root), 1)
        self.assertEqual(root.child(0), child_1)
        self.assertEqual(child_1.parent(), root)
コード例 #8
0
    def test_tree_model(self):
        root = TreeItem("Wizards")

        root.addChild(TreeItem("One"))

        child = root.addChild(TreeItem("Two"))
        child.addChild(TreeItem("SubOne"))
        child.addChild(TreeItem("SubTwo"))

        child_item = root.addChild(TreeItem("Three"))

        tree = TreeModel(root)

        self.assertEqual(tree.headerData(0, Qt.Horizontal), root.name())

        name1 = tree.data(tree.index(0, 0))
        self.assertEqual(name1, "One")

        name2_index = tree.index(1, 0)
        sub_name2_index = tree.index(1, 0, name2_index)

        self.assertEqual(tree.data(sub_name2_index), "SubTwo")

        tree_item = tree.item(tree.index(2, 0))

        self.assertEqual(child_item, tree_item)

        self.assertIsNone(tree.data(tree.index(3, 0)))