]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Large chunk of showing the replay errors.
[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 ApiTraceCall;
11 class ApiTraceEvent;
12 class ApiTraceFilter;
13 class ApiTraceFrame;
14 class ApiTraceModel;
15 class ApiTraceState;
16 class ArgumentsEditor;
17 class ImageViewer;
18 class JumpWidget;
19 class QModelIndex;
20 class QProgressBar;
21 class QUrl;
22 class RetraceError;
23 class Retracer;
24 class SearchWidget;
25 class ShadersSourceWidget;
26 class TraceProcess;
27 class VertexDataInterpreter;
28
29 class MainWindow : public QMainWindow
30 {
31     Q_OBJECT
32 public:
33     MainWindow();
34     ~MainWindow();
35
36 public slots:
37     void loadTrace(const QString &fileName);
38
39 private slots:
40     void callItemSelected(const QModelIndex &index);
41     void createTrace();
42     void openTrace();
43     void replayStart();
44     void replayStop();
45     void replayFinished(const QString &output);
46     void replayStateFound(const ApiTraceState &state);
47     void replayError(const QString &msg);
48     void startedLoadingTrace();
49     void finishedLoadingTrace();
50     void lookupState();
51     void showSettings();
52     void openHelp(const QUrl &url);
53     void showSurfacesMenu(const QPoint &pos);
54     void showSelectedSurface();
55     void slotGoTo();
56     void slotJumpTo(int callNum);
57     void createdTrace(const QString &path);
58     void traceError(const QString &msg);
59     void slotSearch();
60     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
61     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
62     void fillState(bool nonDefaults);
63     void customContextMenuRequested(QPoint pos);
64     void editCall();
65     void slotStartedSaving();
66     void slotSaved();
67     void slotGoFrameStart();
68     void slotGoFrameEnd();
69     void slotTraceChanged(ApiTraceCall *call);
70     void slotRetraceErrors(const QList<RetraceError> &errors);
71
72 private:
73     void initObjects();
74     void initConnections();
75     void newTraceFile(const QString &fileName);
76     void replayTrace(bool dumpState);
77     void fillStateForFrame();
78     ApiTraceFrame *currentFrame() const;
79
80 private:
81     Ui_MainWindow m_ui;
82     ShadersSourceWidget *m_sourcesWidget;
83
84     ApiTrace *m_trace;
85     ApiTraceModel *m_model;
86     ApiTraceFilter *m_proxyModel;
87
88     QProgressBar *m_progressBar;
89
90     ApiTraceEvent *m_selectedEvent;
91
92     ApiTraceEvent *m_stateEvent;
93
94     Retracer *m_retracer;
95
96     VertexDataInterpreter *m_vdataInterpreter;
97
98     ImageViewer *m_imageViewer;
99
100     JumpWidget *m_jumpWidget;
101     SearchWidget *m_searchWidget;
102
103     TraceProcess *m_traceProcess;
104
105     ArgumentsEditor *m_argsEditor;
106 };
107
108
109 #endif