TypeView

Detailed Description

Classes

struct  TypeDefinitionLinesAndFilterStatus
 
class  TypeViewHistoryEntry
 
class  TypeView
 
class  LineNumberArea
 
class  TypeViewType
 
class  TypeFilterEdit
 
class  TypeFilter
 
class  TypesContainer
 
class  TypeViewSidebarWidget
 
class  TypeViewSidebarWidgetType
 

Enumerations

enum  TypeLinesFilteredReason {
  TypeLinesFilterNotApplied , TypeLinesFilterAccepted , TypeLinesFilteredByTextFilter , TypeLinesFilteredBySystemTypesFilter ,
  TypeLinesFilteredByBothFilters
}
 
enum  ModifyExistingMember { DontModify , ToggleSize , ToggleSign }
 

Class Documentation

◆ TypeDefinitionLinesAndFilterStatus

struct TypeDefinitionLinesAndFilterStatus
Class Members
vector< TypeDefinitionLine > lines
TypeLinesFilteredReason reason

◆ TypeViewHistoryEntry

class TypeViewHistoryEntry

Public Member Functions

const BinaryNinja::QualifiedNamegetCursorType () const
 
size_t getCursorLine () const
 
size_t getCursorOffset () const
 
bool isSelectionValid () const
 
const std::string & getSelectionStartType () const
 
size_t getSelectionStartLine () const
 
size_t getSelectionStartOffset () const
 
const HighlightTokenStategetHighlightTokenState () const
 
void setCursorType (const BinaryNinja::QualifiedName &type)
 
void setCursorLine (size_t line)
 
void setCursorOffset (size_t offset)
 
void setSelectionValid (bool valid)
 
void setSelectionStartType (const std::string &type)
 
void setSelectionStartLine (size_t line)
 
void setSelectionStartOffset (size_t offset)
 
void setHighlightTokenState (const HighlightTokenState &state)
 
virtual Json::Value serialize () const override
 Serialize to json representation. More...
 
virtual bool deserialize (const Json::Value &value) override
 Deserialize from json representation. More...
 
- Public Member Functions inherited from HistoryEntry
virtual ~HistoryEntry ()
 
QString getViewType () const
 
void setViewType (const QString &type)
 
virtual Json::Value serialize () const
 Serialize to json representation. More...
 
virtual bool deserialize (const Json::Value &value)
 Deserialize from json representation. More...
 
- Public Member Functions inherited from BinaryNinja::RefCountObject
 RefCountObject ()
 
virtual ~RefCountObject ()
 
RefCountObjectGetObject ()
 
void AddRef ()
 
void Release ()
 

Additional Inherited Members

- Static Public Member Functions inherited from BinaryNinja::RefCountObject
static RefCountObjectGetObject (RefCountObject *obj)
 
- Public Attributes inherited from BinaryNinja::RefCountObject
std::atomic< int > m_refs
 

Member Function Documentation

◆ getCursorType()

const BinaryNinja::QualifiedName & TypeViewHistoryEntry::getCursorType ( ) const
inline

◆ getCursorLine()

size_t TypeViewHistoryEntry::getCursorLine ( ) const
inline

◆ getCursorOffset()

size_t TypeViewHistoryEntry::getCursorOffset ( ) const
inline

◆ isSelectionValid()

bool TypeViewHistoryEntry::isSelectionValid ( ) const
inline

◆ getSelectionStartType()

const std::string & TypeViewHistoryEntry::getSelectionStartType ( ) const
inline

◆ getSelectionStartLine()

size_t TypeViewHistoryEntry::getSelectionStartLine ( ) const
inline

◆ getSelectionStartOffset()

size_t TypeViewHistoryEntry::getSelectionStartOffset ( ) const
inline

◆ getHighlightTokenState()

const HighlightTokenState & TypeViewHistoryEntry::getHighlightTokenState ( ) const
inline

◆ setCursorType()

void TypeViewHistoryEntry::setCursorType ( const BinaryNinja::QualifiedName type)
inline

◆ setCursorLine()

void TypeViewHistoryEntry::setCursorLine ( size_t  line)
inline

◆ setCursorOffset()

void TypeViewHistoryEntry::setCursorOffset ( size_t  offset)
inline

◆ setSelectionValid()

void TypeViewHistoryEntry::setSelectionValid ( bool  valid)
inline

