]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Switch the gui to the on-demand-loader.
[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 struct 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(ApiTraceState *state);
47     void replayError(const QString &msg);
48     void startedLoadingTrace();
49     void loadProgess(int percent);
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 saveSelectedSurface();
57     void slotGoTo();
58     void slotJumpTo(int callNum);
59     void createdTrace(const QString &path);
60     void traceError(const QString &msg);
61     void slotSearch();
62     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
63     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
64     void fillState(bool nonDefaults);
65     void customContextMenuRequested(QPoint pos);
66     void editCall();
67     void slotStartedSaving();
68     void slotSaved();
69     void slotGoFrameStart();
70     void slotGoFrameEnd();
71     void slotTraceChanged(ApiTraceCall *call);
72     void slotRetraceErrors(const QList<RetraceError> &errors);
73     void slotErrorSelected(QTreeWidgetItem *current);
74
75 private:
76     void initObjects();
77     void initConnections();
78     void newTraceFile(const QString &fileName);
79     void replayTrace(bool dumpState);
80     void fillStateForFrame();
81     ApiTraceFrame *currentFrame() const;
82     ApiTraceCall *currentCall() const;
83
84 private:
85     Ui_MainWindow m_ui;
86     ShadersSourceWidget *m_sourcesWidget;
87
88     ApiTrace *m_trace;
89     ApiTraceModel *m_model;
90     ApiTraceFilter *m_proxyModel;
91
92     QProgressBar *m_progressBar;
93
94     ApiTraceEvent *m_selectedEvent;
95
96     ApiTraceEvent *m_stateEvent;
97
98     Retracer *m_retracer;
99
100     VertexDataInterpreter *m_vdataInterpreter;
101
102     JumpWidget *m_jumpWidget;
103     SearchWidget *m_searchWidget;
104
105     TraceProcess *m_traceProcess;
106
107     ArgumentsEditor *m_argsEditor;
108
109     ApiTraceEvent *m_nonDefaultsLookupEvent;
110 };
111
112
113 #endif