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 }
 

Public Member Functions

 XrefItem ()
 
 XrefItem (XrefHeader *parent, XrefType type, FunctionRef func)
 
 XrefItem (BinaryNinja::ReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 
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 

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 
)
explicit

◆ XrefItem() [4/7]

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

◆ XrefItem() [5/7]

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

◆ XrefItem() [6/7]

XrefItem::XrefItem ( BinaryNinja::Variable  var,
BinaryNinja::ILReferenceSource  ref,
XrefType  type,
XrefDirection  direction 
)
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

◆ 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_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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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

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
 
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 }
 

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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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
 
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)
 
 XrefItem (uint64_t addr, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::TypeReferenceSource ref, XrefType type, XrefDirection direction)
 
 XrefItem (BinaryNinja::Variable var, BinaryNinja::ILReferenceSource ref, XrefType type, XrefDirection direction)
 
 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
 
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
 

Additional Inherited Members

- Public Types inherited from XrefItem
enum  XrefDirection { Forward , Backward }
 
enum  XrefType { DataXrefType , CodeXrefType , VariableXrefType , TypeXrefType }
 
- 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
 
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 (BNFunctionGraphType 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 ( BNFunctionGraphType  type)
inline

◆ 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 (BNFunctionGraphType 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 ( BNFunctionGraphType  type)
inline

◆ 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 (BNFunctionGraphType 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 ()
 
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
 
- 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 OnAnalysisFunctionUpdated (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. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
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. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (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. More...
 
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. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 

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 ,
  ExternalLibraryUpdated = 1ULL << 40 , ExternalLibraryRemoved = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationUpdated = 1ULL << 43 ,
  ExternalLocationRemoved = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , 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 , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected
}
 
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 ( BNFunctionGraphType  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 (BNFunctionGraphType 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 ()
 
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
 
- 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 OnAnalysisFunctionUpdated (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. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
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. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (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. More...
 
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. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 

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 ,
  ExternalLibraryUpdated = 1ULL << 40 , ExternalLibraryRemoved = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationUpdated = 1ULL << 43 ,
  ExternalLocationRemoved = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , 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 , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected
}
 
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 ( BNFunctionGraphType  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 useTableView (bool tableView, bool init, bool updateSetting)
 
bool tableView () const
 
bool uiMaxItemsExceeded () const
 
void setUIMaxItemsExceeded (bool value)
 
void setGraphType (BNFunctionGraphType 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. More...
 
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)
 
virtual void notifyRefresh ()
 
virtual void notifyFontChanged ()
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void focus ()
 
virtual void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 
virtual QWidget * headerWidget ()
 
- Public Member Functions inherited from UIContextNotification
virtual ~UIContextNotification ()
 
virtual void OnContextOpen (UIContext *context)
 Callback after a UIContext is opened (eg MainWindow) More...
 
virtual void OnContextClose (UIContext *context)
 Callback right before closing a UIContext. More...
 
virtual bool OnBeforeOpenDatabase (UIContext *context, FileMetadataRef metadata)
 Callback before a database (specifically a database, not a raw file) is opened. More...
 
virtual bool OnAfterOpenDatabase (UIContext *context, FileMetadataRef metadata, BinaryViewRef data)
 Callback after a database (specifically a database, not a raw file) is opened. More...
 
virtual void OnAfterOpenProject (UIContext *context, ProjectRef project)
 Callback after a project is opened. More...
 
virtual bool OnBeforeOpenProjectFile (UIContext *context, ProjectFileRef projectFile)
 Callback before a project file is opened. More...
 
virtual void OnAfterOpenProjectFile (UIContext *context, ProjectFileRef projectFile, ViewFrame *frame)
 Callback after a project file is opened. More...
 
virtual bool OnBeforeOpenFile (UIContext *context, FileContext *file)
 Callback before a file (raw or database) is opened (after OnAfterOpenDatabase if opening a database) More...
 
virtual void OnAfterOpenFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file (raw or database) is opened. More...
 
virtual bool OnBeforeSaveFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback before a file is saved (either as a database or raw) More...
 
virtual void OnAfterSaveFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file is saved (either as a database or raw) More...
 
virtual bool OnBeforeCloseFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback before a file is closed. More...
 
virtual void OnAfterCloseFile (UIContext *context, FileContext *file, ViewFrame *frame)
 Callback after a file is closed. More...
 
virtual void OnViewReplaced (UIContext *context, FileContext *file, ViewFrame *oldFrame, ViewFrame *newFrame)
 Callback after a ViewFrame is replaced in an open file (e.g. More...
 
virtual void OnDataViewReplaced (UIContext *context, FileContext *file, BinaryViewRef oldData, BinaryViewRef newData)
 Callback after a BinaryView is replaced in an open file (e.g. More...
 
virtual void OnViewChange (UIContext *context, ViewFrame *frame, const QString &type)
 Callback when the ui changes views. More...
 
virtual void OnAddressChange (UIContext *context, ViewFrame *frame, View *view, const ViewLocation &location)
 Callback when the ui changes address. More...
 
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. More...
 
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. More...
 
virtual void OnNewSelectionForXref (UIContext *context, ViewFrame *frame, View *view, const SelectionInfoForXref &selection)
 Callback when the ui changes selection and should update cross references. More...
 
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. More...
 

Additional Inherited Members

- Protected Attributes inherited from SidebarWidget
QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
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

◆ 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 ( BNFunctionGraphType  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 isInReferenceArea () const
 
virtual bool viewSensitive () const
 
virtual SidebarWidgetLocation defaultLocation () const
 
virtual SidebarContextSensitivity contextSensitivity () const
 
virtual bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarWidgetcreateWidget (ViewFrame *, BinaryViewRef)
 
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.