Loading...
Searching...
No Matches
XrefList

Detailed Description

Classes

class  XrefItem
 
class  XrefHeader
 
class  XrefFunctionHeader
 
class  XrefTypeHeader
 
class  XrefVariableHeader
 
class  XrefCodeReferences
 
class  XrefDataReferences
 
class  XrefTypeReferences
 
class  XrefVariableReferences
 
class  XrefRoot
 
class  CrossReferenceTreeModel
 
class  CrossReferenceTableModel
 
class  CrossReferenceItemDelegate
 
class  CrossReferenceFilterProxyModel
 
class  CrossReferenceContainer
 
class  CrossReferenceTree
 
class  CrossReferenceTable
 
class  CrossReferenceWidget
 
class  CrossReferenceSidebarWidgetType
 

Class Documentation

◆ XrefItem

class XrefItem

Public Types

enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 

Public Member Functions

 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
virtual XrefItemchild (int) const
 
virtual int childCount () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Protected Attributes

FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Member Enumeration Documentation

◆ XrefDirection

Enumerator
Forward 
Backward 

◆ XrefType

Enumerator
DataXrefType 
CodeXrefType 
VariableXrefType 
TypeXrefType 

◆ XrefQueryKind

Enumerator
AddressXrefQuery 
TypeXrefQuery 
TypeFieldXrefQuery 
LocalVarXrefQuery 

Constructor & Destructor Documentation

◆ XrefItem() [1/7]

XrefItem::XrefItem ( )
explicit

◆ XrefItem() [2/7]

XrefItem::XrefItem ( XrefHeader * parent,
XrefType type,
FunctionRef func )
explicit

◆ XrefItem() [3/7]

XrefItem::XrefItem ( BinaryNinja::ReferenceSource ref,
XrefType type,
XrefDirection direction,
XrefQueryKind kind )
explicit

◆ XrefItem() [4/7]

XrefItem::XrefItem ( uint64_t addr,
XrefType type,
XrefDirection direction,
XrefQueryKind kind )
explicit

◆ XrefItem() [5/7]

XrefItem::XrefItem ( BinaryNinja::TypeReferenceSource ref,
XrefType type,
XrefDirection direction,
XrefQueryKind kind )
explicit

◆ XrefItem() [6/7]

XrefItem::XrefItem ( BinaryNinja::Variable var,
BinaryNinja::ILReferenceSource ref,
XrefType type,
XrefDirection direction,
XrefQueryKind kind )
explicit

◆ XrefItem() [7/7]

XrefItem::XrefItem ( const XrefItem & ref)

◆ ~XrefItem()

virtual XrefItem::~XrefItem ( )
virtual

Member Function Documentation

◆ direction()

XrefDirection XrefItem::direction ( ) const
inline

◆ func()

const FunctionRef & XrefItem::func ( ) const
inline

◆ arch()

const ArchitectureRef & XrefItem::arch ( ) const
inline

◆ addr()

uint64_t XrefItem::addr ( ) const
inline

◆ typeName()

BinaryNinja::QualifiedName XrefItem::typeName ( ) const
inline

◆ offset()

uint64_t XrefItem::offset ( ) const
inline

◆ variable()

BinaryNinja::Variable XrefItem::variable ( ) const
inline

◆ ilType()

BNFunctionGraphType XrefItem::ilType ( ) const
inline

◆ instrId()

size_t XrefItem::instrId ( ) const
inline

◆ type()

XrefType XrefItem::type ( ) const
inline

◆ kind()

XrefQueryKind XrefItem::kind ( ) const
inline

◆ size()

int XrefItem::size ( ) const
inline

◆ setSize()

void XrefItem::setSize ( int size) const
inline

◆ setParent()

void XrefItem::setParent ( XrefHeader * parent) const

◆ setCachedTokens()

void XrefItem::setCachedTokens ( const std::vector< BinaryNinja::InstructionTextToken > & cachedTokens) const
inline

◆ cachedTokens()

std::vector< BinaryNinja::InstructionTextToken > XrefItem::cachedTokens ( ) const
inline

◆ hasCachedTokens()

bool XrefItem::hasCachedTokens ( ) const
inline

◆ parent()

virtual XrefItem * XrefItem::parent ( ) const
inlinevirtual

◆ child()

◆ childCount()

virtual int XrefItem::childCount ( ) const
inlinevirtual

◆ row()

int XrefItem::row ( ) const

◆ operator==()

bool XrefItem::operator== ( const XrefItem & other) const

◆ operator!=()

bool XrefItem::operator!= ( const XrefItem & other) const

Member Data Documentation

◆ m_func

FunctionRef XrefItem::m_func
protected

◆ m_arch

ArchitectureRef XrefItem::m_arch
protected

◆ m_addr

uint64_t XrefItem::m_addr
protected

◆ m_typeName

BinaryNinja::QualifiedName XrefItem::m_typeName
protected

◆ m_offset

uint64_t XrefItem::m_offset
protected

◆ m_var

BinaryNinja::Variable XrefItem::m_var
protected

◆ m_ilType

BNFunctionGraphType XrefItem::m_ilType
protected

◆ m_instrId

size_t XrefItem::m_instrId
protected

◆ m_type

XrefType XrefItem::m_type
protected

◆ m_queryKind

XrefQueryKind XrefItem::m_queryKind
protected

◆ m_direction

XrefDirection XrefItem::m_direction
protected

◆ m_cachedTokens

std::vector<BinaryNinja::InstructionTextToken> XrefItem::m_cachedTokens
mutableprotected

◆ m_parentItem

XrefHeader* XrefItem::m_parentItem
mutableprotected

◆ m_size

int XrefItem::m_size
mutableprotected

◆ XrefHeader

class XrefHeader

Public Member Functions

 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
virtual void appendChild (XrefItem *ref)=0
 
virtual int row (const XrefItem *item) const =0
 
virtual XrefItemchild (int i) const =0
 
virtual int childCount () const =0
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Protected Attributes

QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 

Constructor & Destructor Documentation

◆ XrefHeader() [1/2]

XrefHeader::XrefHeader ( )

◆ XrefHeader() [2/2]

XrefHeader::XrefHeader ( const QString & name,
XrefItem::XrefType type,
XrefHeader * parent,
FunctionRef func )

◆ ~XrefHeader()

virtual XrefHeader::~XrefHeader ( )
virtual

Member Function Documentation

◆ name()

virtual QString XrefHeader::name ( ) const
inlinevirtual

◆ type()

XrefItem::XrefType XrefHeader::type ( ) const
inline

◆ appendChild()

virtual void XrefHeader::appendChild ( XrefItem * ref)
pure virtual

◆ row()

virtual int XrefHeader::row ( const XrefItem * item) const
pure virtual

◆ child()

virtual XrefItem * XrefHeader::child ( int i) const
pure virtual

◆ childCount()

virtual int XrefHeader::childCount ( ) const
pure virtual

Member Data Documentation

◆ m_name

QString XrefHeader::m_name
protected

◆ XrefFunctionHeader

class XrefFunctionHeader

