C++ UI API

Classes available to C++ UI Plugins. More...

Detailed Description

Classes available to C++ UI Plugins.

Modules

 Action
 
 AddressDialog
 
 AddressIndicator
 
 Animation
 
 AssembleDialog
 
 BackgroundThread
 
 ClickableLabel
 
 CommandPalette
 
 Commands
 
 CommentDialog
 
 CompileDialog
 
 CreateStructDialog
 
 Disassemblyview
 
 DockHandler
 
 FeatureMap
 
 FileContext
 
 Filter
 
 FlowGraphWidget
 
 FontSettings
 
 GlobalArea
 
 HexEditor
 
 ILChooser
 
 LinearView
 
 LogView
 
 MemoryMap
 
 Menus
 
 Mergevariablesdialog
 
 MetadataChoiceDialog
 MetadataChoiceDialog aims to provide a fairly extensible dialog for displaying selection info, without requiring reimplementation or extra UI code whenever complex behavior is required.
 
 MiniGraph
 
 Options
 
 Pane
 
 PlatformCursor
 
 PlatformDialog
 
 Preview
 
 ProgressTask
 
 QFileAccessor
 
 Render
 
 ReportCollectionWidget
 
 Reportwidget
 
 ScriptingConsole
 
 SearchResult
 
 SettingsView
 
 Sidebar
 
 Splitter
 
 StackView
 
 StatusBarWidget
 
 StringsView
 
 SymbolList
 
 SymbolView
 
 SyncGroup
 
 TabWidget
 
 TagList
 
 TagTypeList
 
 TextBrowser
 
 TextDialog
 
 Theme
 
 TokenizedTextView
 
 TokenizedTextWidget
 
 TransformParam
 
 TypeDialog
 
 TypeView
 
 UIComment
 
 UIContext
 
 UITypes
 
 Util
 
 VariableList
 
 ViewFrame
 
 ViewList
 
 ViewType
 
 XrefList
 

Classes

class  BndbImportDialog
 
class  CompileOptions
 
class  CreateTypeDialog
 
class  DataTypeList
 
class  DialogTextEdit
 
class  ExpandableGroup
 
class  FormInputDialog
 
class  GetSymbolsListThread
 
class  HeaderImportDialog
 
class  InstructionEdit
 
class  PossibleValueSetDialog
 
class  QProgressIndicator
 The QProgressIndicator class lets an application display a progress indicator to show that a lengthy task is under way. More...
 

Class Documentation

◆ BndbImportDialog

class BndbImportDialog

Public Member Functions

 BndbImportDialog (QWidget *parent, BinaryViewRef view)
 
 ~BndbImportDialog ()=default
 

Protected Slots

void browseFile ()
 
void updateButtons ()
 
void previewTypes ()
 
void importTypes ()
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *event) override
 

Constructor & Destructor Documentation

◆ BndbImportDialog()

BndbImportDialog::BndbImportDialog ( QWidget *  parent,
BinaryViewRef  view 
)

◆ ~BndbImportDialog()

BndbImportDialog::~BndbImportDialog ( )
default

Member Function Documentation

◆ browseFile

void BndbImportDialog::browseFile ( )
protectedslot

◆ updateButtons

void BndbImportDialog::updateButtons ( )
protectedslot

◆ previewTypes

void BndbImportDialog::previewTypes ( )
protectedslot

◆ importTypes

void BndbImportDialog::importTypes ( )
protectedslot

◆ keyPressEvent()

virtual void BndbImportDialog::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

◆ CompileOptions

class CompileOptions

Public Member Functions

 CompileOptions (QWidget *parent, const std::map< std::string, std::string > &initialOptions)
 
std::map< std::string, std::string > getSettings ()
 

Constructor & Destructor Documentation

◆ CompileOptions()

CompileOptions::CompileOptions ( QWidget *  parent,
const std::map< std::string, std::string > &  initialOptions 
)

