diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-02-16 09:56:52 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-02-21 20:42:06 -0500 |
commit | ab89d45e261ec033f03a0dd6b43fcd42193e8a69 (patch) | |
tree | 076491d855b83225548f7efa95278b6f1e9ef1c3 | |
parent | 9dd6becfbe33e6334e19dce95e0e5048b9990e6b (diff) |
trace-view: Add way to get any row in the tree
Currently there's only handlers to get visible rows from the tree.
It may be needed to look at other rows from other pages (like
in the search function).
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-view-store.c | 20 | ||||
-rw-r--r-- | trace-view-store.h | 5 |
2 files changed, 24 insertions, 1 deletions
diff --git a/trace-view-store.c b/trace-view-store.c index 3b62680..4afc192 100644 --- a/trace-view-store.c +++ b/trace-view-store.c | |||
@@ -1140,6 +1140,25 @@ trace_view_store_get_visible_row(TraceViewStore *store, gint row) | |||
1140 | return get_row(store, row); | 1140 | return get_row(store, row); |
1141 | } | 1141 | } |
1142 | 1142 | ||
1143 | TraceViewRecord * | ||
1144 | trace_view_store_get_actual_row(TraceViewStore *store, gint row) | ||
1145 | { | ||
1146 | g_return_val_if_fail (TRACE_VIEW_IS_LIST (store), NULL); | ||
1147 | g_return_val_if_fail (row >= 0, NULL); | ||
1148 | g_return_val_if_fail (row < store->actual_rows, NULL); | ||
1149 | |||
1150 | if (!store->rows) | ||
1151 | return NULL; | ||
1152 | |||
1153 | return store->rows[row]; | ||
1154 | } | ||
1155 | |||
1156 | gint trace_view_store_get_num_actual_rows(TraceViewStore *store) | ||
1157 | { | ||
1158 | g_return_val_if_fail (TRACE_VIEW_IS_LIST (store), -1); | ||
1159 | return store->actual_rows; | ||
1160 | } | ||
1161 | |||
1143 | gint get_next_pid(TraceViewStore *store, struct pevent *pevent, struct record *record) | 1162 | gint get_next_pid(TraceViewStore *store, struct pevent *pevent, struct record *record) |
1144 | { | 1163 | { |
1145 | unsigned long long val; | 1164 | unsigned long long val; |
@@ -1340,7 +1359,6 @@ void trace_view_store_assign_filters(TraceViewStore *store, | |||
1340 | store->task_filter = filter_task_hash_copy(task_filter); | 1359 | store->task_filter = filter_task_hash_copy(task_filter); |
1341 | } | 1360 | } |
1342 | 1361 | ||
1343 | |||
1344 | /***************************************************************************** | 1362 | /***************************************************************************** |
1345 | * | 1363 | * |
1346 | * trace_view_store_append_record: Empty lists are boring. This function can | 1364 | * trace_view_store_append_record: Empty lists are boring. This function can |
diff --git a/trace-view-store.h b/trace-view-store.h index ac907e0..8f26aed 100644 --- a/trace-view-store.h +++ b/trace-view-store.h | |||
@@ -154,6 +154,10 @@ TraceViewRecord *trace_view_store_get_row(TraceViewStore *store, gint row); | |||
154 | 154 | ||
155 | TraceViewRecord *trace_view_store_get_visible_row(TraceViewStore *store, gint row); | 155 | TraceViewRecord *trace_view_store_get_visible_row(TraceViewStore *store, gint row); |
156 | 156 | ||
157 | TraceViewRecord *trace_view_store_get_actual_row(TraceViewStore *store, gint row); | ||
158 | |||
159 | gint trace_view_store_get_num_actual_rows(TraceViewStore *store); | ||
160 | |||
157 | gboolean trace_view_store_event_enabled(TraceViewStore *store, gint event_id); | 161 | gboolean trace_view_store_event_enabled(TraceViewStore *store, gint event_id); |
158 | 162 | ||
159 | void trace_view_store_set_all_events_enabled(TraceViewStore *store); | 163 | void trace_view_store_set_all_events_enabled(TraceViewStore *store); |
@@ -246,4 +250,5 @@ trace_view_store_get_event_filter(TraceViewStore *store) | |||
246 | g_return_val_if_fail (TRACE_VIEW_IS_LIST (store), FALSE); | 250 | g_return_val_if_fail (TRACE_VIEW_IS_LIST (store), FALSE); |
247 | return store->event_filter; | 251 | return store->event_filter; |
248 | } | 252 | } |
253 | |||
249 | #endif /* _trace_view_store_h_included_ */ | 254 | #endif /* _trace_view_store_h_included_ */ |