DisassemblerGraphView

class DisassemblerGraphView : public IaitoGraphView

Public Types

using EdgeConfigurationMapping = std::map<std::pair<ut64, ut64>, EdgeConfiguration>

Public Functions

DisassemblerGraphView(QWidget *parent, IaitoSeekable *seekable, MainWindow *mainWindow, QList<QAction *> additionalMenuAction)
~DisassemblerGraphView()
void drawBlock(QPainter &p, GraphView::GraphBlock &block, bool interactive)

drawBlock

Parameters
  • p: painter object, not necesarily current widget

  • block:

  • interactive: - can be used for disabling elemnts during export

void blockClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos)
void blockDoubleClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos)
bool helpEvent(QHelpEvent *event)
void blockHelpEvent(GraphView::GraphBlock &block, QHelpEvent *event, QPoint pos)
GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from, GraphView::GraphBlock *to, bool interactive)
void blockTransitionedTo(GraphView::GraphBlock *to)
void loadCurrentGraph()
int getWidth()
int getHeight()
std::unordered_map<ut64, GraphBlock> getBlocks()
DisassemblerGraphView::EdgeConfigurationMapping getEdgeConfigurations()
bool isGraphEmpty()

Public Members

std::unordered_map<ut64, DisassemblyBlock> disassembly_blocks
QString windowTitle
ut64 currentFcnAddr = RVA_INVALID

keep the current addr of the fcn of Graph Everytime overview updates its contents, it compares this value with the one in Graph if they aren’t same, then Overview needs to update the pixmap cache.

Public Slots

void refreshView()
void onSeekChanged(RVA addr)
void takeTrue()
void takeFalse()
void nextInstr()
void prevInstr()
void copySelection()

Signals

void nameChanged(const QString &name)