]> git.cworth.org Git - apitrace/blobdiff - gui/traceloader.h
Make sure we reset the state when loading another trace file
[apitrace] / gui / traceloader.h
index c83cf47bef611212898813cd5e6b6674268b9241..e950b0914bf73b0e81671ec1db4d58cb561d7b40 100644 (file)
@@ -34,6 +34,9 @@ public slots:
     void searchPrev(int startFrame,
                     const QString &str,
                     Qt::CaseSensitivity sensitivity);
+    void findFrameStart(ApiTraceFrame *frame);
+    void findFrameEnd(ApiTraceFrame *frame);
+    void findCallIndex(int index);
 
 signals:
     void startedParsing();
@@ -46,6 +49,9 @@ signals:
                              quint64 binaryDataSize);
 
     void searchResult(ApiTrace::SearchResult result, ApiTraceCall *call);
+    void foundFrameStart(ApiTraceFrame *frame);
+    void foundFrameEnd(ApiTraceFrame *frame);
+    void foundCallIndex(ApiTraceCall *call);
 private:
     struct FrameBookmark {
         FrameBookmark()
@@ -72,10 +78,13 @@ private:
                       const QString &str,
                       Qt::CaseSensitivity sensitivity);
      QVector<ApiTraceCall*> fetchFrameContents(ApiTraceFrame *frame);
+     bool searchCallsBackwards(const QList<Trace::Call*> &calls,
+                               int frameIdx,
+                               const QString &str,
+                               Qt::CaseSensitivity sensitivity);
 
 private:
     Trace::Parser m_parser;
-    QString m_fileName;
     ApiTrace::FrameMarker m_frameMarker;
 
     typedef QMap<int, FrameBookmark> FrameBookmarks;