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