]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Replay and parse json in a thread.
[apitrace] / gui / mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include "ui_mainwindow.h"
5
6 #include <QMainWindow>
7 #include <QProcess>
8
9 class ApiTrace;
10 class ApiTraceEvent;
11 class ApiTraceFilter;
12 class ApiTraceFrame;
13 class ApiTraceModel;
14 class ApiTraceState;
15 class ImageViewer;
16 class QLineEdit;
17 class QModelIndex;
18 class QProgressBar;
19 class QUrl;
20 class Retracer;
21 class ShadersSourceWidget;
22 class VertexDataInterpreter;
23
24 class MainWindow : public QMainWindow
25 {
26     Q_OBJECT
27 public:
28     MainWindow();
29     ~MainWindow();
30
31 public slots:
32     void loadTrace(const QString &fileName);
33
34 private slots:
35     void callItemSelected(const QModelIndex &index);
36     void openTrace();
37     void filterTrace();
38     void replayStart();
39     void replayStop();
40     void replayFinished(const QString &output);
41     void replayStateFound(const ApiTraceState &state);
42     void replayError(const QString &msg);
43     void startedLoadingTrace();
44     void finishedLoadingTrace();
45     void lookupState();
46     void showSettings();
47     void openHelp(const QUrl &url);
48     void showSurfacesMenu(const QPoint &pos);
49     void showSelectedSurface();
50
51 private:
52     void initObjects();
53     void initConnections();
54     void newTraceFile(const QString &fileName);
55     void replayTrace(bool dumpState);
56     void fillStateForFrame();
57
58 private:
59     Ui_MainWindow m_ui;
60     ShadersSourceWidget *m_sourcesWidget;
61
62     ApiTrace *m_trace;
63     ApiTraceModel *m_model;
64     ApiTraceFilter *m_proxyModel;
65     QLineEdit *m_filterEdit;
66
67     QProgressBar *m_progressBar;
68
69     QString m_traceFileName;
70
71     ApiTraceEvent *m_selectedEvent;
72
73     ApiTraceEvent *m_stateEvent;
74
75     Retracer *m_retracer;
76
77     VertexDataInterpreter *m_vdataInterpreter;
78
79     ImageViewer *m_imageViewer;
80 };
81
82
83 #endif