◆ setSelectionStartType()

void TypeViewHistoryEntry::setSelectionStartType ( const std::string &  type)
inline

◆ setSelectionStartLine()

void TypeViewHistoryEntry::setSelectionStartLine ( size_t  line)
inline

◆ setSelectionStartOffset()

void TypeViewHistoryEntry::setSelectionStartOffset ( size_t  offset)
inline

◆ setHighlightTokenState()

void TypeViewHistoryEntry::setHighlightTokenState ( const HighlightTokenState state)
inline

◆ serialize()

virtual Json::Value TypeViewHistoryEntry::serialize ( ) const
overridevirtual

Serialize to json representation.

Returns
Json representation of history entry. In the Python api, this must be a dict.

Reimplemented from HistoryEntry.

◆ deserialize()

virtual bool TypeViewHistoryEntry::deserialize ( const Json::Value &  value)
overridevirtual

Deserialize from json representation.

This method should clear any previously entered data on the HistoryEntry as if it were newly created.

Parameters
valueJson representation of history entry. In the Python api, this will be a dict.
Returns
If deserialization was successful

Reimplemented from HistoryEntry.

◆ TypeView

class TypeView

Public Member Functions

 TypeView (BinaryViewRef data, ViewFrame *view, TypesContainer *container, bool compact=false)
 
virtual ~TypeView ()
 
virtual bool findNextData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, uint64_t &addr, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &cb) override
 
virtual bool findNextText (uint64_t start, uint64_t end, const std::string &text, uint64_t &addr, DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb) override
 
virtual BinaryViewRef getData () override
 
virtual uint64_t getCurrentOffset () override
 
virtual BNAddressRange getSelectionOffsets () override
 
virtual SelectionInfoForXref getSelectionForXref () override
 
virtual void setSelectionOffsets (BNAddressRange range) override
 
virtual bool navigate (uint64_t) override
 
virtual std::string getNavigationMode () override
 
virtual void setNavigationMode (std::string mode) override
 
virtual std::vector< std::string > getNavigationModes () override
 
uint64_t findMatchingLine (const BinaryNinja::QualifiedName &name, uint64_t offset, size_t &cursorOffset)
 
bool navigateToType (const std::string &name, uint64_t offset=0)
 
