1 #ifndef INCLUDE__Mainwindow_hxx_
2 #define INCLUDE__Mainwindow_hxx_
10 #include <QMainWindow>
11 #include <QListWidget>
12 #include <QStackedWidget>
14 #include <log4cxx/logger.h>
16 #include "disassembler/Disassembler.hxx"
17 #include "widgets/BasicBlockWidget.hxx"
18 #include "widgets/ScriptingDock.hxx"
19 #include "core/InformationManager.hxx"
21 class Mainwindow : public QMainWindow {
24 Mainwindow(InformationManager* mgr);
27 void addFunction(Function* fun);
30 QPushButton *quitButton;
33 QTabWidget * tabwidget;
34 QListWidget * listWidget;
35 QStackedWidget * stackedWidget;
36 QDockWidget * dockWidget;
37 ScriptingDock * scripting;
42 std::map<uint64_t, BasicBlockWidget*> blocks;
43 std::map<QListWidgetItem*, QWidget*> objects_list;
44 std::map<uint64_t, QListWidgetItem*> objects_list_by_address;
45 std::set<Function*> functions;
46 InformationManager* manager;
48 log4cxx::LoggerPtr logger;
50 void switchMainPlaneToAddress(uint64_t);
54 void switchMainPlane(int);
55 void showListContextMenu(const QPoint&);
56 void requestNewFunction();
57 void renameFunction(QListWidgetItem * item);
60 #endif /* INCLUDE__Mainwindow_hxx_ */