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;
24 class Mainwindow : public QMainWindow {
27 Mainwindow(InformationManager* mgr);
30 void switchMainPlaneToAddress(uint64_t);
31 void requestNewFunctionByAddress(uint64_t address);
34 void addFunction(Function* fun);
35 void setGlobalHotkeys();
38 QPushButton *quitButton;
41 QTabWidget * tabwidget;
42 QTreeWidget * listWidget;
43 QStackedWidget * stackedWidget;
44 QDockWidget * dockWidget;
52 std::map<uint64_t, BasicBlockWidget*> blocks;
53 std::map<uint64_t, Function*> functions;
54 std::map<QTreeWidgetItem*, FunctionWidget*> objects_list;
55 std::map<uint64_t, QTreeWidgetItem*> objects_list_by_address;
56 std::vector<QTreeWidgetItem*> group_list;
58 InformationManager* manager;
59 log4cxx::LoggerPtr logger;
66 void switchMainPlane(QTreeWidgetItem* item);
67 void showListContextMenu(const QPoint&);
68 void requestNewFunction();
69 void requestNewGroup();
70 void renameFunction(Function* function);
71 void renameGroup(QTreeWidgetItem* item);
74 #endif /* INCLUDE__Mainwindow_hxx_ */