]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Implement jumping to a specific call.
[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 ImageViewer;
16 class JumpWidget;
17 class QLineEdit;
18 class QModelIndex;
19 class QProgressBar;
20 class QUrl;
21 class Retracer;
22 class ShadersSourceWidget;
23 class VertexDataInterpreter;
24
25 class MainWindow : public QMainWindow
26 {
27     Q_OBJECT
28 public:
29     MainWindow();
30     ~MainWindow();
31
32 public slots:
33     void loadTrace(const QString &fileName);
34
35 private slots:
36     void callItemSelected(const QModelIndex &index);
37     void createTrace();
38     void openTrace();
39     void filterTrace();
40     void replayStart();
41     void replayStop();
42     void replayFinished(const QString &output);
43     void replayStateFound(const ApiTraceState &state);
44     void replayError(const QString &msg);
45     void startedLoadingTrace();
46     void finishedLoadingTrace();
47     void lookupState();
48     void showSettings();
49     void openHelp(const QUrl &url);
50     void showSurfacesMenu(const QPoint &pos);
51     void showSelectedSurface();
52     void slotGoTo();
53     void slotJumpTo(int callNum);
54
55 private:
56     void initObjects();
57     void initConnections();
58     void newTraceFile(const QString &fileName);
59     void replayTrace(bool dumpState);
60     void fillStateForFrame();
61
62 private:
63     Ui_MainWindow m_ui;
64     ShadersSourceWidget *m_sourcesWidget;
65
66     ApiTrace *m_trace;
67     ApiTraceModel *m_model;
68     ApiTraceFilter *m_proxyModel;
69     QLineEdit *m_filterEdit;
70
71     QProgressBar *m_progressBar;
72
73     QString m_traceFileName;
74
75     ApiTraceEvent *m_selectedEvent;
76
77     ApiTraceEvent *m_stateEvent;
78
79     Retracer *m_retracer;
80
81     VertexDataInterpreter *m_vdataInterpreter;
82
83     ImageViewer *m_imageViewer;
84
85     JumpWidget *m_jumpWidget;
86 };
87
88
89 #endif