virtual void OnTypeDefined (BinaryNinja::BinaryView *view, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override
 
virtual void OnTypeUndefined (BinaryNinja::BinaryView *view, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override
 
virtual void OnTypeReferenceChanged (BinaryNinja::BinaryView *view, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override
 
virtual void OnTypeFieldReferenceChanged (BinaryNinja::BinaryView *view, const BinaryNinja::QualifiedName &name, uint64_t offset) override
 
void MarkFilterChanged ()
 
void MarkTypeChanged (const BinaryNinja::QualifiedName &typeName)
 
virtual void updateFonts () override
 
virtual StatusBarWidgetgetStatusBarWidget () override
 
virtual BinaryNinja::Ref< HistoryEntrygetHistoryEntry () override
 
virtual void navigateToHistoryEntry (BinaryNinja::Ref< HistoryEntry > entry) override
 
void lineNumberAreaPaintEvent (QPaintEvent *event)
 
int lineNumberAreaWidth ()
 
virtual bool canCut () override
 
virtual bool canCopy () override
 
virtual bool canCopyWithTransform () override
 
virtual bool canPaste () override
 
virtual bool canPasteWithTransform () override
 
virtual bool canTransform () override
 
virtual bool canCopyAddress () override
 
virtual void copy (TransformRef xform=nullptr) override
 
virtual QFont getFont () override
 
virtual HighlightTokenState getHighlightTokenState () override
 
virtual ArchitectureRef getOrAskForArchitecture ()
 
bool isTypeCollapsed (const std::string &name) const
 
void showContextMenu (Menu *source=nullptr)
 
void focusAtTopOfView ()
 
virtual bool canDisplayAs (const UIActionContext &context, const BNIntegerDisplayType) override
 
bool isTypeTextFiltered (const std::string &name) const
 
- Public Member Functions inherited from View
 View ()
 
virtual ~View ()
 
void enableRefreshTimer (QWidget *owner, int interval)
 
void setRefreshTimerRunning (bool running)
 
void setRefreshQuiesce (bool enable)
 
virtual void notifyRefresh ()
 
void setupView (QWidget *widget)
 
virtual bool canAssemble ()
 
virtual bool canCompile ()
 
virtual bool findNextData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, uint64_t &addr, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findNextText (uint64_t start, uint64_t end, const std::string &text, uint64_t &addr, DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findNextConstant (uint64_t start, uint64_t end, uint64_t constant, uint64_t &addr, DisassemblySettingsRef settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findAllData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const BinaryNinja::DataBuffer &match)> &matchCallback)
 
virtual bool findAllText (uint64_t start, uint64_t end, const std::string &data, DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const std::string &match, const BinaryNinja::LinearDisassemblyLine &line)> &matchCallback)
 
virtual bool findAllConstant (uint64_t start, uint64_t end, uint64_t constant, DisassemblySettingsRef settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const BinaryNinja::LinearDisassemblyLine &line)> &matchCallback)
 
virtual BinaryViewRef getData ()=0
 
virtual uint64_t getCurrentOffset ()=0
 
virtual BNAddressRange getSelectionOffsets ()
 
virtual SelectionInfoForXref getSelectionForXref ()
 
virtual void setSelectionOffsets (BNAddressRange range)=0
 
virtual bool navigate (uint64_t offset)=0
 
virtual bool navigateToFunction (FunctionRef func, uint64_t offset)
 
virtual bool goToReference (FunctionRef func, uint64_t source, uint64_t target)
 
virtual bool navigateToViewLocation (const ViewLocation &viewLocation, bool center=false)
 
bool navigateOnOtherPane (uint64_t offset)
 
bool navigateToFunctionOnOtherPane (FunctionRef func, uint64_t offset)
 
bool isBinaryDataNavigable ()
 
void setBinaryDataNavigable (bool navigable)
 
virtual bool closeRequest ()
 
virtual void closing ()
 
virtual void updateFonts ()
 
virtual void updateTheme ()
 
virtual void undo ()
 
virtual void redo ()
 
virtual bool canUndo ()
 
virtual bool canRedo ()
 
virtual void cut ()
 
virtual void copy (TransformRef xform=nullptr)
 
virtual void copyAddress ()
 
virtual void paste (TransformRef xform=nullptr)
 
virtual bool canCut ()
 
virtual bool canCopy ()
 
virtual bool canCopyWithTransform ()
 
virtual bool canCopyAddress ()
 
virtual bool canPaste ()
 
virtual bool canPasteWithTransform ()
 
virtual void transform (TransformRef xform, bool encode)
 
virtual bool canTransform ()
 
virtual void writeData (const BinaryNinja::DataBuffer &data, uint64_t addr)
 
virtual bool canDisplayAs (const UIActionContext &context, const BNIntegerDisplayType)
 
virtual void displayAs (const UIActionContext &context, BNIntegerDisplayType type)
 
virtual BinaryNinja::Ref< HistoryEntrygetHistoryEntry ()
 
virtual void navigateToHistoryEntry (BinaryNinja::Ref< HistoryEntry > entry)
 
virtual StatusBarWidgetgetStatusBarWidget ()
 
virtual ViewPaneHeaderSubtypeWidgetgetHeaderSubtypeWidget ()
 
virtual QWidget * getHeaderOptionsWidget ()
 
virtual FunctionRef getCurrentFunction ()
 
virtual BasicBlockRef getCurrentBasicBlock ()
 
virtual ArchitectureRef getCurrentArchitecture ()
 
virtual LowLevelILFunctionRef getCurrentLowLevelILFunction ()
 
virtual MediumLevelILFunctionRef getCurrentMediumLevelILFunction ()
 
virtual HighLevelILFunctionRef getCurrentHighLevelILFunction ()
 
virtual BNFunctionGraphType getILViewType ()
 
virtual void setILViewType (BNFunctionGraphType ilViewType)
 
virtual size_t getCurrentILInstructionIndex ()
 
virtual size_t getSelectionStartILInstructionIndex ()
 
virtual BNILIndexRange getILIndexRange ()
 
virtual QFont getFont ()=0
 
virtual DisassemblySettingsRef getDisassemblySettings ()
 
virtual void setDisassemblySettings (DisassemblySettingsRef settings)
 
virtual HighlightTokenState getHighlightTokenState ()
 
virtual UIActionContext actionContext ()
 
MenucontextMenu ()
 
UIActionHandleractionHandler ()
 
QWidget * widget ()
 
QString viewType ()
 
void updateCrossReferenceSelection (ViewFrame *frame=nullptr)
 
void forceSyncFromView (ViewFrame *frame=nullptr)
 
virtual void clearRelatedHighlights ()
 
virtual void setRelatedIndexHighlights (FunctionRef func, const std::set< size_t > &related)
 
virtual void setRelatedInstructionHighlights (FunctionRef func, const std::set< uint64_t > &related)
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdated (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View. More...
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 

Static Public Member Functions

static void registerActions ()
 
- Static Public Member Functions inherited from View
static ViewgetViewFromWidget (QWidget *widget)
 
static void registerActions ()
 
static void registerLateActions ()
 

Protected Member Functions

virtual void resizeEvent (QResizeEvent *event) override
 
virtual void paintEvent (QPaintEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mouseDoubleClickEvent (QMouseEvent *event) override
 
virtual void scrollContentsBy (int dx, int dy) override
 
- Protected Member Functions inherited from View
bool writeDataToClipboard (const BinaryNinja::DataBuffer &data, bool binary, TransformRef xform)
 
BinaryNinja::DataBuffer readDataFromClipboard (TransformRef xform)
 
virtual std::string getNavigationMode ()
 
virtual void setNavigationMode (std::string mode)
 
virtual std::vector< std::string > getNavigationModes ()
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryUpdated = 1ULL << 40 , ExternalLibraryRemoved = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationUpdated = 1ULL << 43 ,
  ExternalLocationRemoved = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected
}
 
using NotificationTypes = uint64_t
 
- Protected Attributes inherited from View
Menu m_contextMenu
 
UIActionHandler m_actionHandler
 
bool m_binaryDataNavigable = false
 
QPointer< TransformParameterDialogm_transformParamDialog
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ TypeView()

TypeView::TypeView ( BinaryViewRef  data,
ViewFrame view,
TypesContainer container,
bool  compact = false 
)
explicit

◆ ~TypeView()

virtual TypeView::~TypeView ( )
virtual

Member Function Documentation

◆ findNextData()

virtual bool TypeView::findNextData ( uint64_t  start,
uint64_t  end,
const BinaryNinja::DataBuffer data,
uint64_t &  addr,
BNFindFlag  flags,
const std::function< bool(size_t current, size_t total)> &  cb 
)
overridevirtual

Reimplemented from View.

◆ findNextText()

virtual bool TypeView::findNextText ( uint64_t  start,
uint64_t  end,
const std::string &  text,
uint64_t &  addr,
DisassemblySettingsRef  settings,
BNFindFlag  flags,
BNFunctionGraphType  graph,
const std::function< bool(size_t current, size_t total)> &  cb 
)
overridevirtual

Reimplemented from View.

◆ getData()

virtual BinaryViewRef TypeView::getData ( )
inlineoverridevirtual

Implements View.

◆ getCurrentOffset()

virtual uint64_t TypeView::getCurrentOffset ( )
overridevirtual

Implements View.

◆ getSelectionOffsets()

virtual BNAddressRange TypeView::getSelectionOffsets ( )
overridevirtual

Reimplemented from View.

◆ getSelectionForXref()

virtual SelectionInfoForXref TypeView::getSelectionForXref ( )
overridevirtual

Reimplemented from View.

◆ setSelectionOffsets()

virtual void TypeView::setSelectionOffsets ( BNAddressRange  range)
overridevirtual

Implements View.

◆ navigate()

virtual bool TypeView::navigate ( uint64_t  )
overridevirtual

Implements View.

◆ getNavigationMode()

virtual std::string TypeView::getNavigationMode ( )
overridevirtual

Reimplemented from View.

◆ setNavigationMode()

virtual void TypeView::setNavigationMode ( std::string  mode)
overridevirtual

Reimplemented from View.

◆ getNavigationModes()

virtual std::vector< std::string > TypeView::getNavigationModes ( )
overridevirtual

Reimplemented from View.

◆ findMatchingLine()

uint64_t TypeView::findMatchingLine ( const BinaryNinja::QualifiedName name,
uint64_t  offset,
size_t &  cursorOffset 
)

◆ navigateToType()

bool TypeView::navigateToType ( const std::string &  name,
uint64_t  offset = 0 
)

◆ OnTypeDefined()

virtual void TypeView::OnTypeDefined ( BinaryNinja::BinaryView view,
const BinaryNinja::QualifiedName name,
BinaryNinja::Type type 
)
overridevirtual

◆ OnTypeUndefined()

virtual void TypeView::OnTypeUndefined ( BinaryNinja::BinaryView view,
const BinaryNinja::QualifiedName name,
BinaryNinja::Type type 
)
overridevirtual

◆ OnTypeReferenceChanged()

virtual void TypeView::OnTypeReferenceChanged ( BinaryNinja::BinaryView view,
const BinaryNinja::QualifiedName name,
BinaryNinja::Type type 
)
overridevirtual

◆ OnTypeFieldReferenceChanged()

virtual void TypeView::OnTypeFieldReferenceChanged ( BinaryNinja::BinaryView view,
const BinaryNinja::QualifiedName name,
uint64_t  offset 
)
overridevirtual

◆ MarkFilterChanged()

void TypeView::MarkFilterChanged ( )
inline

◆ MarkTypeChanged()

void TypeView::MarkTypeChanged ( const BinaryNinja::QualifiedName typeName)

◆ updateFonts()

virtual void TypeView::updateFonts ( )
overridevirtual

Reimplemented from View.

◆ getStatusBarWidget()

virtual StatusBarWidget * TypeView::getStatusBarWidget ( )
overridevirtual

Reimplemented from View.

◆ getHistoryEntry()

virtual BinaryNinja::Ref< HistoryEntry > TypeView::getHistoryEntry ( )
overridevirtual

Reimplemented from View.

◆ navigateToHistoryEntry()

virtual void TypeView::navigateToHistoryEntry ( BinaryNinja::Ref< HistoryEntry entry)
overridevirtual

Reimplemented from View.

◆ lineNumberAreaPaintEvent()

void TypeView::lineNumberAreaPaintEvent ( QPaintEvent *  event)

◆ lineNumberAreaWidth()

int TypeView::lineNumberAreaWidth ( )

◆ canCut()

virtual bool TypeView::canCut ( )
inlineoverridevirtual

Reimplemented from View.

◆ canCopy()

virtual bool TypeView::canCopy ( )
overridevirtual

Reimplemented from View.

◆ canCopyWithTransform()

virtual bool TypeView::canCopyWithTransform ( )
inlineoverridevirtual

Reimplemented from View.

◆ canPaste()

virtual bool TypeView::canPaste ( )
inlineoverridevirtual

Reimplemented from View.

◆ canPasteWithTransform()

virtual bool TypeView::canPasteWithTransform ( )
inlineoverridevirtual

Reimplemented from View.

◆ canTransform()

virtual bool TypeView::canTransform ( )
inlineoverridevirtual

Reimplemented from View.

◆ canCopyAddress()

virtual bool TypeView::canCopyAddress ( )
inlineoverridevirtual

Reimplemented from View.

◆ copy()

virtual void TypeView::copy ( TransformRef  xform = nullptr)
overridevirtual

Reimplemented from View.

◆ getFont()

virtual QFont TypeView::getFont ( )
inlineoverridevirtual

Implements View.

◆ getHighlightTokenState()

virtual HighlightTokenState TypeView::getHighlightTokenState ( )
inlineoverridevirtual

Reimplemented from View.

◆ registerActions()

static void TypeView::registerActions ( )
static

◆ getOrAskForArchitecture()

virtual ArchitectureRef TypeView::getOrAskForArchitecture ( )
virtual

◆ isTypeCollapsed()

bool TypeView::isTypeCollapsed ( const std::string &  name) const
inline

◆ showContextMenu()

void TypeView::showContextMenu ( Menu source = nullptr)

◆ focusAtTopOfView()

void TypeView::focusAtTopOfView ( )

◆ canDisplayAs()

virtual bool TypeView::canDisplayAs ( const UIActionContext context,
const  BNIntegerDisplayType 
)
inlineoverridevirtual

Reimplemented from View.

◆ isTypeTextFiltered()

bool TypeView::isTypeTextFiltered ( const std::string &  name) const

◆ resizeEvent()

virtual void TypeView::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

◆ paintEvent()

virtual void TypeView::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

◆ mousePressEvent()

virtual void TypeView::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ mouseMoveEvent()

virtual void TypeView::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ mouseDoubleClickEvent()

virtual void TypeView::mouseDoubleClickEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ scrollContentsBy()

virtual void TypeView::scrollContentsBy ( int  dx,
int  dy 
)
overrideprotectedvirtual

◆ LineNumberArea

class LineNumberArea

Public Member Functions

 LineNumberArea (TypeView *editor)
 
QSize sizeHint () const override
 

Protected Member Functions

void paintEvent (QPaintEvent *event) override
 

Constructor & Destructor Documentation

◆ LineNumberArea()

LineNumberArea::LineNumberArea ( TypeView editor)
inline

Member Function Documentation

◆ sizeHint()

QSize LineNumberArea::sizeHint ( ) const
inlineoverride

◆ paintEvent()

void LineNumberArea::paintEvent ( QPaintEvent *  event)
inlineoverrideprotected

◆ TypeViewType

class TypeViewType

Public Member Functions

 TypeViewType ()
 
virtual int getPriority (BinaryViewRef data, const QString &filename) override
 
virtual QWidget * create (BinaryViewRef data, ViewFrame *viewFrame) override
 
- Public Member Functions inherited from ViewType
 ViewType (const QString &name, const QString &longName)
 
virtual ~ViewType ()
 
const QString & getName ()
 
const QString & getLongName ()
 
virtual int getPriority (BinaryViewRef data, const QString &filename)=0
 
virtual QWidget * create (BinaryViewRef data, ViewFrame *viewFrame)=0
 
virtual QString getDisplayName (BinaryViewTypeRef type)
 
virtual QString getDisplayLongName (BinaryViewTypeRef type)
 

Static Public Member Functions

static void init ()
 
- Static Public Member Functions inherited from ViewType
static ViewTypegetTypeByName (const QString &name)
 
static const std::vector< ViewType * > & getTypes ()
 
static void registerViewType (ViewType *type)
 

Constructor & Destructor Documentation

◆ TypeViewType()

TypeViewType::TypeViewType ( )

Member Function Documentation

◆ getPriority()

virtual int TypeViewType::getPriority ( BinaryViewRef  data,
const QString &  filename 
)
overridevirtual

Implements ViewType.

◆ create()

virtual QWidget * TypeViewType::create ( BinaryViewRef  data,
ViewFrame viewFrame 
)
overridevirtual

Implements ViewType.

◆ init()

static void TypeViewType::init ( )
static

◆ TypeFilterEdit

class TypeFilterEdit

Signals

void focusView ()
 

Public Member Functions

 TypeFilterEdit (QWidget *parent)
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *event) override
 

Constructor & Destructor Documentation

◆ TypeFilterEdit()

TypeFilterEdit::TypeFilterEdit ( QWidget *  parent)

Member Function Documentation

◆ keyPressEvent()

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

◆ focusView

void TypeFilterEdit::focusView ( )
signal

◆ TypeFilter

class TypeFilter

Signals

void filterChanged ()
 

Public Member Functions

 TypeFilter (TypesContainer *container=nullptr)
 
void setContainer (TypesContainer *container)
 
TypeLinesFilteredReason checkTypeLinesForFilter (BinaryViewRef data, const BinaryNinja::QualifiedName &name, const std::vector< BinaryNinja::TypeDefinitionLine > &lines)
 
void showAndFocus ()
 
bool areAutoTypesVisible ()
 
void setShowAutoTypes (bool showAutoTypes)
 
void clearTextFilter ()
 

Constructor & Destructor Documentation

◆ TypeFilter()

TypeFilter::TypeFilter ( TypesContainer container = nullptr)

Member Function Documentation

◆ filterChanged

void TypeFilter::filterChanged ( )
signal

◆ setContainer()

void TypeFilter::setContainer ( TypesContainer container)
inline

◆ checkTypeLinesForFilter()

TypeLinesFilteredReason TypeFilter::checkTypeLinesForFilter ( BinaryViewRef  data,
const BinaryNinja::QualifiedName name,
const std::vector< BinaryNinja::TypeDefinitionLine > &  lines 
)

◆ showAndFocus()

void TypeFilter::showAndFocus ( )

◆ areAutoTypesVisible()

bool TypeFilter::areAutoTypesVisible ( )

◆ setShowAutoTypes()

void TypeFilter::setShowAutoTypes ( bool  showAutoTypes)

◆ clearTextFilter()

void TypeFilter::clearTextFilter ( )

◆ TypesContainer

class TypesContainer

Public Member Functions

 TypesContainer (BinaryViewRef data, ViewFrame *view, TypeFilter *filter=nullptr, bool compact=false)
 
virtual ViewgetView () override
 
TypeViewgetTypesView ()
 
TypeFiltergetTypeFilter ()
 
bool navigateToType (const std::string &name, uint64_t offset=0)
 
- Public Member Functions inherited from ViewContainer
virtual ~ViewContainer ()
 
virtual ViewgetView ()=0
 

Protected Member Functions

virtual void focusInEvent (QFocusEvent *event) override
 

Constructor & Destructor Documentation

◆ TypesContainer()

TypesContainer::TypesContainer ( BinaryViewRef  data,
ViewFrame view,
TypeFilter filter = nullptr,
bool  compact = false 
)

Member Function Documentation

◆ getView()

virtual View * TypesContainer::getView ( )
inlineoverridevirtual

Implements ViewContainer.

◆ getTypesView()

TypeView * TypesContainer::getTypesView ( )
inline

◆ getTypeFilter()

TypeFilter * TypesContainer::getTypeFilter ( )
inline

◆ navigateToType()

bool TypesContainer::navigateToType ( const std::string &  name,
uint64_t  offset = 0 
)

◆ focusInEvent()

virtual void TypesContainer::focusInEvent ( QFocusEvent *  event)
overrideprotectedvirtual

◆ TypeViewSidebarWidget

class TypeViewSidebarWidget

Public Member Functions

 TypeViewSidebarWidget (BinaryViewRef data, ViewFrame *frame)
 
TypesContainercontainer () const
 
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)
 
