]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Go to the selected error.
[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 QTreeWidgetItem;
22 class QUrl;
23 class RetraceError;
24 class Retracer;
25 class SearchWidget;
26 class ShadersSourceWidget;
27 class TraceProcess;
28 class VertexDataInterpreter;
29
30 class MainWindow : public QMainWindow
31 {
32     Q_OBJECT
33 public:
34     MainWindow();
35     ~MainWindow();
36
37 public slots:
38     void loadTrace(const QString &fileName);
39
40 private slots:
41     void callItemSelected(const QModelIndex &index);
42     void createTrace();
43     void openTrace();
44     void replayStart();
45     void replayStop();
46     void replayFinished(const QString &output);
47     void replayStateFound(const ApiTraceState &state);
48     void replayError(const QString &msg);
49     void startedLoadingTrace();
50     void finishedLoadingTrace();
51     void lookupState();
52     void showSettings();
53     void openHelp(const QUrl &url);
54     void showSurfacesMenu(const QPoint &pos);
55     void showSelectedSurface();
56     void slotGoTo();
57     void slotJumpTo(int callNum);
58     void createdTrace(const QString &path);
59     void traceError(const QString &msg);
60     void slotSearch();
61     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
62     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
63     void fillState(bool nonDefaults);
64     void customContextMenuRequested(QPoint pos);
65     void editCall();
66     void slotStartedSaving();
67     void slotSaved();
68     void slotGoFrameStart();
69     void slotGoFrameEnd();
70     void slotTraceChanged(ApiTraceCall *call);
71     void slotRetraceErrors(const QList<RetraceError> &errors);
72     void slotErrorSelected(QTreeWidgetItem *current);
73
74 private:
75     void initObjects();
76     void initConnections();
77     void newTraceFile(const QString &fileName);
78     void replayTrace(bool dumpState);
79     void fillStateForFrame();
80     ApiTraceFrame *currentFrame() 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     ImageViewer *m_imageViewer;
101
102     JumpWidget *m_jumpWidget;
103     SearchWidget *m_searchWidget;
104
105     TraceProcess *m_traceProcess;
106
107     ArgumentsEditor *m_argsEditor;
108 };
109
110
111 #endif