#include <memory>
#include <map>
#include <vector>
+#include <string>
#include <QTextEdit>
#include <QPushButton>
#include <log4cxx/logger.h>
+#include "core/events/NewFunctionEvent.hxx"
+
class Disassembler;
class Function;
class InformationManager;
class FunctionWidget;
class BasicBlockWidget;
-class ScriptingDock;
+class FridaDock;
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:
QTreeWidget * listWidget;
QStackedWidget * stackedWidget;
QDockWidget * dockWidget;
- ScriptingDock * scripting;
+ FridaDock * fdock;
+
+ QTreeWidgetItem * external;
QAction *exitAction;
QAction *openAction;
+ QAction *loadAction;
QAction *saveAction;
std::map<uint64_t, BasicBlockWidget*> blocks;
InformationManager* manager;
log4cxx::LoggerPtr logger;
-private Q_SLOTS:
+private slots:
void quit();
void open();
+ void load();
void save();
void switchMainPlane(QTreeWidgetItem* item);
void showListContextMenu(const QPoint&);
void requestNewFunction();
void requestNewGroup();
void renameFunction(Function* function);
+ void renameGroup(QTreeWidgetItem* item);
+
+ void handleNewFunctionEvent(NewFunctionEvent event);
};
#endif /* INCLUDE__Mainwindow_hxx_ */