]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Implement an edit menu.
[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     void slotGoFrameStart();
66     void slotGoFrameEnd();
67
68 private:
69     void initObjects();
70     void initConnections();
71     void newTraceFile(const QString &fileName);
72     void replayTrace(bool dumpState);
73     void fillStateForFrame();
74     ApiTraceFrame *currentFrame() const;
75
76 private:
77     Ui_MainWindow m_ui;
78     ShadersSourceWidget *m_sourcesWidget;
79
80     ApiTrace *m_trace;
81     ApiTraceModel *m_model;
82     ApiTraceFilter *m_proxyModel;
83
84     QProgressBar *m_progressBar;
85
86     ApiTraceEvent *m_selectedEvent;
87
88     ApiTraceEvent *m_stateEvent;
89
90     Retracer *m_retracer;
91
92     VertexDataInterpreter *m_vdataInterpreter;
93
94     ImageViewer *m_imageViewer;
95
96     JumpWidget *m_jumpWidget;
97     SearchWidget *m_searchWidget;
98
99     TraceProcess *m_traceProcess;
100
101     ArgumentsEditor *m_argsEditor;
102 };
103
104
105 #endif