Member Function Documentation

◆ getSettings()

std::map< std::string, std::string > CompileOptions::getSettings ( )

◆ CreateTypeDialog

class CreateTypeDialog

Public Member Functions

 CreateTypeDialog (QWidget *parent, const BinaryNinja::TypeContainer &container, const QString &title, const QString &definition, const std::set< BinaryNinja::QualifiedName > &typesAllowRedefinition={})
 
std::vector< BinaryNinja::ParsedTypegetResults ()
 
void applyResults ()
 
void applyResultsTo (QWidget *parent, BinaryNinja::TypeContainer container)
 

Static Public Member Functions

static CreateTypeDialogcreateWithType (QWidget *parent, const BinaryNinja::TypeContainer &container, BinaryNinja::QualifiedName name, TypeRef type)
 

Protected Member Functions

void saveLocation ()
 
virtual void showEvent (QShowEvent *e) override
 
virtual void reject () override
 
virtual void accept () override
 

Constructor & Destructor Documentation

◆ CreateTypeDialog()

CreateTypeDialog::CreateTypeDialog ( QWidget *  parent,
const BinaryNinja::TypeContainer container,
const QString &  title,
const QString &  definition,
const std::set< BinaryNinja::QualifiedName > &  typesAllowRedefinition = {} 
)

Member Function Documentation

◆ createWithType()

static CreateTypeDialog * CreateTypeDialog::createWithType ( QWidget *  parent,
const BinaryNinja::TypeContainer container,
BinaryNinja::QualifiedName  name,
TypeRef  type 
)
static

◆ getResults()

std::vector< BinaryNinja::ParsedType > CreateTypeDialog::getResults ( )
inline

◆ applyResults()

void CreateTypeDialog::applyResults ( )
inline

◆ applyResultsTo()

void CreateTypeDialog::applyResultsTo ( QWidget *  parent,
BinaryNinja::TypeContainer  container 
)

◆ saveLocation()

void CreateTypeDialog::saveLocation ( )
protected

◆ showEvent()

virtual void CreateTypeDialog::showEvent ( QShowEvent *  e)
overrideprotectedvirtual

◆ reject()

virtual void CreateTypeDialog::reject ( )
overrideprotectedvirtual

◆ accept()

virtual void CreateTypeDialog::accept ( )
overrideprotectedvirtual

◆ DataTypeList

class DataTypeList

Signals

void viewChanged (QString type)
 
- Signals inherited from MenuHelper
void clicked ()
 

Public Member Functions

 DataTypeList (QWidget *parent)
 
void setCurrentViewType (ViewFrame *view, const QString &type)
 
- Public Member Functions inherited from MenuHelper
 MenuHelper ()
 
 MenuHelper (QWidget *parent)
 
void setBackgroundColorRole (QPalette::ColorRole role)
 
void setActiveBackgroundColorRole (QPalette::ColorRole role)
 
void setPressedBackgroundColorRole (QPalette::ColorRole role)
 
void setForegroundColorRole (QPalette::ColorRole role)
 
void setActiveForegroundColorRole (QPalette::ColorRole role)
 
void setPressedForegroundColorRole (QPalette::ColorRole role)
 

Protected Member Functions

virtual void showMenu ()
 
- Protected Member Functions inherited from MenuHelper
void enterEvent (QEnterEvent *event) override
 
void leaveEvent (QEvent *event) override
 
void mousePressEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void updateColors ()
 

Additional Inherited Members

- Protected Slots inherited from MenuHelper
virtual void showMenu ()=0
 
- Protected Attributes inherited from MenuHelper
Menu m_menu
 
ContextMenuManagerm_contextMenuManager
 
QTimer * m_timer
 
bool m_active
 
bool m_pressed
 

Constructor & Destructor Documentation

◆ DataTypeList()

DataTypeList::DataTypeList ( QWidget *  parent)

Member Function Documentation

