TagList

Detailed Description

Classes

class  TagListModel
 
class  TagItemDelegate
 
class  TagList
 
class  TagListWidget
 
class  TagListDialog
 
class  TagListSidebarWidgetType
 

Class Documentation

◆ TagListModel

class TagListModel

Public Member Functions

 TagListModel (QWidget *parent, BinaryViewRef data)
 
virtual ~TagListModel ()
 
BinaryNinja::TagReferenceGetRef (const QModelIndex &index)
 
const BinaryNinja::TagReferenceGetRef (const QModelIndex &index) const
 
void SetSectionSizeHints (const std::map< int, QSize > &sizes)
 
TagTypeRef GetTypeRef (const QModelIndex &index)
 
const TagTypeRef GetTypeRef (const QModelIndex &index) const
 
virtual QModelIndex index (int row, int col, const QModelIndex &parent) const override
 
virtual QModelIndex parent (const QModelIndex &i) const override
 
virtual bool hasChildren (const QModelIndex &parent) const override
 
virtual int rowCount (const QModelIndex &parent) const override
 
virtual int columnCount (const QModelIndex &parent) const override
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const override
 
virtual QVariant data (const QModelIndex &i, int role) const override
 
virtual bool setData (const QModelIndex &i, const QVariant &value, int role=Qt::EditRole) override
 
virtual Qt::ItemFlags flags (const QModelIndex &i) const override
 
virtual void sort (int column, Qt::SortOrder order) override
 
virtual void OnTagAdded (BinaryNinja::BinaryView *, const BinaryNinja::TagReference &) override
 
virtual void OnTagRemoved (BinaryNinja::BinaryView *, const BinaryNinja::TagReference &) override
 
bool setModelData (const std::vector< std::pair< TagTypeRef, std::vector< BinaryNinja::TagReference > > > &refs, QItemSelectionModel *selectionModel, int sortColumn, Qt::SortOrder sortOrder, bool &selectionUpdated)
 
- 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...
 

Protected Attributes

QWidget * m_owner
 
BinaryViewRef m_data
 
std::map< TagTypeRef, size_t > m_typeIndexes
 
std::vector< std::pair< TagTypeRef, std::vector< BinaryNinja::TagReference > > > m_refs
 
std::map< int, QSize > m_sectionSizeHints
 
std::map< std::string, uint64_t > m_count
 
DisassemblySettingsRef m_settings
 

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 , 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 = ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved
}
 
using NotificationTypes = uint64_t
 

Constructor & Destructor Documentation

◆ TagListModel()

TagListModel::TagListModel ( QWidget *  parent,
BinaryViewRef  data 
)

◆ ~TagListModel()

virtual TagListModel::~TagListModel ( )
virtual

Member Function Documentation

◆ GetRef() [1/2]

BinaryNinja::TagReference & TagListModel::GetRef ( const QModelIndex &  index)

◆ GetRef() [2/2]

const BinaryNinja::TagReference & TagListModel::GetRef ( const QModelIndex &  index) const

◆ SetSectionSizeHints()

void TagListModel::SetSectionSizeHints ( const std::map< int, QSize > &  sizes)
inline

◆ GetTypeRef() [1/2]

TagTypeRef TagListModel::GetTypeRef ( const QModelIndex &  index)

◆ GetTypeRef() [2/2]

const TagTypeRef TagListModel::GetTypeRef ( const QModelIndex &  index) const

◆ index()

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

◆ parent()

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

◆ hasChildren()

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

◆ rowCount()

virtual int TagListModel::rowCount ( const QModelIndex &  parent) const
overridevirtual

◆ columnCount()

virtual int TagListModel::columnCount ( const QModelIndex &  parent) const
overridevirtual

◆ headerData()

virtual QVariant TagListModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role 
) const
overridevirtual

◆ data()

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

◆ setData()

virtual bool TagListModel::setData ( const QModelIndex &  i,
const QVariant &  value,
int  role = Qt::EditRole 
)
overridevirtual

◆ flags()

virtual Qt::ItemFlags TagListModel::flags ( const QModelIndex &  i) const
overridevirtual

◆ sort()

virtual void TagListModel::sort ( int  column,
Qt::SortOrder  order 
)
overridevirtual

