]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Show currently bound shaders.
[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 QLineEdit;
15 class QModelIndex;
16 class QProgressBar;
17 class QUrl;
18 class Retracer;
19 class ShadersSourceWidget;
20 class VertexDataInterpreter;
21
22 namespace QJson {
23     class Parser;
24 }
25
26 class MainWindow : public QMainWindow
27 {
28     Q_OBJECT
29 public:
30     MainWindow();
31     ~MainWindow();
32
33 public slots:
34     void loadTrace(const QString &fileName);
35
36 private slots:
37     void callItemSelected(const QModelIndex &index);
38     void openTrace();
39     void filterTrace();
40     void replayStart();
41     void replayStop();
42     void replayFinished(const QByteArray &output);
43     void replayError(const QString &msg);
44     void startedLoadingTrace();
45     void finishedLoadingTrace();
46     void lookupState();
47     void showSettings();
48     void openHelp(const QUrl &url);
49
50 private:
51     void newTraceFile(const QString &fileName);
52     void replayTrace(bool dumpState);
53     void parseState(const QVariantMap &params);
54     void fillStateForFrame();
55
56 private:
57     Ui_MainWindow m_ui;
58     ShadersSourceWidget *m_sourcesWidget;
59
60     ApiTrace *m_trace;
61     ApiTraceModel *m_model;
62     ApiTraceFilter *m_proxyModel;
63     QLineEdit *m_filterEdit;
64
65     QProgressBar *m_progressBar;
66
67     QString m_traceFileName;
68
69     ApiTraceEvent *m_selectedEvent;
70
71     ApiTraceEvent *m_stateEvent;
72
73     QJson::Parser *m_jsonParser;
74
75     Retracer *m_retracer;
76
77     VertexDataInterpreter *m_vdataInterpreter;
78 };
79
80
81 #endif