#include <tuple>
#include <array>
#include <memory>
+#include <log4cxx/logger.h>
+
+#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;
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];
+ log4cxx::LoggerPtr logger;
};
#endif