Loading...
Searching...
No Matches
TableViewBase Class Reference

Detailed Description

Base class for table views in Binary Ninja views

  • Moveable, resizeable columns with saved state
  • QSettings save to Tables/<viewName>/<Suffix>
  • Reset columns context menu action

Signals

void populateHeaderContextMenu (QMenu *, const QPoint &)

Public Member Functions

 TableViewBase (QWidget *parent=nullptr, const QString &viewName={})
void setModel (QAbstractItemModel *m) override
void scheduleSaveHeaderState ()

Protected Member Functions

QString viewName () const
QString settingsKey (const QString &suffix) const
void saveHeaderState () const
void restoreHeaderState () const
virtual int defaultSectionWidth (const int logicalIndex, const int charWidth) const
void captureDefaultHeaderState () const
void resetColumnLayout () const

Constructor & Destructor Documentation

◆ TableViewBase()

TableViewBase::TableViewBase ( QWidget * parent = nullptr,
const QString & viewName = {} )
inlineexplicit

Member Function Documentation

◆ setModel()

void TableViewBase::setModel ( QAbstractItemModel * m)
inlineoverride

◆ scheduleSaveHeaderState()

void TableViewBase::scheduleSaveHeaderState ( )
inline

◆ populateHeaderContextMenu

void TableViewBase::populateHeaderContextMenu ( QMenu * ,
const QPoint &  )
signal

◆ viewName()

QString TableViewBase::viewName ( ) const
inlineprotected

◆ settingsKey()

QString TableViewBase::settingsKey ( const QString & suffix) const
inlineprotected

◆ saveHeaderState()

void TableViewBase::saveHeaderState ( ) const
inlineprotected

◆ restoreHeaderState()

void TableViewBase::restoreHeaderState ( ) const
inlineprotected

◆ defaultSectionWidth()

virtual int TableViewBase::defaultSectionWidth ( const int logicalIndex,
const int charWidth ) const
inlineprotectedvirtual

Reimplemented in StringsView.

◆ captureDefaultHeaderState()

void TableViewBase::captureDefaultHeaderState ( ) const
inlineprotected

Grabs default header states on startup to save Kind of a hacky fix, but many of our tables have manually set widths, so compensating for them is a hassle.

◆ resetColumnLayout()

void TableViewBase::resetColumnLayout ( ) const
inlineprotected