#include <log4cxx/logger.h>
+#include "core/events/NewFunctionEvent.hxx"
+
class Disassembler;
class Function;
class InformationManager;
class FunctionWidget;
class BasicBlockWidget;
class FridaDock;
-class Interpreter;
class Mainwindow : public QMainWindow {
Q_OBJECT
public:
Mainwindow(InformationManager* mgr);
-public Q_SLOTS:
+public slots:
void switchMainPlaneToAddress(uint64_t);
+
+signals:
void requestNewFunctionByAddress(uint64_t address);
private:
QDockWidget * dockWidget;
FridaDock * fdock;
+ QTreeWidgetItem * external;
+
QAction *exitAction;
QAction *openAction;
QAction *loadAction;
std::map<QTreeWidgetItem*, FunctionWidget*> objects_list;
std::map<uint64_t, QTreeWidgetItem*> objects_list_by_address;
std::vector<QTreeWidgetItem*> group_list;
- std::map<std::string, Interpreter*> interpreter;
InformationManager* manager;
log4cxx::LoggerPtr logger;
-private Q_SLOTS:
+private slots:
void quit();
void open();
void load();
void requestNewGroup();
void renameFunction(Function* function);
void renameGroup(QTreeWidgetItem* item);
+
+ void handleNewFunctionEvent(NewFunctionEvent event);
};
#endif /* INCLUDE__Mainwindow_hxx_ */