libsysprof-gtk: add augmented functions list

This provides an area to have augmented functions listing like we have in
the 3-part sysprof view in our current release.

The weighed callgrpah view uses this to show self/total sortable columns
similar to the descendants view.
This commit is contained in:
Christian Hergert
2023-06-12 11:16:41 -07:00
parent 643aa374cb
commit 451e79a84c
5 changed files with 259 additions and 26 deletions

View File

@ -65,5 +65,72 @@
</child>
</object>
</child>
<child internal-child="functions_column_view">
<object class="GtkColumnView">
<style>
<class name="data-table"/>
</style>
<child>
<object class="GtkColumnViewColumn" id="functions_self_column">
<property name="title" translatable="yes">Self</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="SysprofProgressCell" id="progress">
<binding name="fraction">
<closure type="gdouble" function="functions_get_self_fraction">
<lookup name="item">GtkListItem</lookup>
</closure>
</binding>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
<property name="sorter">
<object class="GtkCustomSorter" id="functions_self_sorter">
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn" id="functions_total_column">
<property name="title" translatable="yes">Total</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="SysprofProgressCell" id="progress">
<binding name="fraction">
<closure type="gdouble" function="functions_get_total_fraction">
<lookup name="item">GtkListItem</lookup>
</closure>
</binding>
</object>
</property>
</template>
</interface>
]]>
</property>
</object>
</property>
<property name="sorter">
<object class="GtkCustomSorter" id="functions_total_sorter">
</object>
</property>
</object>
</child>
</object>
</child>
</template>
</interface>