]> git.siccegge.de Git - frida/frida.git/blobdiff - src/gui/Mainwindow.cxx
Move the interpreters to the core InformationManager
[frida/frida.git] / src / gui / Mainwindow.cxx
index 47c78858e46314efbe448a1d185b1f7377e8e3d2..859311032c79c45a49e1721d97ab32b1c67e61a6 100644 (file)
@@ -6,6 +6,9 @@
 #include "core/BasicBlock.hxx"
 #include "core/InformationManager.hxx"
 #include "core/events/RenameFunctionEvent.hxx"
+
+#include "widgets/FridaDock.hxx"
+#include "widgets/LogDock.hxx"
 #include "widgets/ScriptingDock.hxx"
 #include "widgets/CFGScene.hxx"
 #include "widgets/FunctionWidget.hxx"
@@ -16,7 +19,7 @@
 
 Mainwindow::Mainwindow(InformationManager* mgr)
        : manager(mgr)
-       , logger(log4cxx::Logger::getLogger("Mainwindow")) {
+       , logger(log4cxx::Logger::getLogger("gui.Mainwindow")) {
        openAction = new QAction(tr("&Open"), this);
        loadAction = new QAction(tr("&Load"), this);
        saveAction = new QAction(tr("&Save"), this);
@@ -40,20 +43,23 @@ Mainwindow::Mainwindow(InformationManager* mgr)
 
        QMenu* interpretermenu = menuBar()->addMenu(tr("&Interpreter"));
 
-       interpreter["GUILE"] = new GuileInterpreter;
-       scripting = new ScriptingDock(interpreter["GUILE"], tr("Scripting"), this);
-       scripting->setAllowedAreas(Qt::BottomDockWidgetArea);
-       addDockWidget(Qt::BottomDockWidgetArea, scripting);
+       fdock = new FridaDock(tr("Frida Dock"), this);
+
+       fdock->addTab(new LogDock(fdock), "Log");
+
+       fdock->addTab(new ScriptingDock(manager->getInterpreter("GUILE"), fdock), "guile");
+       fdock->setAllowedAreas(Qt::BottomDockWidgetArea);
+       addDockWidget(Qt::BottomDockWidgetArea, fdock);
        QAction* guileLoad = new QAction(tr("&GUILE"), this);
        interpretermenu->addAction(guileLoad);
        connect(guileLoad, &QAction::triggered,
                [&]() {
                        QString fileName = QFileDialog::getOpenFileName(this, tr("Open Script"), "",
                                                                        tr("Binaries") + " (*." +
-                                                                       interpreter["GUILE"]->fileExtension().c_str() + ")");
+                                                                       manager->getInterpreter("GUILE")->fileExtension().c_str() + ")");
                        std::stringstream a, b;
                        std::string c;
-                       interpreter["GUILE"]->loadFile(fileName.toStdString(), a, b, c);
+                       manager->getInterpreter("GUILE")->loadFile(fileName.toStdString(), a, b, c);
                });
 
        listWidget = new QTreeWidget();