1 #ifndef INCLUDE__Mainwindow_hxx_
2 #define INCLUDE__Mainwindow_hxx_
10 #include <QPushButton>
11 #include <QMainWindow>
12 #include <QTreeWidget>
13 #include <QStackedWidget>
15 #include <log4cxx/logger.h>
19 class InformationManager;
21 class BasicBlockWidget;
25 class Mainwindow : public QMainWindow {
28 Mainwindow(InformationManager* mgr);
31 void switchMainPlaneToAddress(uint64_t);
32 void requestNewFunctionByAddress(uint64_t address);
35 void addFunction(Function* fun);
36 void setGlobalHotkeys();
39 QPushButton *quitButton;
42 QTabWidget * tabwidget;
43 QTreeWidget * listWidget;
44 QStackedWidget * stackedWidget;
45 QDockWidget * dockWidget;
53 std::map<uint64_t, BasicBlockWidget*> blocks;
54 std::map<uint64_t, Function*> functions;
55 std::map<QTreeWidgetItem*, FunctionWidget*> objects_list;
56 std::map<uint64_t, QTreeWidgetItem*> objects_list_by_address;
57 std::vector<QTreeWidgetItem*> group_list;
58 std::map<std::string, Interpreter*> interpreter;
60 InformationManager* manager;
61 log4cxx::LoggerPtr logger;
68 void switchMainPlane(QTreeWidgetItem* item);
69 void showListContextMenu(const QPoint&);
70 void requestNewFunction();
71 void requestNewGroup();
72 void renameFunction(Function* function);
73 void renameGroup(QTreeWidgetItem* item);
76 #endif /* INCLUDE__Mainwindow_hxx_ */