◆ setCurrentViewType()

void DataTypeList::setCurrentViewType ( ViewFrame view,
const QString &  type 
)

◆ showMenu()

virtual void DataTypeList::showMenu ( )
protectedvirtual

Implements MenuHelper.

◆ viewChanged

void DataTypeList::viewChanged ( QString  type)
signal

◆ DialogTextEdit

class DialogTextEdit

Signals

void contentAccepted ()
 

Public Member Functions

 DialogTextEdit (QWidget *parent)
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *event) override
 

Constructor & Destructor Documentation

◆ DialogTextEdit()

DialogTextEdit::DialogTextEdit ( QWidget *  parent)

Member Function Documentation

◆ keyPressEvent()

virtual void DialogTextEdit::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

◆ contentAccepted

void DialogTextEdit::contentAccepted ( )
signal

◆ ExpandableGroup

class ExpandableGroup

Public Member Functions

 ExpandableGroup (QLayout *contentLayout, const QString &title="", QWidget *parent=nullptr, bool expanded=false)
 
void setupAnimation (QLayout *contentLayout)
 
void setTitle (const QString &title)
 
void toggle (bool expanded)
 

Constructor & Destructor Documentation

◆ ExpandableGroup()

ExpandableGroup::ExpandableGroup ( QLayout *  contentLayout,
const QString &  title = "",
QWidget *  parent = nullptr,
bool  expanded = false 
)
explicit

Member Function Documentation

◆ setupAnimation()

void ExpandableGroup::setupAnimation ( QLayout *  contentLayout)

◆ setTitle()

void ExpandableGroup::setTitle ( const QString &  title)
inline

◆ toggle()

void ExpandableGroup::toggle ( bool  expanded)

◆ FormInputDialog

class FormInputDialog

Public Member Functions

 FormInputDialog (QWidget *parent, std::vector< BinaryNinja::FormInputField > *fields, const std::string &title)
 

Protected Slots

void finish ()
 

Constructor & Destructor Documentation

◆ FormInputDialog()

FormInputDialog::FormInputDialog ( QWidget *  parent,
std::vector< BinaryNinja::FormInputField > *  fields,
const std::string &  title 
)

Member Function Documentation

◆ finish

void FormInputDialog::finish ( )
protectedslot

◆ GetSymbolsListThread

class GetSymbolsListThread

Public Member Functions

 GetSymbolsListThread (BinaryViewRef view, const std::function< void()> &completeFunc)
 
void cancel ()
 
int GetEventType ()
 
const QStringList & getSymbols () const
 

Static Public Attributes

static int m_eventType
 

Protected Member Functions

virtual void run () override
 

Constructor & Destructor Documentation

◆ GetSymbolsListThread()

GetSymbolsListThread::GetSymbolsListThread ( BinaryViewRef  view,
const std::function< void()> &  completeFunc 
)

Member Function Documentation

◆ run()

virtual void GetSymbolsListThread::run ( )
overrideprotectedvirtual

◆ cancel()

void GetSymbolsListThread::cancel ( )

◆ GetEventType()

int GetSymbolsListThread::GetEventType ( )
inline

◆ getSymbols()

const QStringList & GetSymbolsListThread::getSymbols ( ) const
inline

Member Data Documentation

◆ m_eventType

int GetSymbolsListThread::m_eventType
static

◆ HeaderImportDialog

class HeaderImportDialog

Public Member Functions

 HeaderImportDialog (QWidget *parent, BinaryViewRef view)
 
 ~HeaderImportDialog ()=default
 

Protected Slots

void browseFile ()
 
void updateButtons ()
 
void previewTypes ()
 
void importTypes ()
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *event) override
 

Constructor & Destructor Documentation

◆ HeaderImportDialog()

HeaderImportDialog::HeaderImportDialog ( QWidget *  parent,
BinaryViewRef  view 
)

◆ ~HeaderImportDialog()