◆ OnTagAdded()

virtual void TagListModel::OnTagAdded ( BinaryNinja::BinaryView ,
const BinaryNinja::TagReference  
)
overridevirtual

◆ OnTagRemoved()

virtual void TagListModel::OnTagRemoved ( BinaryNinja::BinaryView ,
const BinaryNinja::TagReference  
)
overridevirtual

◆ setModelData()

bool TagListModel::setModelData ( const std::vector< std::pair< TagTypeRef, std::vector< BinaryNinja::TagReference > > > &  refs,
QItemSelectionModel *  selectionModel,
int  sortColumn,
Qt::SortOrder  sortOrder,
bool &  selectionUpdated 
)

Member Data Documentation

◆ m_owner

QWidget* TagListModel::m_owner
protected

◆ m_data

BinaryViewRef TagListModel::m_data
protected

◆ m_typeIndexes

std::map<TagTypeRef, size_t> TagListModel::m_typeIndexes
protected

◆ m_refs

std::vector<std::pair<TagTypeRef, std::vector<BinaryNinja::TagReference> > > TagListModel::m_refs
protected

◆ m_sectionSizeHints

std::map<int, QSize> TagListModel::m_sectionSizeHints
protected

◆ m_count

std::map<std::string, uint64_t> TagListModel::m_count
protected

◆ m_settings

DisassemblySettingsRef TagListModel::m_settings
protected

◆ TagItemDelegate

class TagItemDelegate

Public Member Functions

 TagItemDelegate (QWidget *parent)
 
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 setEditorData (QWidget *editor, const QModelIndex &index) const override
 

Protected Member Functions

void initFont ()
 

Protected Attributes

QFont m_font
 
QFont m_monospaceFont
 
QFont m_emojiFont
 
int m_baseline
 
int m_charWidth
 
int m_charHeight
 
int m_charOffset
 

Constructor & Destructor Documentation

◆ TagItemDelegate()

TagItemDelegate::TagItemDelegate ( QWidget *  parent)

Member Function Documentation

◆ initFont()

void TagItemDelegate::initFont ( )
protected

◆ updateFonts()

void TagItemDelegate::updateFonts ( )

◆ sizeHint()

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

◆ paint()

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

◆ setEditorData()

virtual void TagItemDelegate::setEditorData ( QWidget *  editor,
const QModelIndex &  index 
) const
overridevirtual

Member Data Documentation

◆ m_font

QFont TagItemDelegate::m_font
protected

◆ m_monospaceFont

QFont TagItemDelegate::m_monospaceFont
protected

◆ m_emojiFont

QFont TagItemDelegate::m_emojiFont
protected

◆ m_baseline

int TagItemDelegate::m_baseline
protected

◆ m_charWidth

int TagItemDelegate::m_charWidth
protected

◆ m_charHeight

int TagItemDelegate::m_charHeight
protected

◆ m_charOffset

int TagItemDelegate::m_charOffset
protected

◆ TagList

class TagList

Public Types

typedef std::function< bool(const BinaryNinja::TagReference &)> FilterFn
 
- 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 , 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 = ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved
}
 
using NotificationTypes = uint64_t
 

Public Slots

void showContextMenu ()
 

Public Member Functions

 TagList (QWidget *parent, ViewFrame *view, BinaryViewRef data, TagListModel *model=nullptr, Menu *menu=nullptr)
 
virtual ~TagList ()
 
virtual void setModel (QAbstractItemModel *model) override
 
void notifyFontChanged ()
 
void removeSelection ()
 
void copySelection ()
 
void clearFilter ()
 
void setFilter (FilterFn filter)
 
void setFilterView (FilteredView *filterView)
 
void updateTags ()
 
bool hasSelection ()
 
void navigateToNext ()
 
void navigateToPrev ()
 
void scrollToFirstItem () override
 
void scrollToCurrentItem () override
 
void selectFirstItem () override
 
void activateFirstItem () override
 
- 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...
 
- Public Member Functions inherited from FilterTarget
virtual ~FilterTarget ()
 
virtual void setFilter (const std::string &filter)=0
 
virtual void scrollToFirstItem ()=0
 
