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
virtual 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

virtual void blockClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos) override
virtual void blockDoubleClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos) override
virtual bool helpEvent(QHelpEvent *event) override
virtual void blockHelpEvent(GraphView::GraphBlock &block, QHelpEvent *event, QPoint pos) override
virtual GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from, GraphView::GraphBlock *to, bool interactive) override
virtual void blockTransitionedTo(GraphView::GraphBlock *to) override
void loadCurrentGraph()
inline int getWidth()
inline int getHeight()
inline std::unordered_map<ut64, GraphBlock> getBlocks()
EdgeConfigurationMapping getEdgeConfigurations()
inline 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)