[tree model] add icons for tree item decoration
This commit is contained in:
parent
397f689c1d
commit
2fb4ab96a1
@ -18,6 +18,10 @@ class NixTreeItem():
|
|||||||
self._child_items = []
|
self._child_items = []
|
||||||
self._is_loaded = False
|
self._is_loaded = False
|
||||||
|
|
||||||
|
@property
|
||||||
|
def entity_type(self):
|
||||||
|
return self._node_descriptor.entity_type
|
||||||
|
|
||||||
def child(self, row):
|
def child(self, row):
|
||||||
if row < len(self._child_items):
|
if row < len(self._child_items):
|
||||||
return self._child_items[row]
|
return self._child_items[row]
|
||||||
@ -68,7 +72,6 @@ class FileTreeItem(NixTreeItem):
|
|||||||
self._child_items.append(BlockTreeItem(b, self._file_handler, parent=self))
|
self._child_items.append(BlockTreeItem(b, self._file_handler, parent=self))
|
||||||
self._is_loaded = True
|
self._is_loaded = True
|
||||||
|
|
||||||
|
|
||||||
class BlockTreeItem(NixTreeItem):
|
class BlockTreeItem(NixTreeItem):
|
||||||
def __init__(self, node_descriptor, file_handler, parent=None):
|
def __init__(self, node_descriptor, file_handler, parent=None):
|
||||||
super().__init__(node_descriptor, file_handler, parent=parent)
|
super().__init__(node_descriptor, file_handler, parent=parent)
|
||||||
@ -150,10 +153,22 @@ class TagTreeItem(NixTreeItem):
|
|||||||
self._is_loaded = True
|
self._is_loaded = True
|
||||||
|
|
||||||
class TreeModel(QAbstractItemModel):
|
class TreeModel(QAbstractItemModel):
|
||||||
|
|
||||||
def __init__(self, file_handler, parent=None):
|
def __init__(self, file_handler, parent=None):
|
||||||
super(TreeModel, self).__init__(parent)
|
super(TreeModel, self).__init__(parent)
|
||||||
nd = ItemDescriptor(file_handler.filename, type="Root item")
|
nd = ItemDescriptor(file_handler.filename, type="Root item")
|
||||||
self.root_item = FileTreeItem(nd, file_handler, parent=None)
|
self.root_item = FileTreeItem(nd, file_handler, parent=None)
|
||||||
|
self.type_icons = {NodeType.Block: QIcon("./icons/nix_block_1d.png"),
|
||||||
|
NodeType.Source: QIcon("./icons/nix_source.png"),
|
||||||
|
NodeType.DataArray: QIcon("./icons/nix_data_array.png"),
|
||||||
|
NodeType.Dimension: QIcon("./icons/nix_dimension.png"),
|
||||||
|
NodeType.DataFrame: QIcon("./icons/nix_data_frame.png"),
|
||||||
|
NodeType.Section: QIcon("./icons/nix_section.png"),
|
||||||
|
NodeType.Property: QIcon("./icons/nix_property.png"),
|
||||||
|
NodeType.Tag: QIcon("./icons/nix_tag.png"),
|
||||||
|
NodeType.MultiTag: QIcon("./icons/nix_tag.png"),
|
||||||
|
NodeType.Group: QIcon("./icons/nix_group.png"),
|
||||||
|
NodeType.Feature: QIcon("./icons/nix_feature.png")}
|
||||||
self.root_item.load_children()
|
self.root_item.load_children()
|
||||||
|
|
||||||
def columnCount(self, parent):
|
def columnCount(self, parent):
|
||||||
@ -167,6 +182,11 @@ class TreeModel(QAbstractItemModel):
|
|||||||
|
|
||||||
if role == Qt.DisplayRole:
|
if role == Qt.DisplayRole:
|
||||||
return item.data(index.column())
|
return item.data(index.column())
|
||||||
|
elif role == Qt.DecorationRole and index.column() == 0:
|
||||||
|
if item.entity_type in self.type_icons.keys():
|
||||||
|
return self.type_icons[item.entity_type]
|
||||||
|
else:
|
||||||
|
return None
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user