mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof-gtk: allow selecting items in timespan layer
Double clicking a time span will update the visible/selected span to match what was selected.
This commit is contained in:
@ -422,6 +422,33 @@ sysprof_session_discover_counters (SysprofSession *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
activate_mark_cb (SysprofSession *session,
|
||||||
|
SysprofTimeSpanLayer *layer,
|
||||||
|
SysprofDocumentMark *mark,
|
||||||
|
SysprofChart *chart)
|
||||||
|
{
|
||||||
|
gint64 duration;
|
||||||
|
|
||||||
|
g_assert (SYSPROF_IS_SESSION (session));
|
||||||
|
g_assert (SYSPROF_IS_TIME_SPAN_LAYER (layer));
|
||||||
|
g_assert (SYSPROF_IS_DOCUMENT_MARK (mark));
|
||||||
|
g_assert (SYSPROF_IS_CHART (chart));
|
||||||
|
|
||||||
|
if ((duration = sysprof_document_mark_get_duration (mark)))
|
||||||
|
{
|
||||||
|
gint64 t = sysprof_document_frame_get_time (SYSPROF_DOCUMENT_FRAME (mark));
|
||||||
|
SysprofTimeSpan span = { t, t + duration };
|
||||||
|
|
||||||
|
sysprof_session_select_time (session, &span);
|
||||||
|
sysprof_session_zoom_to_selection (session);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
static GtkWidget *
|
||||||
create_chart_for_marks (SysprofTrack *track,
|
create_chart_for_marks (SysprofTrack *track,
|
||||||
SysprofTrackMarksChart *info)
|
SysprofTrackMarksChart *info)
|
||||||
@ -445,6 +472,11 @@ create_chart_for_marks (SysprofTrack *track,
|
|||||||
gtk_property_expression_new (SYSPROF_TYPE_DOCUMENT_MARK, NULL, "message"));
|
gtk_property_expression_new (SYSPROF_TYPE_DOCUMENT_MARK, NULL, "message"));
|
||||||
|
|
||||||
chart = g_object_new (SYSPROF_TYPE_CHART, NULL);
|
chart = g_object_new (SYSPROF_TYPE_CHART, NULL);
|
||||||
|
g_signal_connect_object (chart,
|
||||||
|
"activate-layer-item",
|
||||||
|
G_CALLBACK (activate_mark_cb),
|
||||||
|
info->session,
|
||||||
|
G_CONNECT_SWAPPED);
|
||||||
layer = g_object_new (SYSPROF_TYPE_TIME_SPAN_LAYER,
|
layer = g_object_new (SYSPROF_TYPE_TIME_SPAN_LAYER,
|
||||||
"series", time_series,
|
"series", time_series,
|
||||||
"axis", x_axis,
|
"axis", x_axis,
|
||||||
|
|||||||
Reference in New Issue
Block a user