Public Member Functions

 XrefFunctionHeader ()
 
 XrefFunctionHeader (FunctionRef func, XrefHeader *parent, XrefItem *child)
 
 XrefFunctionHeader (const XrefFunctionHeader &header)
 
virtual int childCount () const override
 
virtual uint64_t addr () const
 
virtual void appendChild (XrefItem *ref) override
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefFunctionHeader() [1/3]

XrefFunctionHeader::XrefFunctionHeader ( )

◆ XrefFunctionHeader() [2/3]

XrefFunctionHeader::XrefFunctionHeader ( FunctionRef func,
XrefHeader * parent,
XrefItem * child )

◆ XrefFunctionHeader() [3/3]

XrefFunctionHeader::XrefFunctionHeader ( const XrefFunctionHeader & header)

Member Function Documentation

◆ childCount()

virtual int XrefFunctionHeader::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ addr()

virtual uint64_t XrefFunctionHeader::addr ( ) const
inlinevirtual

◆ appendChild()

virtual void XrefFunctionHeader::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ row()

virtual int XrefFunctionHeader::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefFunctionHeader::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefTypeHeader

class XrefTypeHeader

Public Member Functions

 XrefTypeHeader ()
 
 XrefTypeHeader (BinaryNinja::QualifiedName name, XrefHeader *parent, XrefItem *child)
 
 XrefTypeHeader (const XrefTypeHeader &header)
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefTypeHeader() [1/3]

XrefTypeHeader::XrefTypeHeader ( )

◆ XrefTypeHeader() [2/3]

XrefTypeHeader::XrefTypeHeader ( BinaryNinja::QualifiedName name,
XrefHeader * parent,
XrefItem * child )

◆ XrefTypeHeader() [3/3]

XrefTypeHeader::XrefTypeHeader ( const XrefTypeHeader & header)

Member Function Documentation

◆ childCount()

virtual int XrefTypeHeader::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefTypeHeader::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ row()

virtual int XrefTypeHeader::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefTypeHeader::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefVariableHeader

class XrefVariableHeader

Public Member Functions

 XrefVariableHeader ()
 
 XrefVariableHeader (XrefHeader *parent, XrefItem *child)
 
 XrefVariableHeader (const XrefVariableHeader &header)
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefVariableHeader() [1/3]

XrefVariableHeader::XrefVariableHeader ( )

◆ XrefVariableHeader() [2/3]

XrefVariableHeader::XrefVariableHeader ( XrefHeader * parent,
XrefItem * child )

◆ XrefVariableHeader() [3/3]

XrefVariableHeader::XrefVariableHeader ( const XrefVariableHeader & header)

Member Function Documentation

◆ childCount()

virtual int XrefVariableHeader::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefVariableHeader::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ row()

virtual int XrefVariableHeader::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefVariableHeader::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefCodeReferences

class XrefCodeReferences

Public Member Functions

 XrefCodeReferences (XrefHeader *parent)
 
virtual ~XrefCodeReferences ()
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
XrefHeaderparentOf (XrefItem *ref) const
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefCodeReferences()

XrefCodeReferences::XrefCodeReferences ( XrefHeader * parent)

◆ ~XrefCodeReferences()

virtual XrefCodeReferences::~XrefCodeReferences ( )
virtual

Member Function Documentation

◆ childCount()

virtual int XrefCodeReferences::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefCodeReferences::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ parentOf()

XrefHeader * XrefCodeReferences::parentOf ( XrefItem * ref) const

◆ row()

virtual int XrefCodeReferences::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefCodeReferences::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefDataReferences

class XrefDataReferences

Public Member Functions

 XrefDataReferences (XrefHeader *parent)
 
virtual ~XrefDataReferences ()
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefDataReferences()

XrefDataReferences::XrefDataReferences ( XrefHeader * parent)

◆ ~XrefDataReferences()

virtual XrefDataReferences::~XrefDataReferences ( )
virtual

Member Function Documentation

◆ childCount()

virtual int XrefDataReferences::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefDataReferences::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ row()

virtual int XrefDataReferences::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefDataReferences::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefTypeReferences

class XrefTypeReferences

Public Member Functions

 XrefTypeReferences (XrefHeader *parent)
 
virtual ~XrefTypeReferences ()
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
XrefHeaderparentOf (XrefItem *ref) const
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefTypeReferences()

XrefTypeReferences::XrefTypeReferences ( XrefHeader * parent)

◆ ~XrefTypeReferences()

virtual XrefTypeReferences::~XrefTypeReferences ( )
virtual

Member Function Documentation

◆ childCount()

virtual int XrefTypeReferences::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefTypeReferences::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ parentOf()

XrefHeader * XrefTypeReferences::parentOf ( XrefItem * ref) const

◆ row()

virtual int XrefTypeReferences::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefTypeReferences::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefVariableReferences

class XrefVariableReferences

Public Member Functions

 XrefVariableReferences (XrefHeader *parent)
 
virtual ~XrefVariableReferences ()
 
virtual int childCount () const override
 
virtual void appendChild (XrefItem *ref) override
 
XrefHeaderparentOf (XrefItem *ref) const
 
virtual int row (const XrefItem *item) const override
 
virtual XrefItemchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefVariableReferences()

XrefVariableReferences::XrefVariableReferences ( XrefHeader * parent)

◆ ~XrefVariableReferences()

virtual XrefVariableReferences::~XrefVariableReferences ( )
virtual

Member Function Documentation

◆ childCount()

virtual int XrefVariableReferences::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

virtual void XrefVariableReferences::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ parentOf()

XrefHeader * XrefVariableReferences::parentOf ( XrefItem * ref) const

◆ row()

virtual int XrefVariableReferences::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefItem * XrefVariableReferences::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ XrefRoot

class XrefRoot

Public Member Functions

 XrefRoot ()
 
 XrefRoot (XrefRoot &&root)
 
 ~XrefRoot ()
 
virtual int childCount () const override
 
void appendChild (XrefItem *ref) override
 
XrefHeaderparentOf (XrefItem *ref)
 
virtual int row (const XrefItem *item) const override
 
virtual XrefHeaderchild (int i) const override
 
- Public Member Functions inherited from XrefHeader
 XrefHeader ()
 
 XrefHeader (const QString &name, XrefItem::XrefType type, XrefHeader *parent, FunctionRef func)
 
virtual ~XrefHeader ()
 
virtual QString name () const
 
XrefItem::XrefType type () const
 
- Public Member Functions inherited from XrefItem
 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction, XrefQueryKind kind)
 
 XrefItem (const XrefItem &ref)
 
virtual ~XrefItem ()
 
XrefDirection direction () const
 
const FunctionReffunc () const
 
const ArchitectureRefarch () const
 
uint64_t addr () const
 
BinaryNinja::QualifiedName typeName () const
 
uint64_t offset () const
 
BinaryNinja::Variable variable () const
 
BNFunctionGraphType ilType () const
 
size_t instrId () const
 
XrefType type () const
 
XrefQueryKind kind () const
 
int size () const
 
void setSize (int size) const
 
void setParent (XrefHeader *parent) const
 
void setCachedTokens (const std::vector< BinaryNinja::InstructionTextToken > &cachedTokens) const
 
std::vector< BinaryNinja::InstructionTextTokencachedTokens () const
 
