]> git.cworth.org Git - apitrace/blobdiff - gui/mainwindow.h
Implement jumping to a specific call.
[apitrace] / gui / mainwindow.h
index 598a61236912ea71029315383bfe6184fd13fa37..88017f65981e4a3f084651d288ccf71098a91859 100644 (file)
@@ -7,54 +7,82 @@
 #include <QProcess>
 
 class ApiTrace;
+class ApiTraceEvent;
+class ApiTraceFilter;
 class ApiTraceFrame;
 class ApiTraceModel;
-class ApiTraceFilter;
+class ApiTraceState;
+class ImageViewer;
+class JumpWidget;
 class QLineEdit;
 class QModelIndex;
-class QProcess;
 class QProgressBar;
+class QUrl;
+class Retracer;
+class ShadersSourceWidget;
+class VertexDataInterpreter;
 
 class MainWindow : public QMainWindow
 {
     Q_OBJECT
 public:
     MainWindow();
+    ~MainWindow();
 
 public slots:
     void loadTrace(const QString &fileName);
 
 private slots:
     void callItemSelected(const QModelIndex &index);
+    void createTrace();
     void openTrace();
     void filterTrace();
     void replayStart();
     void replayStop();
-    void replayFinished();
-    void replayError(QProcess::ProcessError err);
+    void replayFinished(const QString &output);
+    void replayStateFound(const ApiTraceState &state);
+    void replayError(const QString &msg);
     void startedLoadingTrace();
     void finishedLoadingTrace();
     void lookupState();
+    void showSettings();
+    void openHelp(const QUrl &url);
+    void showSurfacesMenu(const QPoint &pos);
+    void showSelectedSurface();
+    void slotGoTo();
+    void slotJumpTo(int callNum);
 
 private:
+    void initObjects();
+    void initConnections();
     void newTraceFile(const QString &fileName);
     void replayTrace(bool dumpState);
+    void fillStateForFrame();
 
 private:
     Ui_MainWindow m_ui;
+    ShadersSourceWidget *m_sourcesWidget;
+
     ApiTrace *m_trace;
     ApiTraceModel *m_model;
     ApiTraceFilter *m_proxyModel;
     QLineEdit *m_filterEdit;
 
-    QProcess *m_replayProcess;
-
     QProgressBar *m_progressBar;
 
     QString m_traceFileName;
 
-    ApiTraceFrame *m_currentFrame;
-    bool m_findingState;
+    ApiTraceEvent *m_selectedEvent;
+
+    ApiTraceEvent *m_stateEvent;
+
+    Retracer *m_retracer;
+
+    VertexDataInterpreter *m_vdataInterpreter;
+
+    ImageViewer *m_imageViewer;
+
+    JumpWidget *m_jumpWidget;
 };