DisassemblerGraphView

class DisassemblerGraphView : public GraphView

Public Types

enum GraphExportType

Values:

enumerator Png
enumerator Jpeg
enumerator Svg
enumerator GVDot
enumerator GVJson
enumerator GVGif
enumerator GVPng
enumerator GVJpeg
enumerator GVPostScript
enumerator GVSvg
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
bool event(QEvent *event) override
void loadCurrentGraph()
int getWidth()
int getHeight()
std::unordered_map<ut64, GraphBlock> getBlocks()
EdgeConfigurationMapping getEdgeConfigurations()
void exportGraph(QString filePath, GraphExportType type)
void exportR2GraphvizGraph(QString filePath, QString type)
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 colorsUpdatedSlot()
void fontsUpdatedSlot()
void onSeekChanged(RVA addr)
void zoom(QPointF mouseRelativePos, double velocity)
void setZoom(QPointF mouseRelativePos, double scale)
void zoomIn()
void zoomOut()
void zoomReset()
void takeTrue()
void takeFalse()
void nextInstr()
void prevInstr()
void copySelection()

Signals

void viewRefreshed()
void viewZoomed()
void graphMoved()
void resized()
void nameChanged(const QString &name)