X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitrace.h;h=3edffef700d573c87a5b2386b860b834bc04fd3a;hb=8f98c3a529e7ef88e4111ef22cf8411916a9a065;hp=3b737e0bbe81c3281d5e54e463b8029d6163aeb9;hpb=ebf971eec6c3a5f98885cc418e04690ba213b645;p=apitrace diff --git a/gui/apitrace.h b/gui/apitrace.h index 3b737e0..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: @@ -35,7 +41,6 @@ public: ApiTraceState defaultState() const; QVector calls() const; - ApiTraceCall *callAt(int idx) const; ApiTraceCall *callWithIndex(int idx) const; int numCalls() const; @@ -59,9 +64,20 @@ public slots: void setFileName(const QString &name); 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); + void requestFrame(ApiTraceFrame *frame); void startedLoadingTrace(); void loaded(int percent); void finishedLoadingTrace(); @@ -70,16 +86,34 @@ signals: void changed(ApiTraceCall *call); void startedSaving(); void saved(); + void findResult(ApiTrace::SearchResult result, + ApiTraceCall *call); void beginAddingFrames(int oldCount, int numAdded); void endAddingFrames(); void callsAdded(int oldCount, int numAdded); + 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 fillFrame(int frameIdx, const QVector &calls, - quint64 binaryDataSize); void slotSaved(); + void finishedParsing(); + void loaderFrameLoaded(ApiTraceFrame *frame, + const QVector &calls, + quint64 binaryDataSize); + void loaderSearchResult(ApiTrace::SearchResult result, + ApiTraceCall *call); + private: void detectFrames(); private: