X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fgui%2Fwidgets%2FBasicBlockWidget.hxx;h=c351c3a69a28093762c600a079b7b7acca0de2ca;hp=2dcc80c237b0890e5cfe3e1ecd39c617d73244b5;hb=8ba5b5b647e39ce4b337b6b56a246f293c511954;hpb=9e283567ac56a6433e832d0fa38cf534a0cb8f9f diff --git a/src/gui/widgets/BasicBlockWidget.hxx b/src/gui/widgets/BasicBlockWidget.hxx index 2dcc80c..c351c3a 100644 --- a/src/gui/widgets/BasicBlockWidget.hxx +++ b/src/gui/widgets/BasicBlockWidget.hxx @@ -8,12 +8,14 @@ #include #include +class Mainwindow; + class BasicBlockWidget : public QGraphicsItem { public: - BasicBlockWidget(const QString& name, BasicBlock * block); + BasicBlockWidget(const QString& name, BasicBlock * block, Mainwindow * mainwindow); - void addItem(uint8_t* bytes, size_t num_bytes, const QString& line); + void addItem(uint8_t* bytes, size_t num_bytes, QString line, const QString& href); QRectF boundingRect() const { qreal penWidth = 1; @@ -32,9 +34,9 @@ public: } std::array getExits() const { - return { { mapToScene(QPointF( width/3, height)), - mapToScene(QPointF( width/2, height)), - mapToScene(QPointF(2*width/3, height)) } }; + return { { mapToScene(QPointF( width/3, height)), + mapToScene(QPointF( width/2, height)), + mapToScene(QPointF(2*width/3, height)) } }; } void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, @@ -43,8 +45,6 @@ public: painter->setPen(QColor(0x00, 0x00, 0xff, 0xff)); painter->drawRect(0, 0, width, height); painter->drawText(5, 15, name); - if (_widget.text() != "") - _widget.render(painter, QPoint(5, 20)); } void addPrevious(BasicBlockWidget * widget) { @@ -60,11 +60,17 @@ public: return next; } + QString getName() const { + return name; + } private: uint32_t width, height; + QGraphicsProxyWidget _proxy; + QGridLayout _layout; QLabel _widget; QString name; BasicBlock * block; + Mainwindow * mainwindow; std::vector previous; BasicBlockWidget* next[2]; };