FunctionWidget::FunctionWidget(Function* function, Mainwindow* mainwindow)
: function(function)
, mainwindow(mainwindow)
- , logger(log4cxx::Logger::getLogger("Mainwindow")) {
+ , logger(log4cxx::Logger::getLogger("gui.Mainwindow")) {
// CFG
CFGScene * scene = new CFGScene;
manager, _blocks, scene, start_address, 100);
QGraphicsView * view = new QGraphicsView(scene);
+ view->setDragMode(QGraphicsView::ScrollHandDrag);
addTab(view, "CFG");
// Listing
CFGScene * scene, uint64_t starty, uint64_t startx) {
decltype(known_blocks.begin()) old;
+ if (!block) return NULL;
if ((old = known_blocks.find(block->getStartAddress())) != known_blocks.end())
return old->second;
widget->setFlag(QGraphicsItem::ItemIsMovable, true);
widget->moveBy(100*startx, block->getStartAddress() - starty);
- manager->getDisassembler()
- ->printEachInstruction(block->getStartAddress(),
- block->getEndAddress(),
- [&](uint8_t* bytes,
- size_t byte_count,
- const std::string& line,
- const std::string& ref) {
- widget->addItem(bytes, byte_count,
- line.c_str() + 1, // remove \t
- ref.c_str());
- });
-
BasicBlockWidget *tmp, *nextl(NULL), *nextr(NULL);
BasicBlock * tmpblock;
if (block->getNextBlock(0) != 0) {