def __init__(self, parent=None, globalnode=None, globalmodel=None, edge_filter=EdgeFilter()): """Initialize the model to display the given global node in the detail tree. We also need a reference to the global model to resolve node references. """ QtCore.QAbstractItemModel.__init__(self, parent) self.root_item = DetailTreeItem( data=DetailTreeItemData(node=globalnode), edge_filter=EdgeFilter()) self.globalmodel = globalmodel
def __init__(self, data=None, parent=None, row=0, edge_type=EdgeType(), edge_filter=EdgeFilter()): """Initialize the node tree hierarchy from the given data.""" if not isinstance(data, GlobalTreeItemData): raise TypeError("data must be a GlobalTreeItemData instance") if not isinstance(parent, (type(None), GlobalTreeItem)): raise TypeError( "parent must be either None or a GlobalTreeItem instance") if not isinstance(edge_type, EdgeType): raise TypeError("edge_type must be EdgeType instance") self.data = data self.parent = parent self.row = row self.edge_type = edge_type self.children = [ GlobalTreeItem(data=GlobalTreeItemData(node=child_node), parent=self, row=child_row, edge_type=child_edge_type) for (child_row, (child_node, child_edge_type)) in enumerate( zip( data.node.get_global_child_nodes(edge_filter=edge_filter), data.node.get_global_child_edge_types( edge_filter=edge_filter))) ]
def __init__(self, parent=None, globalnode=None, edge_filter=EdgeFilter()): """Initialize the model to display the given data.""" QtCore.QAbstractItemModel.__init__(self, parent) # set up the tree self.root_item = GlobalTreeItem( data=GlobalTreeItemData(node=globalnode), edge_filter=edge_filter) # set up the index dictionary self.index_dict = self.IndexDict() self.updateIndexDict(self.root_item)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): if self.file_type == PskFormat.FileType.ACTRHEAD: yield self.points yield self.wedges yield self.faces yield self.materials yield self.bones yield self.influences elif self.file_type == PskFormat.FileType.ANIMHEAD: yield self.bones yield self.animations yield self.raw_keys
def get_global_child_names(self, edge_filter=EdgeFilter()): yield "Header" yield "Image" if self.footer: yield "Footer"
def get_detail_child_nodes(self, edge_filter=EdgeFilter()): """Yield children.""" return (item for item in list.__iter__(self))
def get_detail_child_nodes(self, edge_filter=EdgeFilter()): """Yield children of this structure.""" return (item for item in self._items)
def get_detail_child_nodes(self, edge_filter=EdgeFilter()): return self._header_value_.get_detail_child_nodes( edge_filter=edge_filter)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): # TODO replace get_refs with a generator as well for branch in self.get_refs(): yield branch
def get_detail_child_names(self, edge_filter=EdgeFilter()): """Yield names of the children of this structure.""" return (name for name in self._names)
def get_detail_child_names(self, edge_filter=EdgeFilter()): return ("[%i]" % i for i in range(list.__len__(self)))
def get_detail_child_nodes(self, edge_filter=EdgeFilter()): return list.__iter__(self)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): return (anim for anim in self.animations)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): return ([morph for morph in self.morphs] + [morph for morph in self.modifiers])
def get_detail_child_names(self, edge_filter=EdgeFilter()): return self.tes4.get_detail_child_names(edge_filter=edge_filter)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): return self.tes4.sub_records + self.records
def get_global_child_nodes(self, edge_filter=EdgeFilter()): for morph in self.sym_morphs: yield morph for morph in self.asym_morphs: yield morph
def get_global_child_names(self, edge_filter=EdgeFilter()): for morph in self.sym_morphs: yield "Sym Morph" for morph in self.asym_morphs: yield "Asym Morph"
def get_detail_child_nodes(self, edge_filter=EdgeFilter()): for child in self.children: yield child
def get_detail_child_names(self, edge_filter=EdgeFilter()): """Yield name of each child.""" return (name for name in self._names)
def get_detail_child_names(self, edge_filter=EdgeFilter()): for i in range(len(self.children)): yield str(i)
def get_global_child_nodes(self, edge_filter=EdgeFilter()): return self.files
def get_global_child_nodes(self, edge_filter=EdgeFilter()): yield self.header yield self.image if self.footer: yield self.footer
def get_detail_child_names(self, edge_filter=EdgeFilter()): """Yield child names.""" return ("[%i]" % row for row in range(list.__len__(self)))
def get_global_child_nodes(self, edge_filter=EdgeFilter()): return (texture for texture in self.textures)