]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Add a search widget and fix go to.
[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 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 filterTrace();
42     void replayStart();
43     void replayStop();
44     void replayFinished(const QString &output);
45     void replayStateFound(const ApiTraceState &state);
46     void replayError(const QString &msg);
47     void startedLoadingTrace();
48     void finishedLoadingTrace();
49     void lookupState();
50     void showSettings();
51     void openHelp(const QUrl &url);
52     void showSurfacesMenu(const QPoint &pos);
53     void showSelectedSurface();
54     void slotGoTo();
55     void slotJumpTo(int callNum);
56     void createdTrace(const QString &path);
57     void traceError(const QString &msg);
58     void slotSearch();
59     void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
60     void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
61
62 private:
63     void initObjects();
64     void initConnections();
65     void newTraceFile(const QString &fileName);
66     void replayTrace(bool dumpState);
67     void fillStateForFrame();
68
69 private:
70     Ui_MainWindow m_ui;
71     ShadersSourceWidget *m_sourcesWidget;
72
73     ApiTrace *m_trace;
74     ApiTraceModel *m_model;
75     ApiTraceFilter *m_proxyModel;
76     QLineEdit *m_filterEdit;
77
78     QProgressBar *m_progressBar;
79
80     QString m_traceFileName;
81
82     ApiTraceEvent *m_selectedEvent;
83
84     ApiTraceEvent *m_stateEvent;
85
86     Retracer *m_retracer;
87
88     VertexDataInterpreter *m_vdataInterpreter;
89
90     ImageViewer *m_imageViewer;
91
92     JumpWidget *m_jumpWidget;
93     SearchWidget *m_searchWidget;
94
95     TraceProcess *m_traceProcess;
96 };
97
98
99 #endif