]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
more error handling changes.
[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 QUrl;
22 class Retracer;
23 class SearchWidget;
24 class ShadersSourceWidget;
25 class TraceProcess;
26 class VertexDataInterpreter;
27
28 class MainWindow : public QMainWindow
29 {
30     Q_OBJECT
31 public:
32     MainWindow();
33     ~MainWindow();
34
35 public slots:
36     void loadTrace(const QString &fileName);
37
38 private slots:
39     void callItemSelected(const QModelIndex &index);
40     void createTrace();
41     void openTrace();
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     void fillState(bool nonDefaults);
62     void customContextMenuRequested(QPoint pos);
63     void editCall();
64     void slotStartedSaving();
65     void slotSaved();
66     void slotGoFrameStart();
67     void slotGoFrameEnd();
68     void slotTraceChanged(ApiTraceCall *call);
69
70 private:
71     void initObjects();
72     void initConnections();
73     void newTraceFile(const QString &fileName);
74     void replayTrace(bool dumpState);
75     void fillStateForFrame();
76     ApiTraceFrame *currentFrame() const;
77
78 private:
79     Ui_MainWindow m_ui;
80     ShadersSourceWidget *m_sourcesWidget;
81
82     ApiTrace *m_trace;
83     ApiTraceModel *m_model;
84     ApiTraceFilter *m_proxyModel;
85
86     QProgressBar *m_progressBar;
87
88     ApiTraceEvent *m_selectedEvent;
89
90     ApiTraceEvent *m_stateEvent;
91
92     Retracer *m_retracer;
93
94     VertexDataInterpreter *m_vdataInterpreter;
95
96     ImageViewer *m_imageViewer;
97
98     JumpWidget *m_jumpWidget;
99     SearchWidget *m_searchWidget;
100
101     TraceProcess *m_traceProcess;
102
103     ArgumentsEditor *m_argsEditor;
104 };
105
106
107 #endif