Loading...
Searching...
No Matches
TagList

Detailed Description

Classes

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

Class Documentation

◆ TagListModel

class 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
 

Constructor & Destructor Documentation

◆ TagListModel()

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

◆ ~TagListModel()

virtual TagListModel::~TagListModel ( )
virtual

Member Function Documentation

◆ connectDataStore()

void TagListModel::connectDataStore ( )

◆ disconnectDataStore()

void TagListModel::disconnectDataStore ( )

◆ 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

◆ 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

Member Data Documentation

◆ m_owner

QWidget* TagListModel::m_owner
protected

◆ m_data

BinaryViewRef TagListModel::m_data
protected

◆ m_dispatcher

NotificationsDispatcher* TagListModel::m_dispatcher = nullptr
protected

◆ 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

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 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 ()
 
void scrollToFirstItem () override
 
void scrollToCurrentItem () override
 
void selectFirstItem () override
 
void activateFirstItem () 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
 

Member Typedef Documentation

◆ FilterFn

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.

◆ 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 ( )

◆ filterTagReferences()

void TagList::filterTagReferences ( std::vector< BinaryNinja::TagReference > & refs)

◆ 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()

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)
 
 ~SidebarWidget ()
 
const QString & title () const
 
void enableRefreshTimer (int interval)
 
void setRefreshQuiesce (bool enable)
 
bool isQuiesced () const
 
virtual void notifyRefresh ()
 
virtual void notifyQuiesce (bool)
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 

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
 
bool m_quiesceState = true
 
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

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
 
SidebarWidgetLocation defaultLocation () const override
 
SidebarContextSensitivity contextSensitivity () const 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 bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarIconVisibility defaultIconVisibility () const
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
virtual QWidget * headerWidget (SplitPaneWidget *, ViewFrame *, BinaryViewRef)
 
virtual bool focusHeaderWidget () const
 
virtual QString noWidgetMessage () const
 
virtual DockableTabStyletabStyle () const
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const
 
virtual PanecreatePane (SplitPaneWidget *, BinaryViewRef)
 
virtual SidebarContentClassifiercontentClassifier (ViewFrame *, BinaryViewRef)
 
void updateTheme ()
 

Constructor & Destructor Documentation

◆ TagListSidebarWidgetType()

TagListSidebarWidgetType::TagListSidebarWidgetType ( )

Member Function Documentation

◆ createWidget()

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

Reimplemented from SidebarWidgetType.

◆ defaultLocation()

SidebarWidgetLocation TagListSidebarWidgetType::defaultLocation ( ) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ contextSensitivity()

SidebarContextSensitivity TagListSidebarWidgetType::contextSensitivity ( ) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.