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

◆ 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.