X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitrace.h;h=3edffef700d573c87a5b2386b860b834bc04fd3a;hb=8f98c3a529e7ef88e4111ef22cf8411916a9a065;hp=d01e7a0cfd81f3770d4157823eca0de538e7495c;hpb=ec36d834b6cf8b71ef0ade0650be073f68103e17;p=apitrace diff --git a/gui/apitrace.h b/gui/apitrace.h index d01e7a0..3edffef 100644 --- a/gui/apitrace.h +++ b/gui/apitrace.h @@ -20,6 +20,12 @@ public: FrameMarker_Finish, FrameMarker_Clear }; + enum SearchResult { + SearchNotFound, + SearchFound, + SearchWrapped + }; + static bool isCallAFrameMarker(const ApiTraceCall *call, FrameMarker marker); public: @@ -59,6 +65,15 @@ public slots: void setFrameMarker(FrameMarker marker); void save(); void loadFrame(ApiTraceFrame *frame); + void findNext(ApiTraceFrame *frame, + ApiTraceCall *call, + const QString &str, + Qt::CaseSensitivity sensitivity); + void findPrev(ApiTraceFrame *frame, + ApiTraceCall *call, + const QString &str, + Qt::CaseSensitivity sensitivity); + signals: void loadTrace(const QString &name); @@ -71,6 +86,8 @@ signals: void changed(ApiTraceCall *call); void startedSaving(); void saved(); + void findResult(ApiTrace::SearchResult result, + ApiTraceCall *call); void beginAddingFrames(int oldCount, int numAdded); void endAddingFrames(); @@ -78,11 +95,24 @@ signals: void beginLoadingFrame(ApiTraceFrame *frame, int numAdded); void endLoadingFrame(ApiTraceFrame *frame); + +signals: + void loaderSearchNext(int startFrame, + const QString &str, + Qt::CaseSensitivity sensitivity); + void loaderSearchPrev(int startFrame, + const QString &str, + Qt::CaseSensitivity sensitivity); + private slots: void addFrames(const QList &frames); void slotSaved(); void finishedParsing(); - void frameLoadFinished(ApiTraceFrame *frame); + void loaderFrameLoaded(ApiTraceFrame *frame, + const QVector &calls, + quint64 binaryDataSize); + void loaderSearchResult(ApiTrace::SearchResult result, + ApiTraceCall *call); private: void detectFrames();