HeaderImportDialog::~HeaderImportDialog ( )
default

Member Function Documentation

◆ browseFile

void HeaderImportDialog::browseFile ( )
protectedslot

◆ updateButtons

void HeaderImportDialog::updateButtons ( )
protectedslot

◆ previewTypes

void HeaderImportDialog::previewTypes ( )
protectedslot

◆ importTypes

void HeaderImportDialog::importTypes ( )
protectedslot

◆ keyPressEvent()

virtual void HeaderImportDialog::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

◆ InstructionEdit

class InstructionEdit

Signals

void done ()
 

Public Member Functions

 InstructionEdit (QWidget *parent, BinaryViewRef data, ArchitectureRef arch, FunctionRef func, uint64_t offset)
 
void acceptInstruction ()
 
void rejectInstruction ()
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *event)
 
virtual void focusOutEvent (QFocusEvent *event)
 

Constructor & Destructor Documentation

◆ InstructionEdit()

InstructionEdit::InstructionEdit ( QWidget *  parent,
BinaryViewRef  data,
ArchitectureRef  arch,
FunctionRef  func,
uint64_t  offset 
)

Member Function Documentation

◆ acceptInstruction()

void InstructionEdit::acceptInstruction ( )

◆ rejectInstruction()

void InstructionEdit::rejectInstruction ( )

◆ keyPressEvent()

virtual void InstructionEdit::keyPressEvent ( QKeyEvent *  event)
protectedvirtual

◆ focusOutEvent()

virtual void InstructionEdit::focusOutEvent ( QFocusEvent *  event)
protectedvirtual

◆ done

void InstructionEdit::done ( )
signal

◆ PossibleValueSetDialog

class PossibleValueSetDialog

Public Member Functions

 PossibleValueSetDialog (QWidget *parent, BinaryViewRef view, uint64_t addr, BinaryNinja::PossibleValueSet existingValue)
 
BinaryNinja::PossibleValueSet getPossibleValueSet () const
 
void validate (const QString &input)
 

Constructor & Destructor Documentation

◆ PossibleValueSetDialog()

PossibleValueSetDialog::PossibleValueSetDialog ( QWidget *  parent,
BinaryViewRef  view,
uint64_t  addr,
BinaryNinja::PossibleValueSet  existingValue 
)

Member Function Documentation

◆ getPossibleValueSet()

BinaryNinja::PossibleValueSet PossibleValueSetDialog::getPossibleValueSet ( ) const
inline

◆ validate()

void PossibleValueSetDialog::validate ( const QString &  input)

◆ QProgressIndicator

class QProgressIndicator

The QProgressIndicator class lets an application display a progress indicator to show that a lengthy task is under way.

Progress indicators are indeterminate and do nothing more than spin to show that the application is busy.

See also
QProgressBar

Public Slots

void startAnimation ()
 Starts the spin animation. More...
 
void stopAnimation ()
 Stops the spin animation. More...
 
void setAnimationDelay (int delay)
 Sets the delay between animation steps. More...
 
void setDisplayedWhenStopped (bool state, const QString &staticDisplay="")
 Sets whether the component hides itself when it is not animating. More...
 
void setToolTips (const QString &staticToolTip, const QString &animatedToolTip)
 
void setColor (const QColor &color)
 Sets the color of the components to the given color. More...
 

Signals

void clicked ()
 
void rightClicked ()
 

Public Member Functions

 QProgressIndicator (QWidget *parent=0)
 
int animationDelay () const
 Returns the delay between animation steps. More...
 
bool isAnimated () const
 Returns a Boolean value indicating whether the component is currently animated. More...
 
bool isDisplayedWhenStopped () const
 Returns a Boolean value indicating whether the receiver shows itself even when it is not animating. More...
 
const QColor & color () const
 Returns the color of the component. More...
 
QSize sizeHint () const override
 
void setWidth (int width)
 
