X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fmainwindow.h;h=1346b86377415ba5e16a1c625a0480683fcd59eb;hb=537c507874cdde0b507d306ac058767f506da8e2;hp=0ae8ab78e9315c619aa99d843b32f27c873e0ea5;hpb=1c35c914cf934c957664d9692a099634aacc4e44;p=apitrace diff --git a/gui/mainwindow.h b/gui/mainwindow.h index 0ae8ab7..1346b86 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -3,10 +3,13 @@ #include "ui_mainwindow.h" +#include "trace_api.hpp" #include "apitrace.h" #include #include +#include +#include class ApiTrace; class ApiTraceCall; @@ -26,6 +29,7 @@ class Retracer; class SearchWidget; class ShadersSourceWidget; class TraceProcess; +class TrimProcess; class VertexDataInterpreter; class MainWindow : public QMainWindow @@ -36,21 +40,25 @@ public: ~MainWindow(); public slots: - void loadTrace(const QString &fileName); + void loadTrace(const QString &fileName, int callNum = -1); private slots: void callItemSelected(const QModelIndex &index); + void callItemActivated(const QModelIndex &index); void createTrace(); void openTrace(); void replayStart(); void replayStop(); - void replayFinished(const QString &output); + void replayFinished(const QString &message); void replayStateFound(ApiTraceState *state); + void replayThumbnailsFound(const QList &thumbnails); void replayError(const QString &msg); void startedLoadingTrace(); void loadProgess(int percent); void finishedLoadingTrace(); void lookupState(); + void showThumbnails(); + void trim(); void showSettings(); void openHelp(const QUrl &url); void showSurfacesMenu(const QPoint &pos); @@ -60,6 +68,8 @@ private slots: void slotJumpTo(int callNum); void createdTrace(const QString &path); void traceError(const QString &msg); + void createdTrim(const QString &path); + void trimError(const QString &msg); void slotSearch(); void slotSearchNext(const QString &str, Qt::CaseSensitivity sensitivity); void slotSearchPrev(const QString &str, Qt::CaseSensitivity sensitivity); @@ -70,10 +80,11 @@ private slots: void slotSaved(); void slotGoFrameStart(); void slotGoFrameEnd(); - void slotTraceChanged(ApiTraceCall *call); + void slotTraceChanged(ApiTraceEvent *event); void slotRetraceErrors(const QList &errors); void slotErrorSelected(QTreeWidgetItem *current); - void slotSearchResult(ApiTrace::SearchResult result, + void slotSearchResult(const ApiTrace::SearchRequest &request, + ApiTrace::SearchResult result, ApiTraceCall *call); void slotFoundFrameStart(ApiTraceFrame *frame); void slotFoundFrameEnd(ApiTraceFrame *frame); @@ -83,7 +94,8 @@ private: void initObjects(); void initConnections(); void newTraceFile(const QString &fileName); - void replayTrace(bool dumpState); + void replayTrace(bool dumpState, bool dumpThumbnails); + void trimEvent(); void fillStateForFrame(); /* there's a difference between selected frame/call and @@ -100,9 +112,12 @@ private: Ui_MainWindow m_ui; ShadersSourceWidget *m_sourcesWidget; + trace::API m_api; + ApiTrace *m_trace; ApiTraceModel *m_model; ApiTraceFilter *m_proxyModel; + int m_initalCallNum; QProgressBar *m_progressBar; @@ -110,6 +125,8 @@ private: ApiTraceEvent *m_stateEvent; + ApiTraceEvent *m_trimEvent; + Retracer *m_retracer; VertexDataInterpreter *m_vdataInterpreter; @@ -119,6 +136,8 @@ private: TraceProcess *m_traceProcess; + TrimProcess *m_trimProcess; + ArgumentsEditor *m_argsEditor; ApiTraceEvent *m_nonDefaultsLookupEvent;