X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fmainwindow.h;h=0ae8ab78e9315c619aa99d843b32f27c873e0ea5;hb=353f0535f43b54d04cc9c8080790ffac606e5b0b;hp=ee25fb3bb3a61254e303d3615e7c2d3b76be7db3;hpb=3b7fbd77588b2864887bb012ff63fb3fc4aa3f51;p=apitrace diff --git a/gui/mainwindow.h b/gui/mainwindow.h index ee25fb3..0ae8ab7 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -3,6 +3,8 @@ #include "ui_mainwindow.h" +#include "apitrace.h" + #include #include @@ -19,7 +21,7 @@ class QModelIndex; class QProgressBar; class QTreeWidgetItem; class QUrl; -class RetraceError; +struct ApiTraceError; class Retracer; class SearchWidget; class ShadersSourceWidget; @@ -43,15 +45,17 @@ private slots: void replayStart(); void replayStop(); void replayFinished(const QString &output); - void replayStateFound(const ApiTraceState &state); + 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); @@ -67,8 +71,13 @@ private slots: void slotGoFrameStart(); void slotGoFrameEnd(); void slotTraceChanged(ApiTraceCall *call); - void slotRetraceErrors(const QList &errors); + void slotRetraceErrors(const QList &errors); void slotErrorSelected(QTreeWidgetItem *current); + void slotSearchResult(ApiTrace::SearchResult result, + ApiTraceCall *call); + void slotFoundFrameStart(ApiTraceFrame *frame); + void slotFoundFrameEnd(ApiTraceFrame *frame); + void slotJumpToResult(ApiTraceCall *call); private: void initObjects(); @@ -76,9 +85,17 @@ private: void newTraceFile(const QString &fileName); void replayTrace(bool dumpState); void fillStateForFrame(); + + /* there's a difference between selected frame/call and + * current call/frame. the former implies actual selection + * the latter might be just a highlight, e.g. during searching + */ + ApiTraceFrame *selectedFrame() const; + ApiTraceCall *selectedCall() const; ApiTraceFrame *currentFrame() const; ApiTraceCall *currentCall() const; + private: Ui_MainWindow m_ui; ShadersSourceWidget *m_sourcesWidget;