Binary Ninja API C++: TagList

Classes

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

◆ TagListModel

Signals

void notifyUpdateComplete (bool complete)

Public Member Functions

 TagListModel (QWidget *parent, BinaryViewRef data)
virtual ~TagListModel ()
void connectDataStore ()
void disconnectDataStore ()
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
void backgroundSort (int column, Qt::SortOrder order, TagStorage &tagStorage, TagTypeStorage &tagTypeStorage, TagTypeIndices &tagTypeIndices)
void refresh ()

Protected Attributes

QWidget * m_owner
BinaryViewRef m_data
NotificationsDispatcherm_dispatcher = nullptr
TagTypeStorage m_tagTypes
std::unordered_map< std::string, uint64_t > m_tagTypeCounts
TagStorage m_tagStorage
TagTypeIndices m_tagTypeIndices
std::map< int, QSize > m_sectionSizeHints
DisassemblySettingsRef m_settings

◆ TagListModel()

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

◆ ~TagListModel()

virtual TagListModel::~TagListModel ( )
virtual

◆ connectDataStore()

void TagListModel::connectDataStore ( )

◆ disconnectDataStore()

void TagListModel::disconnectDataStore ( )

◆ GetRef() [1/2]

◆ GetRef() [2/2]

◆ 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

◆ backgroundSort()

void TagListModel::backgroundSort ( int column,
Qt::SortOrder order,
TagStorage & tagStorage,
TagTypeStorage & tagTypeStorage,
TagTypeIndices & tagTypeIndices )

◆ refresh()

void TagListModel::refresh ( )

◆ notifyUpdateComplete

void TagListModel::notifyUpdateComplete ( bool complete)
signal

◆ m_owner

QWidget* TagListModel::m_owner

protected

◆ m_data

◆ m_dispatcher

◆ m_tagTypes

TagTypeStorage TagListModel::m_tagTypes

protected

◆ m_tagTypeCounts

std::unordered_map<std::string, uint64_t> TagListModel::m_tagTypeCounts

protected

◆ m_tagStorage

TagStorage TagListModel::m_tagStorage

protected

◆ m_tagTypeIndices

TagTypeIndices TagListModel::m_tagTypeIndices

protected

◆ m_sectionSizeHints

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

protected

◆ m_settings

◆ 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

◆ TagItemDelegate()

TagItemDelegate::TagItemDelegate ( QWidget * parent)

◆ 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

◆ 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

Public Types

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

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 filterTagReferences (std::vector< BinaryNinja::TagReference > &refs)
void clearFilter ()
void setFilter (FilterFn filter)
void setFilterView (FilteredView *filterView)
bool hasSelection ()
void navigateToNext ()
void navigateToPrev ()
virtual void scrollToFirstItem () override
virtual void scrollToCurrentItem () override
virtual void ensureSelection () override
virtual void activateSelection () override
Public Member Functions inherited from FilterTarget
virtual ~FilterTarget ()
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

◆ FilterFn

◆ TagList()

◆ ~TagList()

virtual TagList::~TagList ( )
virtual

◆ 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

◆ showContextMenu

void TagList::showContextMenu ( )
slot

◆ registerActions()

void TagList::registerActions ( )
static

◆ setModel()

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

◆ notifyFontChanged()

void TagList::notifyFontChanged ( )

◆ removeSelection()

void TagList::removeSelection ( )

◆ copySelection()

void TagList::copySelection ( )

◆ filterTagReferences()

◆ clearFilter()

void TagList::clearFilter ( )

◆ setFilter() [2/2]

void TagList::setFilter ( FilterFn filter)

◆ setFilterView()

void TagList::setFilterView ( FilteredView * filterView)
inline

◆ hasSelection()

bool TagList::hasSelection ( )

◆ navigateToNext()

void TagList::navigateToNext ( )

◆ navigateToPrev()

void TagList::navigateToPrev ( )

◆ scrollToFirstItem()

virtual void TagList::scrollToFirstItem ( )
overridevirtual

◆ scrollToCurrentItem()

virtual void TagList::scrollToCurrentItem ( )
overridevirtual

◆ ensureSelection()

virtual void TagList::ensureSelection ( )
overridevirtual

◆ activateSelection()

virtual void TagList::activateSelection ( )
overridevirtual

◆ TagListWidget

◆ TagListDialog

◆ AddFn

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

◆ TagListDialog()

◆ setFilter()

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

◆ TagListSidebarWidgetType

class TagListSidebarWidgetType