#include <memory>
#include <log4cxx/logger.h>
+#include "disassembler/Instruction.hxx"
+
class Mainwindow;
class CustomQGraphicsTextItem;
-
class BasicBlock;
+class RenameFunctionEvent;
class BasicBlockWidget : public QObject, public QGraphicsItem
{
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;
QString getName() const
{ return name; }
private:
+ void updateFunctionName(RenameFunctionEvent* event);
+ void populateWidget();
+
uint32_t width, height;
QString name;
std::unique_ptr<QGraphicsTextItem> _widget;
QTextTable* _table;
BasicBlock* block;
+ std::vector<Instruction> instructions;
Mainwindow* mainwindow;
std::vector<BasicBlockWidget*> previous;
BasicBlockWidget* next[2];