#ifndef INCLUDE__BasicBlockWidget_hxx
#define INCLUDE__BasicBlockWidget_hxx
-#include "gui/qt.hxx"
+#include "qt.hxx"
#include <vector>
#include <cassert>
#include <tuple>
#include <array>
#include <memory>
#include <log4cxx/logger.h>
-#include <list>
#include "disassembler/Instruction.hxx"
class Mainwindow;
class CustomQGraphicsTextItem;
-
class BasicBlock;
-
class RenameFunctionEvent;
+class ChangeCommentEvent;
class BasicBlockWidget : public QObject, public QGraphicsItem
{
QString getName() const
{ return name; }
+
+ QColor setColor(const QColor& newColor) {
+ QColor lastcolor = currentColor;
+ currentColor = newColor;
+ return lastcolor;
+ }
+
+ const QColor defaultColor = QColor(0xcc, 0xcc, 0xff, 0xff);
+ const QColor highlightColor = QColor(0xff, 0x99, 0xff, 0xff);
private:
void updateFunctionName(RenameFunctionEvent* event);
void populateWidget();
+ void changeCommentHandler(ChangeCommentEvent* event);
+ QString formatComments(Instruction* inst);
uint32_t width, height;
QString name;
+ QColor currentColor;
std::unique_ptr<QGraphicsTextItem> _widget;
QTextTable* _table;
BasicBlock* block;
- std::list<Instruction> instructions;
+ std::vector<Instruction> instructions;
Mainwindow* mainwindow;
std::vector<BasicBlockWidget*> previous;
BasicBlockWidget* next[2];