]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Add a trace dialog.
[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 createTrace();
37     void openTrace();
38     void filterTrace();
39     void replayStart();
40     void replayStop();
41     void replayFinished(const QString &output);
42     void replayStateFound(const ApiTraceState &state);
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     void showSurfacesMenu(const QPoint &pos);
50     void showSelectedSurface();
51
52 private:
53     void initObjects();
54     void initConnections();
55     void newTraceFile(const QString &fileName);
56     void replayTrace(bool dumpState);
57     void fillStateForFrame();
58
59 private:
60     Ui_MainWindow m_ui;
61     ShadersSourceWidget *m_sourcesWidget;
62
63     ApiTrace *m_trace;
64     ApiTraceModel *m_model;
65     ApiTraceFilter *m_proxyModel;
66     QLineEdit *m_filterEdit;
67
68     QProgressBar *m_progressBar;
69
70     QString m_traceFileName;
71
72     ApiTraceEvent *m_selectedEvent;
73
74     ApiTraceEvent *m_stateEvent;
75
76     Retracer *m_retracer;
77
78     VertexDataInterpreter *m_vdataInterpreter;
79
80     ImageViewer *m_imageViewer;
81 };
82
83
84 #endif