bool hasCachedTokens () const
 
virtual XrefItemparent () const
 
int row () const
 
bool operator== (const XrefItem &other) const
 
bool operator!= (const XrefItem &other) const
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
enum  XrefQueryKind { AddressXrefQuery , TypeXrefQuery , TypeFieldXrefQuery , LocalVarXrefQuery }
 
- Protected Attributes inherited from XrefHeader
QString m_name
 
- Protected Attributes inherited from XrefItem
FunctionRef m_func
 
ArchitectureRef m_arch
 
uint64_t m_addr
 
BinaryNinja::QualifiedName m_typeName
 
uint64_t m_offset
 
BinaryNinja::Variable m_var
 
BNFunctionGraphType m_ilType
 
size_t m_instrId
 
XrefType m_type
 
XrefQueryKind m_queryKind
 
XrefDirection m_direction
 
std::vector< BinaryNinja::InstructionTextTokenm_cachedTokens
 
XrefHeaderm_parentItem
 
int m_size
 

Constructor & Destructor Documentation

◆ XrefRoot() [1/2]

XrefRoot::XrefRoot ( )

◆ XrefRoot() [2/2]

XrefRoot::XrefRoot ( XrefRoot && root)

◆ ~XrefRoot()

XrefRoot::~XrefRoot ( )

Member Function Documentation

◆ childCount()

virtual int XrefRoot::childCount ( ) const
inlineoverridevirtual

Implements XrefHeader.

◆ appendChild()

void XrefRoot::appendChild ( XrefItem * ref)
overridevirtual

Implements XrefHeader.

◆ parentOf()

XrefHeader * XrefRoot::parentOf ( XrefItem * ref)

◆ row()

virtual int XrefRoot::row ( const XrefItem * item) const
overridevirtual

Implements XrefHeader.

◆ child()

virtual XrefHeader * XrefRoot::child ( int i) const
overridevirtual

Implements XrefHeader.

◆ CrossReferenceTreeModel

class CrossReferenceTreeModel

Public Slots

void startUpdateTimer (FunctionRef func)
 

Signals

void needRepaint ()
 

Public Member Functions

 CrossReferenceTreeModel (QWidget *parent, BinaryViewRef data, ViewFrame *view)
 
virtual ~CrossReferenceTreeModel ()
 
virtual QModelIndex index (int row, int col, const QModelIndex &parent=QModelIndex()) const override
 
virtual QVariant data (const QModelIndex &i, int role) const override
 
virtual QModelIndex parent (const QModelIndex &i) const override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
virtual bool hasChildren (const QModelIndex &parent) const override
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
QModelIndex nextValidIndex (const QModelIndex &current) const
 
QModelIndex prevValidIndex (const QModelIndex &current) const
 
bool selectRef (XrefItem *ref, QItemSelectionModel *selectionModel)
 
XrefRootgetRoot ()
 
bool setModelData (std::vector< XrefItem > &refs, QItemSelectionModel *selectionModel, bool &selectionUpdated, const SelectionInfoForXref &ref)
 
int leafCount () const
 
ViewFramegetView () const
 
virtual void updateMaxUIItems (size_t value)
 
size_t getMaxUIItems () const
 
void setGraphType (const BinaryNinja::FunctionViewType &type)
 
void requestAdvancedAnalysis ()
 

Constructor & Destructor Documentation

◆ CrossReferenceTreeModel()

CrossReferenceTreeModel::CrossReferenceTreeModel ( QWidget * parent,
BinaryViewRef data,
ViewFrame * view )

◆ ~CrossReferenceTreeModel()

virtual CrossReferenceTreeModel::~CrossReferenceTreeModel ( )
virtual

Member Function Documentation

◆ index()

virtual QModelIndex CrossReferenceTreeModel::index ( int row,
int col,
const QModelIndex & parent = QModelIndex() ) const
overridevirtual

◆ data()

virtual QVariant CrossReferenceTreeModel::data ( const QModelIndex & i,
int role ) const
overridevirtual

◆ parent()

virtual QModelIndex CrossReferenceTreeModel::parent ( const QModelIndex & i) const
overridevirtual

◆ flags()

Qt::ItemFlags CrossReferenceTreeModel::flags ( const QModelIndex & index) const
override

◆ hasChildren()

virtual bool CrossReferenceTreeModel::hasChildren ( const QModelIndex & parent) const
overridevirtual

◆ rowCount()

virtual int CrossReferenceTreeModel::rowCount ( const QModelIndex & parent = QModelIndex()) const
overridevirtual

◆ columnCount()

virtual int CrossReferenceTreeModel::columnCount ( const QModelIndex & parent = QModelIndex()) const
overridevirtual

◆ nextValidIndex()

QModelIndex CrossReferenceTreeModel::nextValidIndex ( const QModelIndex & current) const

◆ prevValidIndex()

QModelIndex CrossReferenceTreeModel::prevValidIndex ( const QModelIndex & current) const

◆ selectRef()

bool CrossReferenceTreeModel::selectRef ( XrefItem * ref,
QItemSelectionModel * selectionModel )

◆ getRoot()

XrefRoot * CrossReferenceTreeModel::getRoot ( )
inline

◆ setModelData()

bool CrossReferenceTreeModel::setModelData ( std::vector< XrefItem > & refs,
QItemSelectionModel * selectionModel,
bool & selectionUpdated,
const SelectionInfoForXref & ref )

◆ leafCount()

int CrossReferenceTreeModel::leafCount ( ) const

◆ getView()

ViewFrame * CrossReferenceTreeModel::getView ( ) const
inline

◆ updateMaxUIItems()

virtual void CrossReferenceTreeModel::updateMaxUIItems ( size_t value)
inlinevirtual

◆ getMaxUIItems()

size_t CrossReferenceTreeModel::getMaxUIItems ( ) const
inline

◆ setGraphType()

void CrossReferenceTreeModel::setGraphType ( const BinaryNinja::FunctionViewType & type)

◆ requestAdvancedAnalysis()

void CrossReferenceTreeModel::requestAdvancedAnalysis ( )

◆ needRepaint

void CrossReferenceTreeModel::needRepaint ( )
signal

◆ startUpdateTimer

void CrossReferenceTreeModel::startUpdateTimer ( FunctionRef func)
slot

◆ CrossReferenceTableModel

class CrossReferenceTableModel

Public Types

enum  ColumnHeaders { Direction = 0 , Address = 1 , Function = 2 , Preview = 3 }
 

Public Slots

void startUpdateTimer (FunctionRef func)
 

Signals

void needRepaint ()
 

Public Member Functions

 CrossReferenceTableModel (QWidget *parent, BinaryViewRef data, ViewFrame *view)
 
virtual ~CrossReferenceTableModel ()
 
virtual QModelIndex index (int row, int col, const QModelIndex &parent=QModelIndex()) const override
 
virtual QVariant data (const QModelIndex &i, int role) const override
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
virtual QModelIndex parent (const QModelIndex &i) const override
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
virtual QVariant headerData (int column, Qt::Orientation orientation, int role) const override
 
virtual bool hasChildren (const QModelIndex &) const override
 
