mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-11 07:30:54 +00:00
libsysprof-gtk: use listview instead of columnview
We don't really want the columnview headers at all, so just use listview and we'll use our inscription to control the size of the name "column".
This commit is contained in:
@ -32,7 +32,7 @@ struct _SysprofMarkChart
|
|||||||
SysprofSession *session;
|
SysprofSession *session;
|
||||||
|
|
||||||
GtkWidget *box;
|
GtkWidget *box;
|
||||||
GtkColumnView *column_view;
|
GtkListView *list_view;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -51,7 +51,7 @@ sysprof_mark_chart_disconnect (SysprofMarkChart *self)
|
|||||||
g_assert (SYSPROF_IS_MARK_CHART (self));
|
g_assert (SYSPROF_IS_MARK_CHART (self));
|
||||||
g_assert (SYSPROF_IS_SESSION (self->session));
|
g_assert (SYSPROF_IS_SESSION (self->session));
|
||||||
|
|
||||||
gtk_column_view_set_model (self->column_view, NULL);
|
gtk_list_view_set_model (self->list_view, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -61,22 +61,17 @@ sysprof_mark_chart_connect (SysprofMarkChart *self)
|
|||||||
GtkFilterListModel *filtered;
|
GtkFilterListModel *filtered;
|
||||||
GtkFlattenListModel *flatten;
|
GtkFlattenListModel *flatten;
|
||||||
SysprofDocument *document;
|
SysprofDocument *document;
|
||||||
GtkSortListModel *sort_model;
|
|
||||||
GtkSorter *column_sorter;
|
|
||||||
|
|
||||||
g_assert (SYSPROF_IS_MARK_CHART (self));
|
g_assert (SYSPROF_IS_MARK_CHART (self));
|
||||||
g_assert (SYSPROF_IS_SESSION (self->session));
|
g_assert (SYSPROF_IS_SESSION (self->session));
|
||||||
|
|
||||||
column_sorter = gtk_column_view_get_sorter (self->column_view);
|
|
||||||
|
|
||||||
document = sysprof_session_get_document (self->session);
|
document = sysprof_session_get_document (self->session);
|
||||||
flatten = gtk_flatten_list_model_new (sysprof_document_catalog_marks (document));
|
flatten = gtk_flatten_list_model_new (sysprof_document_catalog_marks (document));
|
||||||
filtered = gtk_filter_list_model_new (G_LIST_MODEL (flatten), NULL);
|
filtered = gtk_filter_list_model_new (G_LIST_MODEL (flatten), NULL);
|
||||||
g_object_bind_property (self->session, "filter", filtered, "filter", G_BINDING_SYNC_CREATE);
|
g_object_bind_property (self->session, "filter", filtered, "filter", G_BINDING_SYNC_CREATE);
|
||||||
sort_model = gtk_sort_list_model_new (G_LIST_MODEL (filtered), g_object_ref (column_sorter));
|
single = gtk_single_selection_new (G_LIST_MODEL (filtered));
|
||||||
single = gtk_single_selection_new (G_LIST_MODEL (sort_model));
|
|
||||||
|
|
||||||
gtk_column_view_set_model (self->column_view, GTK_SELECTION_MODEL (single));
|
gtk_list_view_set_model (self->list_view, GTK_SELECTION_MODEL (single));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -154,7 +149,7 @@ sysprof_mark_chart_class_init (SysprofMarkChartClass *klass)
|
|||||||
gtk_widget_class_set_css_name (widget_class, "markchart");
|
gtk_widget_class_set_css_name (widget_class, "markchart");
|
||||||
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
|
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofMarkChart, box);
|
gtk_widget_class_bind_template_child (widget_class, SysprofMarkChart, box);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofMarkChart, column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofMarkChart, list_view);
|
||||||
|
|
||||||
g_resources_register (libsysprof_gtk_get_resource ());
|
g_resources_register (libsysprof_gtk_get_resource ());
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
<object class="GtkScrolledWindow">
|
<object class="GtkScrolledWindow">
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkColumnView" id="column_view">
|
<object class="GtkListView" id="list_view">
|
||||||
<style>
|
<style>
|
||||||
<class name="data-table"/>
|
<class name="data-table"/>
|
||||||
</style>
|
</style>
|
||||||
@ -21,9 +21,6 @@
|
|||||||
<property name="child">
|
<property name="child">
|
||||||
<object class="GtkInscription">
|
<object class="GtkInscription">
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="nat-chars">40</property>
|
|
||||||
<property name="min-chars">40</property>
|
|
||||||
<property name="text-overflow">clip</property>
|
|
||||||
<binding name="text">
|
<binding name="text">
|
||||||
<lookup name="group" type="SysprofMarkCatalog">
|
<lookup name="group" type="SysprofMarkCatalog">
|
||||||
<lookup name="item">GtkListHeader</lookup>
|
<lookup name="item">GtkListHeader</lookup>
|
||||||
@ -37,21 +34,19 @@
|
|||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
<child>
|
<property name="factory">
|
||||||
<object class="GtkColumnViewColumn" id="name_column">
|
<object class="GtkBuilderListItemFactory">
|
||||||
<property name="title" translatable="yes">Marks</property>
|
<property name="bytes"><![CDATA[
|
||||||
<property name="factory">
|
|
||||||
<object class="GtkBuilderListItemFactory">
|
|
||||||
<property name="bytes"><![CDATA[
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<interface>
|
<interface>
|
||||||
<template class="GtkListItem">
|
<template class="GtkListItem">
|
||||||
<property name="child">
|
<property name="child">
|
||||||
<object class="GtkLabel">
|
<object class="GtkInscription">
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="ellipsize">end</property>
|
<property name="nat-chars">40</property>
|
||||||
<property name="max-width-chars">40</property>
|
<property name="min-chars">40</property>
|
||||||
<binding name="label">
|
<property name="text-overflow">clip</property>
|
||||||
|
<binding name="text">
|
||||||
<lookup name="name" type="SysprofMarkCatalog">
|
<lookup name="name" type="SysprofMarkCatalog">
|
||||||
<lookup name="item">GtkListItem</lookup>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
</lookup>
|
</lookup>
|
||||||
@ -61,32 +56,9 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
<child>
|
|
||||||
<object class="GtkColumnViewColumn" id="visuals_column">
|
|
||||||
<property name="expand">true</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="GtkInscription">
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</template>
|
|
||||||
</interface>
|
|
||||||
]]>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
Reference in New Issue
Block a user