TypeTreeNode Class Reference

Public Types

enum  SourceType {
  None , TypeLibrary , TypeArchive , DebugInfo ,
  Platform , Other
}
 
- Public Types inherited from TypeBrowserTreeNode
typedef std::function< void(UpdateData)> UpdateNodeCallback
 

Public Member Functions

 TypeTreeNode (class TypeBrowserModelData *model, std::optional< std::weak_ptr< TypeBrowserTreeNode > > parent, const std::string &id, BinaryNinja::QualifiedName name, TypeRef type)
 
virtual ~TypeTreeNode ()=default
 
const std::string & id () const
 
const BinaryNinja::QualifiedNamename () const
 
const TypeReftype () const
 
void setType (const std::string &id, const BinaryNinja::QualifiedName &name, const TypeRef &type)
 
const SourceTypesourceType () const
 
std::optional< BinaryNinja::TypeContainertypeContainer () const
 
std::optional< BinaryNinja::TypeContainersourceTypeContainer () const
 
PlatformRef sourcePlatform () const
 
virtual std::string text (int column) const override
 
virtual bool lessThan (const TypeBrowserTreeNode &other, int column) const override
 
virtual bool filter (const std::string &filter, TypeBrowserFilterMode mode) const override
 
- Public Member Functions inherited from TypeBrowserTreeNode
class TypeBrowserModelDatamodel () const
 
std::optional< std::shared_ptr< TypeBrowserTreeNode > > parent () const
 
const std::vector< std::shared_ptr< TypeBrowserTreeNode > > & children ()
 
int indexOfChild (std::shared_ptr< const TypeBrowserTreeNode > child) const
 
virtual std::string text (int column) const =0
 
virtual bool lessThan (const TypeBrowserTreeNode &other, int column) const =0
 
virtual bool filter (const std::string &filter, TypeBrowserFilterMode mode) const =0
 
virtual void updateChildren (bool recursive, UpdateNodeCallback update)
 

Protected Member Functions

virtual void generateChildren () override
 
- Protected Member Functions inherited from TypeBrowserTreeNode
 TypeBrowserTreeNode (class TypeBrowserModelData *model, std::optional< std::weak_ptr< TypeBrowserTreeNode > > parent)
 
virtual ~TypeBrowserTreeNode ()=default
 
virtual void generateChildren ()=0
 
void updateChildIndices ()
 
void removeChild (std::shared_ptr< TypeBrowserTreeNode > child)
 
void addChild (std::shared_ptr< TypeBrowserTreeNode > child)
 

Additional Inherited Members

- Protected Attributes inherited from TypeBrowserTreeNode
class TypeBrowserModelDatam_model
 
std::optional< std::weak_ptr< TypeBrowserTreeNode > > m_parent
 
std::vector< std::shared_ptr< TypeBrowserTreeNode > > m_children
 
std::map< const TypeBrowserTreeNode *, size_t > m_childIndices
 
bool m_hasGeneratedChildren
 

Member Enumeration Documentation

◆ SourceType

Enumerator
None 
TypeLibrary 
TypeArchive 
DebugInfo 
Platform 
Other 

Constructor & Destructor Documentation

◆ TypeTreeNode()

TypeTreeNode::TypeTreeNode ( class TypeBrowserModelData model,
std::optional< std::weak_ptr< TypeBrowserTreeNode > >  parent,
const std::string &  id,
BinaryNinja::QualifiedName  name,
TypeRef  type 
)

◆ ~TypeTreeNode()

virtual TypeTreeNode::~TypeTreeNode ( )
virtualdefault

Member Function Documentation

◆ id()

const std::string & TypeTreeNode::id ( ) const
inline

◆ name()

const BinaryNinja::QualifiedName & TypeTreeNode::name ( ) const
inline

◆ type()

const TypeRef & TypeTreeNode::type ( ) const
inline

◆ setType()

void TypeTreeNode::setType ( const std::string &  id,
const BinaryNinja::QualifiedName name,
const TypeRef type 
)

◆ sourceType()

const SourceType & TypeTreeNode::sourceType ( ) const
inline

◆ typeContainer()

std::optional< BinaryNinja::TypeContainer > TypeTreeNode::typeContainer ( ) const

◆ sourceTypeContainer()

std::optional< BinaryNinja::TypeContainer > TypeTreeNode::sourceTypeContainer ( ) const

◆ sourcePlatform()

PlatformRef TypeTreeNode::sourcePlatform ( ) const

◆ text()

virtual std::string TypeTreeNode::text ( int  column) const
overridevirtual

Implements TypeBrowserTreeNode.

◆ lessThan()

virtual bool TypeTreeNode::lessThan ( const TypeBrowserTreeNode other,
int  column 
) const
overridevirtual

Implements TypeBrowserTreeNode.

◆ filter()

virtual bool TypeTreeNode::filter ( const std::string &  filter,
TypeBrowserFilterMode  mode 
) const
overridevirtual

Implements TypeBrowserTreeNode.

◆ generateChildren()

virtual void TypeTreeNode::generateChildren ( )
overrideprotectedvirtual

Implements TypeBrowserTreeNode.