bool setModelData (std::vector< XrefItem > &refs, QItemSelectionModel *selectionModel, bool &selectionUpdated, const SelectionInfoForXref &ref)
 
const XrefItemgetRow (int idx)
 
ViewFramegetView () const
 
virtual void updateMaxUIItems (size_t value)
 
size_t getMaxUIItems () const
 
void setGraphType (const BinaryNinja::FunctionViewType &type)
 
void requestAdvancedAnalysis ()
 

Member Enumeration Documentation

◆ ColumnHeaders

Enumerator
Direction 
Address 
Function 
Preview 

Constructor & Destructor Documentation

◆ CrossReferenceTableModel()

CrossReferenceTableModel::CrossReferenceTableModel ( QWidget * parent,
BinaryViewRef data,
ViewFrame * view )

◆ ~CrossReferenceTableModel()

virtual CrossReferenceTableModel::~CrossReferenceTableModel ( )
inlinevirtual

Member Function Documentation

◆ index()

virtual QModelIndex CrossReferenceTableModel::index ( int row,
int col,
const QModelIndex & parent = QModelIndex() ) const
overridevirtual

◆ data()

virtual QVariant CrossReferenceTableModel::data ( const QModelIndex & i,
int role ) const
overridevirtual

◆ flags()

Qt::ItemFlags CrossReferenceTableModel::flags ( const QModelIndex & index) const
override

◆ rowCount()

virtual int CrossReferenceTableModel::rowCount ( const QModelIndex & parent = QModelIndex()) const
inlineoverridevirtual

◆ parent()

virtual QModelIndex CrossReferenceTableModel::parent ( const QModelIndex & i) const
inlineoverridevirtual

◆ columnCount()

virtual int CrossReferenceTableModel::columnCount ( const QModelIndex & parent = QModelIndex()) const
inlineoverridevirtual

◆ headerData()

virtual QVariant CrossReferenceTableModel::headerData ( int column,
Qt::Orientation orientation,
int role ) const
overridevirtual

◆ hasChildren()

virtual bool CrossReferenceTableModel::hasChildren ( const QModelIndex & ) const
inlineoverridevirtual

◆ setModelData()

bool CrossReferenceTableModel::setModelData ( std::vector< XrefItem > & refs,
QItemSelectionModel * selectionModel,
bool & selectionUpdated,
const SelectionInfoForXref & ref )

◆ getRow()

const XrefItem & CrossReferenceTableModel::getRow ( int idx)

◆ getView()

ViewFrame * CrossReferenceTableModel::getView ( ) const
inline

◆ updateMaxUIItems()

virtual void CrossReferenceTableModel::updateMaxUIItems ( size_t value)
inlinevirtual

◆ getMaxUIItems()

size_t CrossReferenceTableModel::getMaxUIItems ( ) const
inline

◆ setGraphType()

void CrossReferenceTableModel::setGraphType ( const BinaryNinja::FunctionViewType & type)

◆ requestAdvancedAnalysis()

void CrossReferenceTableModel::requestAdvancedAnalysis ( )

◆ needRepaint

void CrossReferenceTableModel::needRepaint ( )
signal

◆ startUpdateTimer

void CrossReferenceTableModel::startUpdateTimer ( FunctionRef func)
slot

◆ CrossReferenceItemDelegate

class CrossReferenceItemDelegate

Public Member Functions

 CrossReferenceItemDelegate (QWidget *parent, bool table)
 
void updateFonts ()
 
virtual QSize sizeHint (const QStyleOptionViewItem &option, const QModelIndex &idx) const override
 
virtual void paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &idx) const override
 
virtual void paintTreeRow (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &idx) const
 
virtual void paintTableRow (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &idx) const
 
virtual QImage DrawArrow (bool direction) const
 
void updateMaxUIItems (size_t count)
 
size_t getMaxUIItems () const
 

Constructor & Destructor Documentation

◆ CrossReferenceItemDelegate()

CrossReferenceItemDelegate::CrossReferenceItemDelegate ( QWidget * parent,
bool table )

Member Function Documentation

◆ updateFonts()

void CrossReferenceItemDelegate::updateFonts ( )

◆ sizeHint()

virtual QSize CrossReferenceItemDelegate::sizeHint ( const QStyleOptionViewItem & option,
const QModelIndex & idx ) const
overridevirtual

◆ paint()

virtual void CrossReferenceItemDelegate::paint ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & idx ) const
overridevirtual

◆ paintTreeRow()

virtual void CrossReferenceItemDelegate::paintTreeRow ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & idx ) const
virtual

◆ paintTableRow()

virtual void CrossReferenceItemDelegate::paintTableRow ( QPainter * painter,
const QStyleOptionViewItem & option,
const QModelIndex & idx ) const
virtual

◆ DrawArrow()

virtual QImage CrossReferenceItemDelegate::DrawArrow ( bool direction) const
virtual

◆ updateMaxUIItems()

void CrossReferenceItemDelegate::updateMaxUIItems ( size_t count)

◆ getMaxUIItems()

size_t CrossReferenceItemDelegate::getMaxUIItems ( ) const
inline

◆ CrossReferenceFilterProxyModel

class CrossReferenceFilterProxyModel

Public Slots

void directionChanged (int index, bool checked)
 
void typeChanged (int index, bool checked)
 

Public Member Functions

 CrossReferenceFilterProxyModel (QObject *parent, bool table)
 
QModelIndex nextValidIndex (const QModelIndex &current) const
 
QModelIndex getFirstLeaf (const QModelIndex &index) const
 
QModelIndex prevValidIndex (const QModelIndex &current) const
 
QModelIndex getLastLeaf (const QModelIndex &index) const
 

Protected Member Functions

virtual bool filterAcceptsRow (int sourceRow, const QModelIndex &sourceParent) const override
 
virtual bool lessThan (const QModelIndex &left, const QModelIndex &right) const override
 
virtual QVariant data (const QModelIndex &index, int role) const override
 
virtual bool hasChildren (const QModelIndex &parent) const override
 

Constructor & Destructor Documentation

◆ CrossReferenceFilterProxyModel()

CrossReferenceFilterProxyModel::CrossReferenceFilterProxyModel ( QObject * parent,
bool table )

Member Function Documentation

◆ nextValidIndex()

QModelIndex CrossReferenceFilterProxyModel::nextValidIndex ( const QModelIndex & current) const

◆ getFirstLeaf()

QModelIndex CrossReferenceFilterProxyModel::getFirstLeaf ( const QModelIndex & index) const

◆ prevValidIndex()

QModelIndex CrossReferenceFilterProxyModel::prevValidIndex ( const QModelIndex & current) const

◆ getLastLeaf()

QModelIndex CrossReferenceFilterProxyModel::getLastLeaf ( const QModelIndex & index) const

◆ filterAcceptsRow()

virtual bool CrossReferenceFilterProxyModel::filterAcceptsRow ( int sourceRow,
const QModelIndex & sourceParent ) const
overrideprotectedvirtual

◆ lessThan()

virtual bool CrossReferenceFilterProxyModel::lessThan ( const QModelIndex & left,
const QModelIndex & right ) const
overrideprotectedvirtual

