]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Implement showing only of events specified by a regexp.
[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 QModelIndex;
18 class QProgressBar;
19 class QUrl;
20 class Retracer;
21 class SearchWidget;
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 replayStart();
41     void replayStop();
42     void replayFinished(const QString &output);
43     void replayStateFound(const ApiTraceState &state);
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     void slotGoTo();
53     void slotJumpTo(int callNum);
54     void createdTrace(const QString &path);
55     void traceError(const QString &msg);
56     void slotSearch();
57     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
58     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
59
60 private:
61     void initObjects();
62     void initConnections();
63     void newTraceFile(const QString &fileName);
64     void replayTrace(bool dumpState);
65     void fillStateForFrame();
66
67 private:
68     Ui_MainWindow m_ui;
69     ShadersSourceWidget *m_sourcesWidget;
70
71     ApiTrace *m_trace;
72     ApiTraceModel *m_model;
73     ApiTraceFilter *m_proxyModel;
74
75     QProgressBar *m_progressBar;
76
77     QString m_traceFileName;
78
79     ApiTraceEvent *m_selectedEvent;
80
81     ApiTraceEvent *m_stateEvent;
82
83     Retracer *m_retracer;
84
85     VertexDataInterpreter *m_vdataInterpreter;
86
87     ImageViewer *m_imageViewer;
88
89     JumpWidget *m_jumpWidget;
90     SearchWidget *m_searchWidget;
91
92     TraceProcess *m_traceProcess;
93 };
94
95
96 #endif