DisassemblerGraphView

class DisassemblerGraphView : public CutterGraphView

Public Types

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

Public Functions

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

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) override
void blockDoubleClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos) override
bool helpEvent(QHelpEvent *event) override
void blockHelpEvent(GraphView::GraphBlock &block, QHelpEvent *event, QPoint pos) override
GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from, GraphView::GraphBlock *to, bool interactive) override
void blockTransitionedTo(GraphView::GraphBlock *to) override
void loadCurrentGraph()
int getWidth()
int getHeight()
std::unordered_map<ut64, GraphBlock> getBlocks()
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() override
void onSeekChanged(RVA addr)
void takeTrue()
void takeFalse()
void nextInstr()
void prevInstr()
void copySelection()

Signals

void nameChanged(const QString &name)