X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fgui%2Fwidgets%2FBasicBlockWidget.hxx;h=22bc22021c43bd581a5bfa5af1b198451da24317;hp=2122bf208e6b55fa5323367fb4fd496a4c5dfeaf;hb=4443ad3e38327c776dcc68538591456d37c9ed6f;hpb=e75c3d69cb2ebf78e156932deb136c0346b10234 diff --git a/src/gui/widgets/BasicBlockWidget.hxx b/src/gui/widgets/BasicBlockWidget.hxx index 2122bf2..22bc220 100644 --- a/src/gui/widgets/BasicBlockWidget.hxx +++ b/src/gui/widgets/BasicBlockWidget.hxx @@ -2,21 +2,30 @@ #define INCLUDE__BasicBlockWidget_hxx #include "gui/qt.hxx" -#include "disassembler/BasicBlock.hxx" #include #include #include #include +#include +#include +#include + +#include "disassembler/Instruction.hxx" class Mainwindow; +class CustomQGraphicsTextItem; + +class BasicBlock; + +class RenameFunctionEvent; class BasicBlockWidget : public QObject, public QGraphicsItem { Q_OBJECT + friend class CustomQGraphicsTextItem; public: BasicBlockWidget(const QString& name, BasicBlock * block, Mainwindow * mainwindow); - void addItem(uint8_t* bytes, size_t num_bytes, QString line, const QString& href); void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); QRectF boundingRect() const; @@ -40,14 +49,19 @@ public: QString getName() const { return name; } private: + void updateFunctionName(RenameFunctionEvent* event); + void populateWidget(); + uint32_t width, height; QString name; - QGraphicsTextItem _widget; + std::unique_ptr _widget; QTextTable* _table; BasicBlock* block; + std::list instructions; Mainwindow* mainwindow; std::vector previous; BasicBlockWidget* next[2]; + log4cxx::LoggerPtr logger; }; #endif