]> git.siccegge.de Git - frida/frida.git/blob - src/gui/Mainwindow.hxx
Draw edges between BasicBlockWidgets while handling loops
[frida/frida.git] / src / gui / Mainwindow.hxx
1 #include <memory>
2 #include <map>
3 #include <QTextEdit>
4 #include <QPushButton>
5 #include <QMainWindow>
6 #include <QListWidget>
7 #include <QStackedWidget>
8
9 #include "disassembler/Disassembler.hxx"
10 #include "widgets/BasicBlockWidget.hxx"
11
12 class Mainwindow : public QMainWindow {
13 Q_OBJECT
14 public:
15 Mainwindow(const std::string& filename = "");
16 private:
17 void openBinary(const std::string& filename);
18
19 void populateSymbolInformation(Function * fun);
20
21 QTextEdit *textEdit;
22 QPushButton *quitButton;
23 QMenu *fileMenu;
24
25 QTabWidget * tabwidget;
26 QListWidget * listWidget;
27 QStackedWidget * stackedWidget;
28 QDockWidget * dockWidget;
29
30 QAction *exitAction;
31 QAction *openAction;
32
33 std::shared_ptr<Disassembler> disassembler;
34 std::map<uint64_t, BasicBlockWidget*> blocks;
35 private slots:
36 void quit();
37 void open();
38 };