]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Add code to interpret and display binary vertex data.
[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 Retracer;
18 class VertexDataInterpreter;
19
20 namespace QJson {
21     class Parser;
22 }
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 QByteArray &output);
41     void replayError(const QString &msg);
42     void startedLoadingTrace();
43     void finishedLoadingTrace();
44     void lookupState();
45     void showSettings();
46
47 private:
48     void newTraceFile(const QString &fileName);
49     void replayTrace(bool dumpState);
50     void parseState(const QVariantMap &params);
51     void fillStateForFrame();
52
53 private:
54     Ui_MainWindow m_ui;
55     ApiTrace *m_trace;
56     ApiTraceModel *m_model;
57     ApiTraceFilter *m_proxyModel;
58     QLineEdit *m_filterEdit;
59
60     QProgressBar *m_progressBar;
61
62     QString m_traceFileName;
63
64     ApiTraceEvent *m_selectedEvent;
65
66     ApiTraceEvent *m_stateEvent;
67
68     QJson::Parser *m_jsonParser;
69
70     Retracer *m_retracer;
71
72     VertexDataInterpreter *m_vdataInterpreter;
73 };
74
75
76 #endif