]> git.cworth.org Git - apitrace/blob - gui/mainwindow.h
Allow setting of the filter options.
[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 QLineEdit;
15 class QModelIndex;
16 class QProcess;
17 class QProgressBar;
18
19 namespace QJson {
20     class Parser;
21 }
22
23 class MainWindow : public QMainWindow
24 {
25     Q_OBJECT
26 public:
27     MainWindow();
28     ~MainWindow();
29
30 public slots:
31     void loadTrace(const QString &fileName);
32
33 private slots:
34     void callItemSelected(const QModelIndex &index);
35     void openTrace();
36     void filterTrace();
37     void replayStart();
38     void replayStop();
39     void replayFinished();
40     void replayError(QProcess::ProcessError err);
41     void startedLoadingTrace();
42     void finishedLoadingTrace();
43     void lookupState();
44     void showSettings();
45
46 private:
47     void newTraceFile(const QString &fileName);
48     void replayTrace(bool dumpState);
49     void parseState(const QVariantMap &params);
50     void fillStateForFrame();
51
52 private:
53     Ui_MainWindow m_ui;
54     ApiTrace *m_trace;
55     ApiTraceModel *m_model;
56     ApiTraceFilter *m_proxyModel;
57     QLineEdit *m_filterEdit;
58
59     QProcess *m_replayProcess;
60
61     QProgressBar *m_progressBar;
62
63     QString m_traceFileName;
64
65     ApiTraceEvent *m_selectedEvent;
66
67     ApiTraceEvent *m_stateEvent;
68     bool m_findingState;
69
70     QJson::Parser *m_jsonParser;
71 };
72
73
74 #endif