]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Show the call for which the surface we're displaying.
[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 JumpWidget;
18 class QModelIndex;
19 class QProgressBar;
20 class QTreeWidgetItem;
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     void slotErrorSelected(QTreeWidgetItem *current);
72
73 private:
74     void initObjects();
75     void initConnections();
76     void newTraceFile(const QString &fileName);
77     void replayTrace(bool dumpState);
78     void fillStateForFrame();
79     ApiTraceFrame *currentFrame() const;
80     ApiTraceCall *currentCall() const;
81
82 private:
83     Ui_MainWindow m_ui;
84     ShadersSourceWidget *m_sourcesWidget;
85
86     ApiTrace *m_trace;
87     ApiTraceModel *m_model;
88     ApiTraceFilter *m_proxyModel;
89
90     QProgressBar *m_progressBar;
91
92     ApiTraceEvent *m_selectedEvent;
93
94     ApiTraceEvent *m_stateEvent;
95
96     Retracer *m_retracer;
97
98     VertexDataInterpreter *m_vdataInterpreter;
99
100     JumpWidget *m_jumpWidget;
101     SearchWidget *m_searchWidget;
102
103     TraceProcess *m_traceProcess;
104
105     ArgumentsEditor *m_argsEditor;
106 };
107
108
109 #endif