◆ data()

virtual QVariant CrossReferenceFilterProxyModel::data ( const QModelIndex & index,
int role ) const
overrideprotectedvirtual

◆ hasChildren()

virtual bool CrossReferenceFilterProxyModel::hasChildren ( const QModelIndex & parent) const
overrideprotectedvirtual

◆ directionChanged

void CrossReferenceFilterProxyModel::directionChanged ( int index,
bool checked )
slot

◆ typeChanged

void CrossReferenceFilterProxyModel::typeChanged ( int index,
bool checked )
slot

◆ CrossReferenceContainer

class CrossReferenceContainer

Public Member Functions

 CrossReferenceContainer (CrossReferenceWidget *parent, ViewFrame *view, BinaryViewRef data)
 
virtual ~CrossReferenceContainer ()
 
virtual QModelIndex translateIndex (const QModelIndex &idx) const =0
 
virtual bool getReference (const QModelIndex &idx, XrefItem **refPtr) const =0
 
virtual QModelIndex nextIndex ()=0
 
virtual QModelIndex prevIndex ()=0
 
virtual QModelIndexList selectedRows () const =0
 
virtual bool hasSelection () const =0
 
virtual void setNewSelection (std::vector< XrefItem > &refs, bool newRefTarget, const SelectionInfoForXref &ref)=0
 
virtual void updateFonts ()=0
 
virtual int leafCount () const =0
 
virtual int filteredCount () const =0
 
virtual void updateMaxUIItems (size_t value)=0
 

Protected Attributes

ViewFramem_view
 
CrossReferenceWidgetm_parent
 
BinaryViewRef m_data
 
UIActionHandler m_actionHandler
 
SelectionInfoForXref m_curRef
 

Constructor & Destructor Documentation

◆ CrossReferenceContainer()

CrossReferenceContainer::CrossReferenceContainer ( CrossReferenceWidget * parent,
ViewFrame * view,
BinaryViewRef data )

◆ ~CrossReferenceContainer()

virtual CrossReferenceContainer::~CrossReferenceContainer ( )
virtual

Member Function Documentation

◆ translateIndex()

virtual QModelIndex CrossReferenceContainer::translateIndex ( const QModelIndex & idx) const
pure virtual

◆ getReference()

virtual bool CrossReferenceContainer::getReference ( const QModelIndex & idx,
XrefItem ** refPtr ) const
pure virtual

◆ nextIndex()

virtual QModelIndex CrossReferenceContainer::nextIndex ( )
pure virtual

◆ prevIndex()

virtual QModelIndex CrossReferenceContainer::prevIndex ( )
pure virtual

◆ selectedRows()

virtual QModelIndexList CrossReferenceContainer::selectedRows ( ) const
pure virtual

◆ hasSelection()

virtual bool CrossReferenceContainer::hasSelection ( ) const
pure virtual

◆ setNewSelection()

virtual void CrossReferenceContainer::setNewSelection ( std::vector< XrefItem > & refs,
bool newRefTarget,
const SelectionInfoForXref & ref )
pure virtual

◆ updateFonts()

virtual void CrossReferenceContainer::updateFonts ( )
pure virtual

◆ leafCount()

virtual int CrossReferenceContainer::leafCount ( ) const
pure virtual

◆ filteredCount()

virtual int CrossReferenceContainer::filteredCount ( ) const
pure virtual

◆ updateMaxUIItems()

virtual void CrossReferenceContainer::updateMaxUIItems ( size_t value)
pure virtual

Member Data Documentation

◆ m_view

ViewFrame* CrossReferenceContainer::m_view
protected

◆ m_parent

CrossReferenceWidget* CrossReferenceContainer::m_parent
protected

◆ m_data

BinaryViewRef CrossReferenceContainer::m_data
protected

◆ m_actionHandler

UIActionHandler CrossReferenceContainer::m_actionHandler
protected

◆ m_curRef

SelectionInfoForXref CrossReferenceContainer::m_curRef
protected

◆ CrossReferenceTree

class CrossReferenceTree

Public Slots

void doRepaint ()
 

Signals

void newSelection ()
 
void modelUpdated ()
 
void functionUpdated (FunctionRef func)
 

Public Member Functions

 CrossReferenceTree (CrossReferenceWidget *parent, ViewFrame *view, BinaryViewRef data)
 
virtual ~CrossReferenceTree ()
 
void setNewSelection (std::vector< XrefItem > &refs, bool newRefTarget, const SelectionInfoForXref &ref) override
 
virtual QModelIndex nextIndex () override
 
virtual QModelIndex prevIndex () override
 
virtual bool hasSelection () const override
 
virtual void mouseMoveEvent (QMouseEvent *e) override
 
virtual void mousePressEvent (QMouseEvent *e) override
 
virtual void keyPressEvent (QKeyEvent *e) override
 
virtual bool event (QEvent *event) override
 
virtual QModelIndexList selectedRows () const override
 
virtual QModelIndex translateIndex (const QModelIndex &idx) const override
 
virtual void updateFonts () override
 
virtual int leafCount () const override
 
virtual int filteredCount () const override
 
void updateTextFilter (const QString &filterText)
 
virtual void updateMaxUIItems (size_t count) override
 
void setGraphType (const BinaryNinja::FunctionViewType &type)
 
virtual void OnAnalysisFunctionUpdated (BinaryNinja::BinaryView *view, BinaryNinja::Function *func) override
 
- Public Member Functions inherited from CrossReferenceContainer
 CrossReferenceContainer (CrossReferenceWidget *parent, ViewFrame *view, BinaryViewRef data)
 
virtual ~CrossReferenceContainer ()
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated.
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree.
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree.
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another.
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component.
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component.
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component.
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component.
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View.
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View.
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected.
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected.
 
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history.
 
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone.
 
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone.
 
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased.
 

Protected Member Functions

void drawBranches (QPainter *painter, const QRect &rect, const QModelIndex &index) const override
 
virtual bool getReference (const QModelIndex &idx, XrefItem **refPtr) const override
 
virtual void scrollContentsBy (int dx, int dy) override
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryRemoved = 1ULL << 40 , ExternalLibraryUpdated = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationRemoved = 1ULL << 43 ,
  ExternalLocationUpdated = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , UndoEntryAdded = 1ULL << 49 , UndoEntryTaken = 1ULL << 50 , RedoEntryTaken = 1ULL << 51 ,
  Rebased = 1ULL << 52 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , ExternalLibraryLifetime = ExternalLibraryAdded | ExternalLibraryRemoved , ExternalLibraryUpdates = ExternalLibraryLifetime | ExternalLibraryUpdated ,
  ExternalLocationLifetime = ExternalLocationAdded | ExternalLocationRemoved , ExternalLocationUpdates = ExternalLocationLifetime | ExternalLocationUpdated , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected , UndoUpdates = UndoEntryAdded | UndoEntryTaken | RedoEntryTaken
}
 
using NotificationTypes = uint64_t
 
- Protected Attributes inherited from CrossReferenceContainer
ViewFramem_view
 
CrossReferenceWidgetm_parent
 
BinaryViewRef m_data
 
UIActionHandler m_actionHandler
 