virtual void scrollToCurrentItem ()=0
 
virtual void selectFirstItem ()=0
 
virtual void activateFirstItem ()=0
 
virtual void closeFilter ()
 

Static Public Member Functions

static void registerActions ()
 

Protected Member Functions

virtual void contextMenuEvent (QContextMenuEvent *event) override
 
virtual void keyPressEvent (QKeyEvent *e) override
 
virtual void mouseMoveEvent (QMouseEvent *e) override
 
virtual void mousePressEvent (QMouseEvent *e) override
 
virtual void wheelEvent (QWheelEvent *e) override
 
virtual void resizeEvent (QResizeEvent *event) override
 
void goToReference (const QModelIndex &idx)
 
void setFilter (const std::string &filter) override
 
virtual void OnAnalysisFunctionUpdated (BinaryNinja::BinaryView *view, BinaryNinja::Function *func) override
 
virtual void OnTagAdded (BinaryNinja::BinaryView *, const BinaryNinja::TagReference &) override
 
virtual void OnTagUpdated (BinaryNinja::BinaryView *, const BinaryNinja::TagReference &) override
 
virtual void OnTagRemoved (BinaryNinja::BinaryView *, const BinaryNinja::TagReference &) override
 
virtual void OnTagTypeUpdated (BinaryNinja::BinaryView *, TagTypeRef) override
 
virtual void showEvent (QShowEvent *event) override
 
virtual void hideEvent (QHideEvent *event) override
 

Member Typedef Documentation

◆ FilterFn

typedef std::function<bool(const BinaryNinja::TagReference&)> TagList::FilterFn

Constructor & Destructor Documentation

◆ TagList()

TagList::TagList ( QWidget *  parent,
ViewFrame view,
BinaryViewRef  data,
TagListModel model = nullptr,
Menu menu = nullptr 
)

◆ ~TagList()

virtual TagList::~TagList ( )
virtual

Member Function Documentation

◆ contextMenuEvent()

virtual void TagList::contextMenuEvent ( QContextMenuEvent *  event)
overrideprotectedvirtual

◆ keyPressEvent()

virtual void TagList::keyPressEvent ( QKeyEvent *  e)
overrideprotectedvirtual

◆ mouseMoveEvent()

virtual void TagList::mouseMoveEvent ( QMouseEvent *  e)
overrideprotectedvirtual

◆ mousePressEvent()

virtual void TagList::mousePressEvent ( QMouseEvent *  e)
overrideprotectedvirtual

◆ wheelEvent()

virtual void TagList::wheelEvent ( QWheelEvent *  e)
overrideprotectedvirtual

◆ resizeEvent()

virtual void TagList::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

◆ goToReference()

void TagList::goToReference ( const QModelIndex &  idx)
protected

◆ setFilter() [1/2]

void TagList::setFilter ( const std::string &  filter)
overrideprotectedvirtual

Implements FilterTarget.

◆ OnAnalysisFunctionUpdated()

virtual void TagList::OnAnalysisFunctionUpdated ( BinaryNinja::BinaryView view,
BinaryNinja::Function func 
)
overrideprotectedvirtual

◆ OnTagAdded()

virtual void TagList::OnTagAdded ( BinaryNinja::BinaryView ,
const BinaryNinja::TagReference  
)
overrideprotectedvirtual

◆ OnTagUpdated()

virtual void TagList::OnTagUpdated ( BinaryNinja::BinaryView ,
const BinaryNinja::TagReference  
)
overrideprotectedvirtual

◆ OnTagRemoved()

virtual void TagList::OnTagRemoved ( BinaryNinja::BinaryView ,
const BinaryNinja::TagReference  
)
overrideprotectedvirtual

◆ OnTagTypeUpdated()

virtual void TagList::OnTagTypeUpdated ( BinaryNinja::BinaryView ,
TagTypeRef   
)
overrideprotectedvirtual

◆ showEvent()

virtual void TagList::showEvent ( QShowEvent *  event)
overrideprotectedvirtual

◆ hideEvent()

virtual void TagList::hideEvent ( QHideEvent *  event)
overrideprotectedvirtual

◆ showContextMenu

void TagList::showContextMenu ( )
slot

◆ registerActions()