virtual void notifyRefresh ()
 
virtual void notifyFontChanged ()
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void focus ()
 
virtual void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 
virtual QWidget * headerWidget ()
 

Additional Inherited Members

- Protected Attributes inherited from SidebarWidget
QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ TypeViewSidebarWidget()

TypeViewSidebarWidget::TypeViewSidebarWidget ( BinaryViewRef  data,
ViewFrame frame 
)

Member Function Documentation

◆ container()

TypesContainer * TypeViewSidebarWidget::container ( ) const
inline

◆ focus()

virtual void TypeViewSidebarWidget::focus ( )
overridevirtual

Reimplemented from SidebarWidget.

◆ headerWidget()

virtual QWidget * TypeViewSidebarWidget::headerWidget ( )
inlineoverridevirtual

Reimplemented from SidebarWidget.

◆ TypeViewSidebarWidgetType

class TypeViewSidebarWidgetType

Public Member Functions

 TypeViewSidebarWidgetType ()
 
virtual SidebarWidgetcreateWidget (ViewFrame *frame, BinaryViewRef data) override
 
SidebarWidgetLocation defaultLocation () const override
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const override
 
virtual PanecreatePane (SplitPaneWidget *panes, BinaryViewRef data) 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 SidebarWidgetLocation defaultLocation () const
 
