libsysprof-gtk: start on charts of counters

This commit is contained in:
Christian Hergert
2023-06-26 18:08:48 -07:00
parent 6e08309881
commit b022b1537e
2 changed files with 118 additions and 38 deletions

View File

@ -201,6 +201,7 @@ test_charts_class_init (TestChartsClass *klass)
g_type_ensure (SYSPROF_TYPE_CHART);
g_type_ensure (SYSPROF_TYPE_CHART_LAYER);
g_type_ensure (SYSPROF_TYPE_COLUMN_LAYER);
g_type_ensure (SYSPROF_TYPE_LINE_LAYER);
g_type_ensure (SYSPROF_TYPE_VALUE_AXIS);
}

View File

@ -2,56 +2,135 @@
<interface>
<template class="TestCharts" parent="GtkWindow">
<child>
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">never</property>
<child>
<object class="GtkListBox">
<object class="GtkPaned">
<property name="position">200</property>
<child type="start">
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">never</property>
<child>
<object class="SysprofChart">
<property name="height-request">128</property>
<object class="GtkListBox">
<child>
<object class="SysprofColumnLayer">
<binding name="x-axis">
<lookup name="selected-time-axis" type="SysprofSession">
<lookup name="session">TestCharts</lookup>
</lookup>
</binding>
<property name="y-axis">
<object class="SysprofValueAxis">
<property name="min-value">0</property>
<property name="max-value">128</property>
</object>
</property>
<property name="series">
<object class="SysprofXYSeries">
<property name="model">
<object class="GtkFilterListModel">
<binding name="filter">
<lookup name="filter" type="SysprofSession">
<lookup name="session">TestCharts</lookup>
</lookup>
</binding>
<binding name="model">
<lookup name="samples" type="SysprofDocument">
<lookup name="document">TestCharts</lookup>
</lookup>
</binding>
<object class="SysprofChart">
<property name="height-request">128</property>
<child>
<object class="SysprofColumnLayer">
<binding name="x-axis">
<lookup name="selected-time-axis" type="SysprofSession">
<lookup name="session">TestCharts</lookup>
</lookup>
</binding>
<property name="y-axis">
<object class="SysprofValueAxis">
<property name="min-value">0</property>
<property name="max-value">128</property>
</object>
</property>
<property name="x-expression">
<lookup name="time" type="SysprofDocumentFrame"/>
</property>
<property name="y-expression">
<lookup name="stack-depth" type="SysprofDocumentTraceable"/>
<property name="series">
<object class="SysprofXYSeries">
<property name="model">
<object class="GtkFilterListModel">
<binding name="filter">
<lookup name="filter" type="SysprofSession">
<lookup name="session">TestCharts</lookup>
</lookup>
</binding>
<binding name="model">
<lookup name="samples" type="SysprofDocument">
<lookup name="document">TestCharts</lookup>
</lookup>
</binding>
</object>
</property>
<property name="x-expression">
<lookup name="time" type="SysprofDocumentFrame"/>
</property>
<property name="y-expression">
<lookup name="stack-depth" type="SysprofDocumentTraceable"/>
</property>
</object>
</property>
</object>
</property>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="end">
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">never</property>
<child>
<object class="GtkListView">
<property name="show-separators">true</property>
<style>
<class name="data-table"/>
</style>
<property name="model">
<object class="GtkNoSelection">
<binding name="model">
<lookup name="counters" type="SysprofDocument">
<lookup name="document">TestCharts</lookup>
</lookup>
</binding>
</object>
</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="GtkListItem">
<property name="child">
<object class="GtkBox">
<child>
<object class="GtkInscription">
<property name="xalign">1</property>
<property name="nat-chars">35</property>
<property name="min-chars">35</property>
<property name="margin-end">8</property>
<property name="text-overflow">clip</property>
<binding name="text">
<lookup name="name" type="SysprofDocumentCounter">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="SysprofChart">
<property name="hexpand">true</property>
<child>
<object class="SysprofLineLayer">
<property name="series">
<object class="SysprofXYSeries">
<binding name="model">
<lookup name="item">GtkListItem</lookup>
</binding>
<property name="x-expression">
<lookup name="time" type="SysprofDocumentFrame"/>
</property>
<property name="y-expression">
<lookup name="time" type="SysprofDocumentFrame"/>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
</template>