]> git.cworth.org Git - apitrace/blobdiff - gui/apitracemodel.cpp
Implement jumping to a specific call.
[apitrace] / gui / apitracemodel.cpp
index 63e54cfe907720ec8ca942bf9fa3d66e258fde03..39459ce1c7d804aff44d0a64a2bef7903ba8a405 100644 (file)
@@ -251,4 +251,23 @@ void ApiTraceModel::stateSetOnEvent(ApiTraceEvent *event)
     }
 }
 
+QModelIndex ApiTraceModel::callIndex(int callNum) const
+{
+    ApiTraceCall *call = m_trace->callAt(callNum);
+
+    if (!call) {
+        return QModelIndex();
+    }
+
+    ApiTraceFrame *frame = call->parentFrame;
+    Q_ASSERT(frame);
+
+    int row = frame->calls.indexOf(call);
+    if (row < 0) {
+        qDebug() << "Couldn't find call num "<<callNum<<" inside parent!";
+        return QModelIndex();
+    }
+    return createIndex(row, 0, call);
+}
+
 #include "apitracemodel.moc"