]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Implement tracing from the ui.
[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 JumpWidget;
17 class QLineEdit;
18 class QModelIndex;
19 class QProgressBar;
20 class QUrl;
21 class Retracer;
22 class ShadersSourceWidget;
23 class TraceProcess;
24 class VertexDataInterpreter;
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 createTrace();
39     void openTrace();
40     void filterTrace();
41     void replayStart();
42     void replayStop();
43     void replayFinished(const QString &output);
44     void replayStateFound(const ApiTraceState &state);
45     void replayError(const QString &msg);
46     void startedLoadingTrace();
47     void finishedLoadingTrace();
48     void lookupState();
49     void showSettings();
50     void openHelp(const QUrl &url);
51     void showSurfacesMenu(const QPoint &pos);
52     void showSelectedSurface();
53     void slotGoTo();
54     void slotJumpTo(int callNum);
55     void createdTrace(const QString &path);
56     void traceError(const QString &msg);
57
58 private:
59     void initObjects();
60     void initConnections();
61     void newTraceFile(const QString &fileName);
62     void replayTrace(bool dumpState);
63     void fillStateForFrame();
64
65 private:
66     Ui_MainWindow m_ui;
67     ShadersSourceWidget *m_sourcesWidget;
68
69     ApiTrace *m_trace;
70     ApiTraceModel *m_model;
71     ApiTraceFilter *m_proxyModel;
72     QLineEdit *m_filterEdit;
73
74     QProgressBar *m_progressBar;
75
76     QString m_traceFileName;
77
78     ApiTraceEvent *m_selectedEvent;
79
80     ApiTraceEvent *m_stateEvent;
81
82     Retracer *m_retracer;
83
84     VertexDataInterpreter *m_vdataInterpreter;
85
86     ImageViewer *m_imageViewer;
87
88     JumpWidget *m_jumpWidget;
89
90     TraceProcess *m_traceProcess;
91 };
92
93
94 #endif