int heightForWidth (int w) const override
 

Protected Member Functions

void enterEvent (QEnterEvent *event) override
 
void leaveEvent (QEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
void timerEvent (QTimerEvent *event) override
 
void paintEvent (QPaintEvent *event) override
 

Properties

int delay
 
bool displayedWhenStopped
 
QColor color
 

Constructor & Destructor Documentation

◆ QProgressIndicator()

QProgressIndicator::QProgressIndicator ( QWidget *  parent = 0)

Member Function Documentation

◆ animationDelay()

int QProgressIndicator::animationDelay ( ) const
inline

Returns the delay between animation steps.

Returns
The number of milliseconds between animation steps. By default, the animation delay is set to 40 milliseconds.
See also
setAnimationDelay

◆ isAnimated()

bool QProgressIndicator::isAnimated ( ) const

Returns a Boolean value indicating whether the component is currently animated.

Returns
Animation state.
See also
startAnimation stopAnimation

◆ isDisplayedWhenStopped()

bool QProgressIndicator::isDisplayedWhenStopped ( ) const

Returns a Boolean value indicating whether the receiver shows itself even when it is not animating.

Returns
Return true if the progress indicator shows itself even when it is not animating. By default, it returns false.
See also
setDisplayedWhenStopped

◆ color()

const QColor & QProgressIndicator::color ( ) const
inline

Returns the color of the component.

See also
setColor

◆ sizeHint()

QSize QProgressIndicator::sizeHint ( ) const
inlineoverride

◆ setWidth()

void QProgressIndicator::setWidth ( int  width)
inline

◆ heightForWidth()

int QProgressIndicator::heightForWidth ( int  w) const
override

◆ startAnimation

void QProgressIndicator::startAnimation ( )
slot

Starts the spin animation.

See also
stopAnimation isAnimated

◆ stopAnimation

void QProgressIndicator::stopAnimation ( )
slot

Stops the spin animation.

See also
startAnimation isAnimated

◆ setAnimationDelay

void QProgressIndicator::setAnimationDelay ( int  delay)
slot

Sets the delay between animation steps.

Setting the delay to a value larger than 40 slows the animation, while setting the delay to a smaller value speeds it up.

Parameters
delayThe delay, in milliseconds.
See also
animationDelay

◆ setDisplayedWhenStopped

void QProgressIndicator::setDisplayedWhenStopped ( bool  state,
const QString &  staticDisplay = "" 
)
slot

Sets whether the component hides itself when it is not animating.

Parameters
stateThe animation state. Set false to hide the progress indicator when it is not animating; otherwise true.
See also
isDisplayedWhenStopped

◆ setToolTips

void QProgressIndicator::setToolTips ( const QString &  staticToolTip,
const QString &  animatedToolTip 
)
slot

◆ setColor

void QProgressIndicator::setColor ( const QColor &  color)
slot

Sets the color of the components to the given color.

See also
color

◆ clicked

void QProgressIndicator::clicked ( )
signal

◆ rightClicked

void QProgressIndicator::rightClicked ( )
signal

◆ enterEvent()

void QProgressIndicator::enterEvent ( QEnterEvent *  event)
overrideprotected

◆ leaveEvent()

void QProgressIndicator::leaveEvent ( QEvent *  event)
overrideprotected

◆ mouseReleaseEvent()

void QProgressIndicator::mouseReleaseEvent ( QMouseEvent *  event)
inlineoverrideprotected

◆ timerEvent()

void QProgressIndicator::timerEvent ( QTimerEvent *  event)
overrideprotected

◆ paintEvent()

void QProgressIndicator::paintEvent ( QPaintEvent *  event)
overrideprotected

Property Documentation

◆ delay

int QProgressIndicator::delay
readwrite

◆ displayedWhenStopped

bool QProgressIndicator::displayedWhenStopped
readwrite

◆ color

QColor QProgressIndicator::color
readwrite