X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fgui%2FMainwindow.hxx;h=769ba6f0dd8bcb1a9a43ed4628cb6650985e2bba;hp=ba0d8b4944529138ff78fbf2e9b995133c677dab;hb=f9d8bd4a0312a92a1ec3493e83996c0a99d8d1bf;hpb=bb5959013f2daeff2c0639e868d6406500dc17fb diff --git a/src/gui/Mainwindow.hxx b/src/gui/Mainwindow.hxx index ba0d8b4..769ba6f 100644 --- a/src/gui/Mainwindow.hxx +++ b/src/gui/Mainwindow.hxx @@ -3,29 +3,35 @@ #include #include +#include +#include #include #include #include -#include +#include #include #include +#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: @@ -37,31 +43,40 @@ private: QMenu *fileMenu; QTabWidget * tabwidget; - QListWidget * listWidget; + QTreeWidget * listWidget; QStackedWidget * stackedWidget; QDockWidget * dockWidget; - ScriptingDock * scripting; + FridaDock * fdock; + + QTreeWidgetItem * external; QAction *exitAction; QAction *openAction; + QAction *loadAction; QAction *saveAction; std::map blocks; std::map functions; - std::map objects_list; - std::map objects_list_by_address; + std::map objects_list; + std::map objects_list_by_address; + std::vector group_list; InformationManager* manager; log4cxx::LoggerPtr logger; -private Q_SLOTS: +private slots: void quit(); void open(); + void load(); void save(); - void switchMainPlane(int); + 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_ */