Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 1 | #ifndef MAINWINDOW_H |
2 | #define MAINWINDOW_H | ||||
3 | |||||
4 | #include "ui_mainwindow.h" | ||||
5 | |||||
Zack Rusin | 96130ac | 2011-03-27 01:48:36 -0400 | [diff] [blame] | 6 | #include <QMainWindow> |
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 7 | #include <QProcess> |
Zack Rusin | 96130ac | 2011-03-27 01:48:36 -0400 | [diff] [blame] | 8 | |
Zack Rusin | f6667d1 | 2011-03-30 11:03:37 -0400 | [diff] [blame] | 9 | class ApiTrace; |
Zack Rusin | 581e3ff | 2011-03-31 23:58:07 -0400 | [diff] [blame] | 10 | class ApiTraceEvent; |
11 | class ApiTraceFilter; | ||||
Zack Rusin | 2caa06d | 2011-03-30 18:30:20 -0400 | [diff] [blame] | 12 | class ApiTraceFrame; |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 13 | class ApiTraceModel; |
Zack Rusin | f389ae8 | 2011-04-10 19:27:28 -0400 | [diff] [blame] | 14 | class ApiTraceState; |
Zack Rusin | 09ec484 | 2011-04-10 01:57:17 -0400 | [diff] [blame] | 15 | class ImageViewer; |
Zack Rusin | c52d18a | 2011-04-11 00:15:07 -0400 | [diff] [blame] | 16 | class JumpWidget; |
Zack Rusin | 96130ac | 2011-03-27 01:48:36 -0400 | [diff] [blame] | 17 | class QModelIndex; |
Zack Rusin | de4ea41 | 2011-03-30 11:30:08 -0400 | [diff] [blame] | 18 | class QProgressBar; |
Zack Rusin | c97fadc | 2011-04-07 15:16:59 -0400 | [diff] [blame] | 19 | class QUrl; |
Zack Rusin | 3acde36 | 2011-04-06 01:11:55 -0400 | [diff] [blame] | 20 | class Retracer; |
Zack Rusin | f04cf8a | 2011-04-12 23:21:52 -0400 | [diff] [blame] | 21 | class SearchWidget; |
Zack Rusin | 7c814f1 | 2011-04-09 19:20:58 -0400 | [diff] [blame] | 22 | class ShadersSourceWidget; |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 23 | class TraceProcess; |
Zack Rusin | 8e7a4ff | 2011-04-07 01:15:48 -0400 | [diff] [blame] | 24 | class VertexDataInterpreter; |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 25 | |
26 | class MainWindow : public QMainWindow | ||||
27 | { | ||||
28 | Q_OBJECT | ||||
29 | public: | ||||
30 | MainWindow(); | ||||
Zack Rusin | 11f7e63 | 2011-03-30 22:47:51 -0400 | [diff] [blame] | 31 | ~MainWindow(); |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 32 | |
33 | public slots: | ||||
34 | void loadTrace(const QString &fileName); | ||||
35 | |||||
36 | private slots: | ||||
Zack Rusin | 96130ac | 2011-03-27 01:48:36 -0400 | [diff] [blame] | 37 | void callItemSelected(const QModelIndex &index); |
Zack Rusin | 3438a52 | 2011-04-10 22:56:31 -0400 | [diff] [blame] | 38 | void createTrace(); |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 39 | void openTrace(); |
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 40 | void replayStart(); |
41 | void replayStop(); | ||||
Zack Rusin | f389ae8 | 2011-04-10 19:27:28 -0400 | [diff] [blame] | 42 | void replayFinished(const QString &output); |
43 | void replayStateFound(const ApiTraceState &state); | ||||
Zack Rusin | 3acde36 | 2011-04-06 01:11:55 -0400 | [diff] [blame] | 44 | void replayError(const QString &msg); |
Zack Rusin | de4ea41 | 2011-03-30 11:30:08 -0400 | [diff] [blame] | 45 | void startedLoadingTrace(); |
46 | void finishedLoadingTrace(); | ||||
Zack Rusin | 2caa06d | 2011-03-30 18:30:20 -0400 | [diff] [blame] | 47 | void lookupState(); |
Zack Rusin | e174557 | 2011-04-03 14:30:19 -0400 | [diff] [blame] | 48 | void showSettings(); |
Zack Rusin | c97fadc | 2011-04-07 15:16:59 -0400 | [diff] [blame] | 49 | void openHelp(const QUrl &url); |
Zack Rusin | 09ec484 | 2011-04-10 01:57:17 -0400 | [diff] [blame] | 50 | void showSurfacesMenu(const QPoint &pos); |
51 | void showSelectedSurface(); | ||||
Zack Rusin | c52d18a | 2011-04-11 00:15:07 -0400 | [diff] [blame] | 52 | void slotGoTo(); |
53 | void slotJumpTo(int callNum); | ||||
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 54 | void createdTrace(const QString &path); |
55 | void traceError(const QString &msg); | ||||
Zack Rusin | f04cf8a | 2011-04-12 23:21:52 -0400 | [diff] [blame] | 56 | void slotSearch(); |
57 | void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity); | ||||
58 | void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity); | ||||
Zack Rusin | e2dfa2e | 2011-04-13 01:35:03 -0400 | [diff] [blame] | 59 | void fillState(bool nonDefaults); |
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 60 | |
61 | private: | ||||
Zack Rusin | 4667842 | 2011-04-10 12:15:46 -0400 | [diff] [blame] | 62 | void initObjects(); |
63 | void initConnections(); | ||||
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 64 | void newTraceFile(const QString &fileName); |
Zack Rusin | 2caa06d | 2011-03-30 18:30:20 -0400 | [diff] [blame] | 65 | void replayTrace(bool dumpState); |
Zack Rusin | 11f7e63 | 2011-03-30 22:47:51 -0400 | [diff] [blame] | 66 | void fillStateForFrame(); |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 67 | |
68 | private: | ||||
69 | Ui_MainWindow m_ui; | ||||
Zack Rusin | 7c814f1 | 2011-04-09 19:20:58 -0400 | [diff] [blame] | 70 | ShadersSourceWidget *m_sourcesWidget; |
71 | |||||
Zack Rusin | f6667d1 | 2011-03-30 11:03:37 -0400 | [diff] [blame] | 72 | ApiTrace *m_trace; |
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 73 | ApiTraceModel *m_model; |
Zack Rusin | 9106537 | 2011-03-26 01:54:10 -0400 | [diff] [blame] | 74 | ApiTraceFilter *m_proxyModel; |
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 75 | |
Zack Rusin | de4ea41 | 2011-03-30 11:30:08 -0400 | [diff] [blame] | 76 | QProgressBar *m_progressBar; |
77 | |||||
Zack Rusin | 27cb2c4 | 2011-03-27 23:53:36 -0400 | [diff] [blame] | 78 | QString m_traceFileName; |
Zack Rusin | 2caa06d | 2011-03-30 18:30:20 -0400 | [diff] [blame] | 79 | |
Zack Rusin | 581e3ff | 2011-03-31 23:58:07 -0400 | [diff] [blame] | 80 | ApiTraceEvent *m_selectedEvent; |
Zack Rusin | 11f7e63 | 2011-03-30 22:47:51 -0400 | [diff] [blame] | 81 | |
Zack Rusin | 581e3ff | 2011-03-31 23:58:07 -0400 | [diff] [blame] | 82 | ApiTraceEvent *m_stateEvent; |
Zack Rusin | 11f7e63 | 2011-03-30 22:47:51 -0400 | [diff] [blame] | 83 | |
Zack Rusin | 3acde36 | 2011-04-06 01:11:55 -0400 | [diff] [blame] | 84 | Retracer *m_retracer; |
Zack Rusin | 8e7a4ff | 2011-04-07 01:15:48 -0400 | [diff] [blame] | 85 | |
86 | VertexDataInterpreter *m_vdataInterpreter; | ||||
Zack Rusin | 09ec484 | 2011-04-10 01:57:17 -0400 | [diff] [blame] | 87 | |
88 | ImageViewer *m_imageViewer; | ||||
Zack Rusin | c52d18a | 2011-04-11 00:15:07 -0400 | [diff] [blame] | 89 | |
90 | JumpWidget *m_jumpWidget; | ||||
Zack Rusin | f04cf8a | 2011-04-12 23:21:52 -0400 | [diff] [blame] | 91 | SearchWidget *m_searchWidget; |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 92 | |
93 | TraceProcess *m_traceProcess; | ||||
Zack Rusin | 601e837 | 2011-03-24 22:23:21 -0400 | [diff] [blame] | 94 | }; |
95 | |||||
96 | |||||
97 | #endif |