virtual SidebarContextSensitivity contextSensitivity () const
 
virtual bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarWidgetcreateWidget (ViewFrame *, BinaryViewRef)
 
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

◆ TypeViewSidebarWidgetType()

TypeViewSidebarWidgetType::TypeViewSidebarWidgetType ( )

Member Function Documentation

◆ createWidget()

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

Reimplemented from SidebarWidgetType.

◆ defaultLocation()

SidebarWidgetLocation TypeViewSidebarWidgetType::defaultLocation ( ) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ canUseAsPane()

virtual bool TypeViewSidebarWidgetType::canUseAsPane ( SplitPaneWidget ,
BinaryViewRef   
) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ createPane()

virtual Pane * TypeViewSidebarWidgetType::createPane ( SplitPaneWidget panes,
BinaryViewRef  data 
)
overridevirtual

Reimplemented from SidebarWidgetType.

Enumeration Type Documentation

◆ TypeLinesFilteredReason

Enumerator
TypeLinesFilterNotApplied 
TypeLinesFilterAccepted 
TypeLinesFilteredByTextFilter 
TypeLinesFilteredBySystemTypesFilter 
TypeLinesFilteredByBothFilters 

◆ ModifyExistingMember

Enumerator
DontModify 
ToggleSize 
ToggleSign