]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Merge branch 'trace-editing'
[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 ArgumentsEditor;
16 class ImageViewer;
17 class JumpWidget;
18 class QModelIndex;
19 class QProgressBar;
20 class QUrl;
21 class Retracer;
22 class SearchWidget;
23 class ShadersSourceWidget;
24 class TraceProcess;
25 class VertexDataInterpreter;
26
27 class MainWindow : public QMainWindow
28 {
29     Q_OBJECT
30 public:
31     MainWindow();
32     ~MainWindow();
33
34 public slots:
35     void loadTrace(const QString &fileName);
36
37 private slots:
38     void callItemSelected(const QModelIndex &index);
39     void createTrace();
40     void openTrace();
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     void slotSearch();
58     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
59     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
60     void fillState(bool nonDefaults);
61     void customContextMenuRequested(QPoint pos);
62     void editCall();
63     void slotStartedSaving();
64     void slotSaved();
65
66 private:
67     void initObjects();
68     void initConnections();
69     void newTraceFile(const QString &fileName);
70     void replayTrace(bool dumpState);
71     void fillStateForFrame();
72
73 private:
74     Ui_MainWindow m_ui;
75     ShadersSourceWidget *m_sourcesWidget;
76
77     ApiTrace *m_trace;
78     ApiTraceModel *m_model;
79     ApiTraceFilter *m_proxyModel;
80
81     QProgressBar *m_progressBar;
82
83     ApiTraceEvent *m_selectedEvent;
84
85     ApiTraceEvent *m_stateEvent;
86
87     Retracer *m_retracer;
88
89     VertexDataInterpreter *m_vdataInterpreter;
90
91     ImageViewer *m_imageViewer;
92
93     JumpWidget *m_jumpWidget;
94     SearchWidget *m_searchWidget;
95
96     TraceProcess *m_traceProcess;
97
98     ArgumentsEditor *m_argsEditor;
99 };
100
101
102 #endif