static void TagList::registerActions ( )
static

◆ setModel()

virtual void TagList::setModel ( QAbstractItemModel *  model)
overridevirtual

◆ notifyFontChanged()

void TagList::notifyFontChanged ( )

◆ removeSelection()

void TagList::removeSelection ( )

◆ copySelection()

void TagList::copySelection ( )

◆ clearFilter()

void TagList::clearFilter ( )

◆ setFilter() [2/2]

void TagList::setFilter ( FilterFn  filter)

◆ setFilterView()

void TagList::setFilterView ( FilteredView filterView)
inline

◆ updateTags()

void TagList::updateTags ( )

◆ hasSelection()

bool TagList::hasSelection ( )

◆ navigateToNext()

void TagList::navigateToNext ( )

◆ navigateToPrev()

void TagList::navigateToPrev ( )

◆ scrollToFirstItem()

void TagList::scrollToFirstItem ( )
overridevirtual

Implements FilterTarget.

◆ scrollToCurrentItem()

void TagList::scrollToCurrentItem ( )
overridevirtual

Implements FilterTarget.

◆ selectFirstItem()

void TagList::selectFirstItem ( )
overridevirtual

Implements FilterTarget.

◆ activateFirstItem()

void TagList::activateFirstItem ( )
overridevirtual

Implements FilterTarget.

◆ TagListWidget

class TagListWidget

Public Member Functions

TagListGetList ()
 
void editTag (TagRef tag)
 
TagListgetNotificationList ()
 
FilteredViewgetNotificationFilter ()
 
 TagListWidget (ViewFrame *view, BinaryViewRef data)
 
virtual ~TagListWidget ()
 
virtual void focus () override
 
virtual QWidget * headerWidget () override
 
- Public Member Functions inherited from SidebarWidget
 SidebarWidget (const QString &title)
 
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 QWidget * headerWidget ()
 

Protected Member Functions

virtual void notifyFontChanged () override
 

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

◆ TagListWidget()

TagListWidget::TagListWidget ( ViewFrame view,
BinaryViewRef  data 
)

◆ ~TagListWidget()

virtual TagListWidget::~TagListWidget ( )
virtual

Member Function Documentation

◆ notifyFontChanged()

virtual void TagListWidget::notifyFontChanged ( )
overrideprotectedvirtual

Reimplemented from SidebarWidget.

◆ GetList()

TagList * TagListWidget::GetList ( )

◆ editTag()

void TagListWidget::editTag ( TagRef  tag)

◆ getNotificationList()

TagList * TagListWidget::getNotificationList ( )
inline

◆ getNotificationFilter()

FilteredView * TagListWidget::getNotificationFilter ( )
inline

◆ focus()

virtual void TagListWidget::focus ( )
overridevirtual

Reimplemented from SidebarWidget.

◆ headerWidget()

virtual QWidget * TagListWidget::headerWidget ( )
inlineoverridevirtual

Reimplemented from SidebarWidget.

◆ TagListDialog

class TagListDialog

Public Types

typedef std::function< void(const TagRef &)> AddFn
 

Public Member Functions

 TagListDialog (QWidget *parent, ViewFrame *frame, BinaryViewRef data, AddFn addFn)
 
void setFilter (TagList::FilterFn filter)
 

Member Typedef Documentation

◆ AddFn

typedef std::function<void(const TagRef&)> TagListDialog::AddFn

Constructor & Destructor Documentation

◆ TagListDialog()

TagListDialog::TagListDialog ( QWidget *  parent,
ViewFrame frame,
BinaryViewRef  data,
AddFn  addFn 
)

Member Function Documentation

◆ setFilter()

void TagListDialog::setFilter ( TagList::FilterFn  filter)

◆ TagListSidebarWidgetType

class TagListSidebarWidgetType

Public Member Functions

 TagListSidebarWidgetType ()
 
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 SidebarWidgetcreateWidget (ViewFrame *frame, BinaryViewRef data)=0
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
void updateTheme ()
 

Constructor & Destructor Documentation

◆ TagListSidebarWidgetType()

TagListSidebarWidgetType::TagListSidebarWidgetType ( )

Member Function Documentation

◆ createWidget()

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

Implements SidebarWidgetType.