]> git.cworth.org Git - apitrace/blobdiff - gui/mainwindow.h
Switch the gui to the on-demand-loader.
[apitrace] / gui / mainwindow.h
index 0f8e2151b8bc28f763f1aba53f75e3ebbd7e510b..00fe04b25ce698322e9294eee5e427e2f8f0ed1e 100644 (file)
@@ -7,18 +7,24 @@
 #include <QProcess>
 
 class ApiTrace;
+class ApiTraceCall;
 class ApiTraceEvent;
 class ApiTraceFilter;
 class ApiTraceFrame;
 class ApiTraceModel;
-class QLineEdit;
+class ApiTraceState;
+class ArgumentsEditor;
+class JumpWidget;
 class QModelIndex;
-class QProcess;
 class QProgressBar;
-
-namespace QJson {
-    class Parser;
-}
+class QTreeWidgetItem;
+class QUrl;
+struct RetraceError;
+class Retracer;
+class SearchWidget;
+class ShadersSourceWidget;
+class TraceProcess;
+class VertexDataInterpreter;
 
 class MainWindow : public QMainWindow
 {
@@ -32,41 +38,75 @@ public slots:
 
 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(ApiTraceState *state);
+    void replayError(const QString &msg);
     void startedLoadingTrace();
+    void loadProgess(int percent);
     void finishedLoadingTrace();
     void lookupState();
+    void showSettings();
+    void openHelp(const QUrl &url);
+    void showSurfacesMenu(const QPoint &pos);
+    void showSelectedSurface();
+    void saveSelectedSurface();
+    void slotGoTo();
+    void slotJumpTo(int callNum);
+    void createdTrace(const QString &path);
+    void traceError(const QString &msg);
+    void slotSearch();
+    void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity);
+    void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity);
+    void fillState(bool nonDefaults);
+    void customContextMenuRequested(QPoint pos);
+    void editCall();
+    void slotStartedSaving();
+    void slotSaved();
+    void slotGoFrameStart();
+    void slotGoFrameEnd();
+    void slotTraceChanged(ApiTraceCall *call);
+    void slotRetraceErrors(const QList<RetraceError> &errors);
+    void slotErrorSelected(QTreeWidgetItem *current);
 
 private:
+    void initObjects();
+    void initConnections();
     void newTraceFile(const QString &fileName);
     void replayTrace(bool dumpState);
-    void parseState(const QVariantMap &params);
     void fillStateForFrame();
+    ApiTraceFrame *currentFrame() const;
+    ApiTraceCall *currentCall() const;
 
 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;
-
     ApiTraceEvent *m_selectedEvent;
 
     ApiTraceEvent *m_stateEvent;
-    bool m_findingState;
 
-    QJson::Parser *m_jsonParser;
+    Retracer *m_retracer;
+
+    VertexDataInterpreter *m_vdataInterpreter;
+
+    JumpWidget *m_jumpWidget;
+    SearchWidget *m_searchWidget;
+
+    TraceProcess *m_traceProcess;
+
+    ArgumentsEditor *m_argsEditor;
+
+    ApiTraceEvent *m_nonDefaultsLookupEvent;
 };