SelectionInfoForXref m_curRef
 

Constructor & Destructor Documentation

◆ CrossReferenceTree()

CrossReferenceTree::CrossReferenceTree ( CrossReferenceWidget * parent,
ViewFrame * view,
BinaryViewRef data )

◆ ~CrossReferenceTree()

virtual CrossReferenceTree::~CrossReferenceTree ( )
virtual

Member Function Documentation

◆ drawBranches()

void CrossReferenceTree::drawBranches ( QPainter * painter,
const QRect & rect,
const QModelIndex & index ) const
overrideprotected

◆ getReference()

virtual bool CrossReferenceTree::getReference ( const QModelIndex & idx,
XrefItem ** refPtr ) const
overrideprotectedvirtual

◆ scrollContentsBy()

virtual void CrossReferenceTree::scrollContentsBy ( int dx,
int dy )
overrideprotectedvirtual

◆ setNewSelection()

void CrossReferenceTree::setNewSelection ( std::vector< XrefItem > & refs,
bool newRefTarget,
const SelectionInfoForXref & ref )
overridevirtual

◆ nextIndex()

virtual QModelIndex CrossReferenceTree::nextIndex ( )
overridevirtual

◆ prevIndex()

virtual QModelIndex CrossReferenceTree::prevIndex ( )
overridevirtual

◆ hasSelection()

virtual bool CrossReferenceTree::hasSelection ( ) const
inlineoverridevirtual

◆ mouseMoveEvent()

virtual void CrossReferenceTree::mouseMoveEvent ( QMouseEvent * e)
overridevirtual

◆ mousePressEvent()

virtual void CrossReferenceTree::mousePressEvent ( QMouseEvent * e)
overridevirtual

◆ keyPressEvent()

virtual void CrossReferenceTree::keyPressEvent ( QKeyEvent * e)
overridevirtual

◆ event()

virtual bool CrossReferenceTree::event ( QEvent * event)
overridevirtual

◆ selectedRows()

virtual QModelIndexList CrossReferenceTree::selectedRows ( ) const
inlineoverridevirtual

◆ translateIndex()

virtual QModelIndex CrossReferenceTree::translateIndex ( const QModelIndex & idx) const
inlineoverridevirtual

◆ updateFonts()

virtual void CrossReferenceTree::updateFonts ( )
overridevirtual

◆ leafCount()

virtual int CrossReferenceTree::leafCount ( ) const
overridevirtual

◆ filteredCount()

virtual int CrossReferenceTree::filteredCount ( ) const
overridevirtual

◆ updateTextFilter()

void CrossReferenceTree::updateTextFilter ( const QString & filterText)

◆ updateMaxUIItems()

virtual void CrossReferenceTree::updateMaxUIItems ( size_t count)
overridevirtual

◆ setGraphType()

void CrossReferenceTree::setGraphType ( const BinaryNinja::FunctionViewType & type)
inline

◆ OnAnalysisFunctionUpdated()

virtual void CrossReferenceTree::OnAnalysisFunctionUpdated ( BinaryNinja::BinaryView * view,
BinaryNinja::Function * func )
overridevirtual

◆ newSelection

void CrossReferenceTree::newSelection ( )
signal

◆ modelUpdated

void CrossReferenceTree::modelUpdated ( )
signal

◆ functionUpdated

void CrossReferenceTree::functionUpdated ( FunctionRef func)
signal

◆ doRepaint

void CrossReferenceTree::doRepaint ( )
slot

◆ CrossReferenceTable

class CrossReferenceTable

Public Slots

void doRepaint ()
 
void updateTextFilter (const QString &filterText)
 

Signals

void newSelection ()
 
void modelUpdated ()
 
void functionUpdated (FunctionRef func)
 

Public Member Functions

 CrossReferenceTable (CrossReferenceWidget *parent, ViewFrame *view, BinaryViewRef data)
 
virtual ~CrossReferenceTable ()
 
void updateFontAndHeaderSize ()
 
void setNewSelection (std::vector< XrefItem > &refs, bool newRefTarget, const SelectionInfoForXref &ref) override
 
virtual QModelIndex nextIndex () override
 
virtual QModelIndex prevIndex () override
 
virtual bool hasSelection () const override
 
virtual QModelIndexList selectedRows () const override
 
virtual bool getReference (const QModelIndex &idx, XrefItem **refPtr) const override
 
virtual void mouseMoveEvent (QMouseEvent *e) override
 
virtual void mousePressEvent (QMouseEvent *e) override
 
virtual void keyPressEvent (QKeyEvent *e) override
 
virtual bool event (QEvent *event) override
 
virtual QModelIndex translateIndex (const QModelIndex &idx) const override
 
virtual void updateFonts () override
 
virtual int leafCount () const override
 
virtual int filteredCount () const override
 
virtual void updateMaxUIItems (size_t count) override
 
void setGraphType (const BinaryNinja::FunctionViewType &type)
 
virtual void OnAnalysisFunctionUpdated (BinaryNinja::BinaryView *view, BinaryNinja::Function *func) override
 
- Public Member Functions inherited from CrossReferenceContainer
 CrossReferenceContainer (CrossReferenceWidget *parent, ViewFrame *view, BinaryViewRef data)
 
virtual ~CrossReferenceContainer ()
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated.
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree.
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree.
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another.
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component.
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component.
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component.
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component.
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View.
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View.
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected.
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected.
 
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history.
 
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone.
 
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone.
 
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased.
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryRemoved = 1ULL << 40 , ExternalLibraryUpdated = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationRemoved = 1ULL << 43 ,
  ExternalLocationUpdated = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , UndoEntryAdded = 1ULL << 49 , UndoEntryTaken = 1ULL << 50 , RedoEntryTaken = 1ULL << 51 ,
  Rebased = 1ULL << 52 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , ExternalLibraryLifetime = ExternalLibraryAdded | ExternalLibraryRemoved , ExternalLibraryUpdates = ExternalLibraryLifetime | ExternalLibraryUpdated ,
  ExternalLocationLifetime = ExternalLocationAdded | ExternalLocationRemoved , ExternalLocationUpdates = ExternalLocationLifetime | ExternalLocationUpdated , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected , UndoUpdates = UndoEntryAdded | UndoEntryTaken | RedoEntryTaken
}
 
using NotificationTypes = uint64_t
 
- Protected Attributes inherited from CrossReferenceContainer
ViewFramem_view
 
CrossReferenceWidgetm_parent
 
BinaryViewRef m_data
 
UIActionHandler m_actionHandler
 
SelectionInfoForXref m_curRef
 

Constructor & Destructor Documentation

◆ CrossReferenceTable()

CrossReferenceTable::CrossReferenceTable ( CrossReferenceWidget * parent,
ViewFrame * view,
BinaryViewRef data )

◆ ~CrossReferenceTable()

virtual CrossReferenceTable::~CrossReferenceTable ( )
virtual

Member Function Documentation

◆ updateFontAndHeaderSize()

void CrossReferenceTable::updateFontAndHeaderSize ( )

◆ setNewSelection()

