1 #ifndef INCLUDE__Mainwindow_hxx_
2 #define INCLUDE__Mainwindow_hxx_
10 #include <QMainWindow>
11 #include <QTreeWidget>
12 #include <QStackedWidget>
14 #include <log4cxx/logger.h>
18 class InformationManager;
20 class BasicBlockWidget;
23 class Mainwindow : public QMainWindow {
26 Mainwindow(InformationManager* mgr);
29 void switchMainPlaneToAddress(uint64_t);
30 void requestNewFunctionByAddress(uint64_t address);
33 void addFunction(Function* fun);
34 void setGlobalHotkeys();
37 QPushButton *quitButton;
40 QTabWidget * tabwidget;
41 QTreeWidget * listWidget;
42 QStackedWidget * stackedWidget;
43 QDockWidget * dockWidget;
44 ScriptingDock * scripting;
50 std::map<uint64_t, BasicBlockWidget*> blocks;
51 std::map<uint64_t, Function*> functions;
52 std::map<QTreeWidgetItem*, FunctionWidget*> objects_list;
53 std::map<uint64_t, QTreeWidgetItem*> objects_list_by_address;
54 std::vector<QTreeWidgetItem*> group_list;
56 InformationManager* manager;
57 log4cxx::LoggerPtr logger;
63 void switchMainPlane(QTreeWidgetItem* item);
64 void showListContextMenu(const QPoint&);
65 void requestNewFunction();
66 void requestNewGroup();
67 void renameFunction(Function* function);
70 #endif /* INCLUDE__Mainwindow_hxx_ */