Loading...
Searching...
No Matches

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

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.

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

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

virtual void TagList::scrollToFirstItem ( )
overridevirtual

Implements FilterTarget.

◆ scrollToCurrentItem()

virtual void TagList::scrollToCurrentItem ( )
overridevirtual

Implements FilterTarget.

◆ ensureSelection()

virtual void TagList::ensureSelection ( )
overridevirtual

Implements FilterTarget.

◆ activateSelection()

virtual void TagList::activateSelection ( )
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 setTitle (const QString &title)
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

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
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)
virtual bool deactivateOnLastTabClose () const
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.