void CrossReferenceTable::setNewSelection ( std::vector< XrefItem > & refs,
bool newRefTarget,
const SelectionInfoForXref & ref )
overridevirtual

◆ nextIndex()

virtual QModelIndex CrossReferenceTable::nextIndex ( )
overridevirtual

◆ prevIndex()

virtual QModelIndex CrossReferenceTable::prevIndex ( )
overridevirtual

◆ hasSelection()

virtual bool CrossReferenceTable::hasSelection ( ) const
inlineoverridevirtual

◆ selectedRows()

virtual QModelIndexList CrossReferenceTable::selectedRows ( ) const
inlineoverridevirtual

◆ getReference()

virtual bool CrossReferenceTable::getReference ( const QModelIndex & idx,
XrefItem ** refPtr ) const
overridevirtual

◆ mouseMoveEvent()

virtual void CrossReferenceTable::mouseMoveEvent ( QMouseEvent * e)
overridevirtual

◆ mousePressEvent()

virtual void CrossReferenceTable::mousePressEvent ( QMouseEvent * e)
overridevirtual

◆ keyPressEvent()

virtual void CrossReferenceTable::keyPressEvent ( QKeyEvent * e)
overridevirtual

◆ event()

virtual bool CrossReferenceTable::event ( QEvent * event)
overridevirtual

◆ translateIndex()

virtual QModelIndex CrossReferenceTable::translateIndex ( const QModelIndex & idx) const
inlineoverridevirtual

◆ updateFonts()

virtual void CrossReferenceTable::updateFonts ( )
overridevirtual

◆ leafCount()

virtual int CrossReferenceTable::leafCount ( ) const
overridevirtual

◆ filteredCount()

virtual int CrossReferenceTable::filteredCount ( ) const
overridevirtual

◆ updateMaxUIItems()

virtual void CrossReferenceTable::updateMaxUIItems ( size_t count)
overridevirtual

◆ setGraphType()

void CrossReferenceTable::setGraphType ( const BinaryNinja::FunctionViewType & type)
inline

◆ OnAnalysisFunctionUpdated()

virtual void CrossReferenceTable::OnAnalysisFunctionUpdated ( BinaryNinja::BinaryView * view,
BinaryNinja::Function * func )
overridevirtual

◆ doRepaint

void CrossReferenceTable::doRepaint ( )
slot

◆ updateTextFilter

void CrossReferenceTable::updateTextFilter ( const QString & filterText)
slot

◆ newSelection

void CrossReferenceTable::newSelection ( )
signal

◆ modelUpdated

void CrossReferenceTable::modelUpdated ( )
signal

◆ functionUpdated

void CrossReferenceTable::functionUpdated ( FunctionRef func)
signal

◆ CrossReferenceWidget

class CrossReferenceWidget

Public Slots

void referenceActivated (const QModelIndex &idx)
 
void pinnedStateChanged (bool state)
 
void selectionChanged ()
 
void typeChanged (int index, bool checked)
 
void directionChanged (int change, bool checked)
 

Public Member Functions

 CrossReferenceWidget (ViewFrame *view, BinaryViewRef data, bool pinned)
 
virtual ~CrossReferenceWidget ()
 
virtual void notifyFontChanged () override
 
virtual QString getHeaderText (SelectionInfoForXref selectionInfo)
 
virtual void setCurrentSelection (SelectionInfoForXref selectionInfo)
 
virtual void updateCrossReferences ()
 
virtual void setCurrentPinnedSelection (SelectionInfoForXref selectionInfo)
 
void updatePinnedSelection ()
 
virtual void navigateToNext ()
 
virtual void navigateToPrev ()
 
virtual bool selectFirstRow ()
 
virtual bool hasSelection () const
 
virtual void goToReference (const QModelIndex &idx)
 
virtual void restartHoverTimer (QMouseEvent *e)
 
virtual void startHoverTimer (QMouseEvent *e)
 
virtual void keyPressEvent (QKeyEvent *e) override
 
virtual bool keyPressHandler (QKeyEvent *e)
 
void showEvent (QShowEvent *event) override
 
void useTableView (bool tableView, bool init, bool updateSetting)
 
bool tableView () const
 
bool uiMaxItemsExceeded () const
 
void setUIMaxItemsExceeded (bool value)
 
void setGraphType (const BinaryNinja::FunctionViewType &type)
 
virtual void focus () override
 
virtual void OnNewSelectionForXref (UIContext *context, ViewFrame *frame, View *view, const SelectionInfoForXref &selection) override
 Callback when the ui changes selection and should update cross references.
 
virtual QWidget * headerWidget () override
 
virtual void setPrimaryOrientation (Qt::Orientation orientation) override
 
- Public Member Functions inherited from SidebarWidget
 SidebarWidget (const QString &title)
 
 ~SidebarWidget ()
 
const QString & title () const
 
void enableRefreshTimer (int interval)
 
void setRefreshQuiesce (bool enable)
 
bool isQuiesced () const
 
virtual void notifyRefresh ()
 
virtual void notifyQuiesce (bool)
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void closing ()
 
- Public Member Functions inherited from UIContextNotification
virtual ~UIContextNotification ()
 
virtual void OnContextOpen (UIContext *context)
 Callback after a UIContext is opened (eg MainWindow)
 
virtual void OnContextClose (UIContext *context)
 Callback right before closing a UIContext.
 
virtual bool OnBeforeOpenDatabase (UIContext *context, FileMetadataRef metadata)
 Callback before a database (specifically a database, not a raw file) is opened.
 
virtual bool OnAfterOpenDatabase (UIContext *context, FileMetadataRef metadata, BinaryViewRef data)
 Callback after a database (specifically a database, not a raw file) is opened.
 
virtual void OnAfterOpenProject (UIContext *context, ProjectRef project)
 Callback after a project is opened.
 
virtual bool OnBeforeOpenProjectFile (UIContext *context, ProjectFileRef projectFile)
 Callback before a project file is opened.
 
virtual void OnAfterOpenProjectFile (UIContext *context, ProjectFileRef projectFile, ViewFrame *frame)
 Callback after a project file is opened.
 
virtual bool OnBeforeOpenFile (UIContext *context, FileContext *file)
 Callback before a file (raw or database) is opened (after OnAfterOpenDatabase if opening a database)
 
virtual void OnAfterOpenFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file (raw or database) is opened.
 
virtual bool OnBeforeSaveFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback before a file is saved (either as a database or raw)
 
virtual void OnAfterSaveFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file is saved (either as a database or raw)
 
virtual bool OnBeforeCloseFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback before a file is closed.
 
virtual void OnAfterCloseFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file is closed.
 
