X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fgui%2Fwidgets%2FBasicBlockWidget.hxx;h=8ee33a56f21a43e6bcccfb26bbde48b6e395f58f;hp=8aa182f671f94c130f923729ec4ef01a90053997;hb=ac5817edcb30c89bc1e5fdcf3a124c3dc2e49630;hpb=4bcd18ed3dc3450d014351f5b27d1c7d1596601c diff --git a/src/gui/widgets/BasicBlockWidget.hxx b/src/gui/widgets/BasicBlockWidget.hxx index 8aa182f..8ee33a5 100644 --- a/src/gui/widgets/BasicBlockWidget.hxx +++ b/src/gui/widgets/BasicBlockWidget.hxx @@ -8,12 +8,15 @@ #include #include -class BasicBlockWidget : public QGraphicsItem +class Mainwindow; + +class BasicBlockWidget : public QObject, public QGraphicsItem { + Q_OBJECT 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 +35,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, @@ -58,12 +61,16 @@ public: return next; } + QString getName() const { + return name; + } private: uint32_t width, height; - QGraphicsProxyWidget _proxy; - QLabel _widget; + QGraphicsTextItem _widget; + QTextTable* _table; QString name; BasicBlock * block; + Mainwindow * mainwindow; std::vector previous; BasicBlockWidget* next[2]; };