Files
sysprof/src/libsysprof-ui/sysprof-details-page.ui
Corentin Noël 8967b2db33 details-page: Use a GtkColumnView instead of a GtkTreeView
Remove the use of the now deprecated GtkTreeView and allow the colums to be sorted.
2023-01-17 15:16:56 +01:00

362 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="SysprofDetailsPage" parent="GtkWidget">
<child>
<object class="AdwPreferencesPage">
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Capture</property>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Location</property>
<child type="suffix">
<object class="GtkLabel" id="filename">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Recorded At</property>
<child type="suffix">
<object class="GtkLabel" id="start_time">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Duration</property>
<child type="suffix">
<object class="GtkLabel" id="duration">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">CPU Model</property>
<child type="suffix">
<object class="GtkLabel" id="cpu_label">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Statistics</property>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Stack Traces</property>
<property name="subtitle" translatable="yes">Number of stack traces sampled for performance callgraphs</property>
<child type="suffix">
<object class="GtkLabel" id="samples">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Marks</property>
<property name="subtitle" translatable="yes">Number of marks seen</property>
<child type="suffix">
<object class="GtkLabel" id="marks">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Processes</property>
<property name="subtitle" translatable="yes">Number of processes seen</property>
<child type="suffix">
<object class="GtkLabel" id="processes">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Forks</property>
<property name="subtitle" translatable="yes">Number of times a process forked</property>
<child type="suffix">
<object class="GtkLabel" id="forks">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Memory Allocations</property>
<property name="subtitle" translatable="yes">Number of stack traces recorded for tracing memory allocations</property>
<child type="suffix">
<object class="GtkLabel" id="allocations">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="activatable">false</property>
<property name="title" translatable="yes">Counters</property>
<property name="subtitle" translatable="yes">Number of recorded counter values</property>
<child type="suffix">
<object class="GtkLabel" id="counters">
<property name="hexpand">true</property>
<property name="xalign">1</property>
<property name="ellipsize">start</property>
<property name="selectable">true</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Statistics</property>
<child>
<object class="GtkColumnView" id="marks_view">
<property name="width-request">500</property>
<property name="height-request">100</property>
<property name="model">
<object class="GtkNoSelection">
<property name="model">mark_sort_model</property>
</object>
</property>
<style>
<class name="data-table"/>
<class name="card"/>
</style>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Mark</property>
<property name="expand">true</property>
<property name="sorter">
<object class="GtkStringSorter">
<property name="expression">
<lookup name="label" type="SysprofMarkDetail"/>
</property>
</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="GtkLabel">
<property name="xalign">0</property>
<property name="ellipsize">end</property>
<binding name="label">
<lookup name="label" type="SysprofMarkDetail">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Hits</property>
<property name="sorter">
<object class="GtkNumericSorter">
<property name="expression">
<lookup name="hits" type="SysprofMarkDetail"/>
</property>
</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="GtkLabel">
<property name="xalign">0</property>
<binding name="label">
<lookup name="hits" type="SysprofMarkDetail">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Min</property>
<property name="sorter">
<object class="GtkNumericSorter">
<property name="expression">
<lookup name="min" type="SysprofMarkDetail"/>
</property>
</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="GtkLabel">
<property name="xalign">0</property>
<binding name="label">
<closure type="gchararray" function="format_time">
<lookup name='min' type='SysprofMarkDetail'><lookup name='item'>GtkListItem</lookup></lookup>
</closure>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Max</property>
<property name="sorter">
<object class="GtkNumericSorter">
<property name="expression">
<lookup name="max" type="SysprofMarkDetail"/>
</property>
</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="GtkLabel">
<property name="xalign">0</property>
<binding name="label">
<closure type="gchararray" function="format_time">
<lookup name='max' type='SysprofMarkDetail'><lookup name='item'>GtkListItem</lookup></lookup>
</closure>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkColumnViewColumn">
<property name="title" translatable="yes">Avg</property>
<property name="sorter">
<object class="GtkNumericSorter">
<property name="expression">
<lookup name="average" type="SysprofMarkDetail"/>
</property>
</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="GtkLabel">
<property name="xalign">0</property>
<binding name="label">
<closure type="gchararray" function="format_time">
<lookup name='average' type='SysprofMarkDetail'><lookup name='item'>GtkListItem</lookup></lookup>
</closure>
</binding>
</object>
</property>
</template>
</interface>
]]></property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
<object class="GtkSortListModel" id="mark_sort_model">
<property name="model">marks_store</property>
<property name="incremental">true</property>
<binding name="sorter">
<lookup name="sorter">marks_view</lookup>
</binding>
</object>
<object class="GListStore" id="marks_store">
</object>
</interface>