virtual void OnViewReplaced (UIContext *context, FileContext *file, ViewFrame *oldFrame, ViewFrame *newFrame)
 Callback after a ViewFrame is replaced in an open file (e.g.
 
virtual void OnDataViewReplaced (UIContext *context, FileContext *file, BinaryViewRef oldData, BinaryViewRef newData)
 Callback after a BinaryView is replaced in an open file (e.g.
 
virtual void OnViewChange (UIContext *context, ViewFrame *frame, const QString &type)
 Callback when the ui changes views.
 
virtual void OnAddressChange (UIContext *context, ViewFrame *frame, View *view, const ViewLocation &location)
 Callback when the ui changes address.
 
virtual bool GetNameForFile (UIContext *context, FileContext *file, QString &name)
 Callback to modify the displayed file name for a FileContext (eg in the window title or tab title) Note: Due to the out param &name, this is not usable from Python with PySide.
 
virtual bool GetNameForPath (UIContext *context, const QString &path, QString &name)
 Callback to modify the displayed file name for a file path (eg in the new tab widget) Note: Due to the out param &name, this is not usable from Python with PySide.
 
virtual void OnActionExecuted (UIContext *context, UIActionHandler *handler, const QString &name, const UIActionContext &ctx, std::function< void(const UIActionContext &)> &action)
 Callback when an action is executed, allowing plugins to intercept and modify the behavior of the action.
 
virtual void OnContextMenuCreated (UIContext *context, View *view, Menu &menu)
 Callback when a context menu is created, allowing plugins to modify the menu, e.g., registering and adding new actions into it.
 

Additional Inherited Members

- Protected Attributes inherited from SidebarWidget
QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
bool m_quiesceState = true
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ CrossReferenceWidget()

CrossReferenceWidget::CrossReferenceWidget ( ViewFrame * view,
BinaryViewRef data,
bool pinned )

◆ ~CrossReferenceWidget()

virtual CrossReferenceWidget::~CrossReferenceWidget ( )
virtual

Member Function Documentation

◆ notifyFontChanged()

virtual void CrossReferenceWidget::notifyFontChanged ( )
overridevirtual

Reimplemented from SidebarWidget.

◆ getHeaderText()

virtual QString CrossReferenceWidget::getHeaderText ( SelectionInfoForXref selectionInfo)
virtual

◆ setCurrentSelection()

virtual void CrossReferenceWidget::setCurrentSelection ( SelectionInfoForXref selectionInfo)
virtual

◆ updateCrossReferences()

virtual void CrossReferenceWidget::updateCrossReferences ( )
virtual

◆ setCurrentPinnedSelection()

virtual void CrossReferenceWidget::setCurrentPinnedSelection ( SelectionInfoForXref selectionInfo)
virtual

◆ updatePinnedSelection()

void CrossReferenceWidget::updatePinnedSelection ( )

◆ navigateToNext()

virtual void CrossReferenceWidget::navigateToNext ( )
virtual

◆ navigateToPrev()

virtual void CrossReferenceWidget::navigateToPrev ( )
virtual

◆ selectFirstRow()

virtual bool CrossReferenceWidget::selectFirstRow ( )
virtual

◆ hasSelection()

virtual bool CrossReferenceWidget::hasSelection ( ) const
virtual

◆ goToReference()

virtual void CrossReferenceWidget::goToReference ( const QModelIndex & idx)
virtual

◆ restartHoverTimer()

virtual void CrossReferenceWidget::restartHoverTimer ( QMouseEvent * e)
virtual

◆ startHoverTimer()

virtual void CrossReferenceWidget::startHoverTimer ( QMouseEvent * e)
virtual

◆ keyPressEvent()

virtual void CrossReferenceWidget::keyPressEvent ( QKeyEvent * e)
overridevirtual

◆ keyPressHandler()

virtual bool CrossReferenceWidget::keyPressHandler ( QKeyEvent * e)
virtual

◆ showEvent()

void CrossReferenceWidget::showEvent ( QShowEvent * event)
override

◆ useTableView()

void CrossReferenceWidget::useTableView ( bool tableView,
bool init,
bool updateSetting )

◆ tableView()

bool CrossReferenceWidget::tableView ( ) const
inline

◆ uiMaxItemsExceeded()

bool CrossReferenceWidget::uiMaxItemsExceeded ( ) const
inline

◆ setUIMaxItemsExceeded()

void CrossReferenceWidget::setUIMaxItemsExceeded ( bool value)
inline

◆ setGraphType()

void CrossReferenceWidget::setGraphType ( const BinaryNinja::FunctionViewType & type)

◆ focus()

virtual void CrossReferenceWidget::focus ( )
overridevirtual

Reimplemented from SidebarWidget.

◆ OnNewSelectionForXref()

virtual void CrossReferenceWidget::OnNewSelectionForXref ( UIContext * context,
ViewFrame * frame,
View * view,
const SelectionInfoForXref & selection )
overridevirtual

Callback when the ui changes selection and should update cross references.

Parameters
contextContext changing selection
frameViewFrame which changed selection
viewView that changed selection
selectionNew selection

Reimplemented from UIContextNotification.

◆ headerWidget()

virtual QWidget * CrossReferenceWidget::headerWidget ( )
inlineoverridevirtual

Reimplemented from SidebarWidget.

◆ setPrimaryOrientation()

virtual void CrossReferenceWidget::setPrimaryOrientation ( Qt::Orientation orientation)
overridevirtual

Reimplemented from SidebarWidget.

◆ referenceActivated

void CrossReferenceWidget::referenceActivated ( const QModelIndex & idx)
slot

◆ pinnedStateChanged

void CrossReferenceWidget::pinnedStateChanged ( bool state)
slot

◆ selectionChanged

void CrossReferenceWidget::selectionChanged ( )
slot

◆ typeChanged

void CrossReferenceWidget::typeChanged ( int index,
bool checked )
slot

◆ directionChanged

void CrossReferenceWidget::directionChanged ( int change,
bool checked )
slot

◆ CrossReferenceSidebarWidgetType

class CrossReferenceSidebarWidgetType

Public Member Functions

 CrossReferenceSidebarWidgetType ()
 
virtual bool isInReferenceArea () const override
 
virtual SidebarWidgetcreateWidget (ViewFrame *frame, BinaryViewRef data) override
 
- Public Member Functions inherited from SidebarWidgetType
 SidebarWidgetType (const QImage &icon, const QString &name)
 
virtual ~SidebarWidgetType ()
 
const SidebarIconicon () const
 
const QString & name () const
 
virtual bool viewSensitive () const
 
virtual SidebarWidgetLocation defaultLocation () const
 
virtual SidebarContextSensitivity contextSensitivity () const
 
virtual bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
virtual QWidget * headerWidget (SplitPaneWidget *, ViewFrame *, BinaryViewRef)
 
virtual bool focusHeaderWidget () const
 
virtual QString noWidgetMessage () const
 
virtual DockableTabStyletabStyle () const
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const
 
virtual PanecreatePane (SplitPaneWidget *, BinaryViewRef)
 
void updateTheme ()
 

Constructor & Destructor Documentation

◆ CrossReferenceSidebarWidgetType()

CrossReferenceSidebarWidgetType::CrossReferenceSidebarWidgetType ( )

Member Function Documentation

◆ isInReferenceArea()

virtual bool CrossReferenceSidebarWidgetType::isInReferenceArea ( ) const
inlineoverridevirtual
Deprecated
Use `defaultLocation()`

Reimplemented from SidebarWidgetType.

◆ createWidget()

virtual SidebarWidget * CrossReferenceSidebarWidgetType::createWidget ( ViewFrame * frame,
BinaryViewRef data )
overridevirtual

Reimplemented from SidebarWidgetType.