mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof-gtk: use libpanel for PanelPaned
This responds to expand a bit more like we want.
This commit is contained in:
@ -17,6 +17,7 @@ libsysprof_gtk_public_headers = [
|
|||||||
|
|
||||||
libsysprof_gtk_deps = [
|
libsysprof_gtk_deps = [
|
||||||
dependency('libadwaita-1'),
|
dependency('libadwaita-1'),
|
||||||
|
dependency('libpanel-1'),
|
||||||
dependency('gtk4', version: gtk_req_version),
|
dependency('gtk4', version: gtk_req_version),
|
||||||
|
|
||||||
libsysprof_analyze_dep,
|
libsysprof_analyze_dep,
|
||||||
|
|||||||
@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <libpanel.h>
|
||||||
|
|
||||||
#include "sysprof-callgraph-view.h"
|
#include "sysprof-callgraph-view.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
@ -42,6 +44,7 @@ struct _SysprofCallgraphView
|
|||||||
GtkCustomSorter *descendants_name_sorter;
|
GtkCustomSorter *descendants_name_sorter;
|
||||||
GtkCustomSorter *functions_name_sorter;
|
GtkCustomSorter *functions_name_sorter;
|
||||||
GtkScrolledWindow *scrolled_window;
|
GtkScrolledWindow *scrolled_window;
|
||||||
|
PanelPaned *right_paned;
|
||||||
GtkWidget *paned;
|
GtkWidget *paned;
|
||||||
|
|
||||||
GCancellable *cancellable;
|
GCancellable *cancellable;
|
||||||
|
|||||||
@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <libpanel.h>
|
||||||
|
|
||||||
#include "libsysprof-gtk-resources.h"
|
#include "libsysprof-gtk-resources.h"
|
||||||
|
|
||||||
#include "sysprof-callgraph-view-private.h"
|
#include "sysprof-callgraph-view-private.h"
|
||||||
@ -161,6 +163,9 @@ sysprof_callgraph_view_list_traceables_cb (GObject *object,
|
|||||||
gtk_column_view_set_model (self->traceables_column_view, GTK_SELECTION_MODEL (single));
|
gtk_column_view_set_model (self->traceables_column_view, GTK_SELECTION_MODEL (single));
|
||||||
traceables_selection_changed_cb (self, 0, 0, single);
|
traceables_selection_changed_cb (self, 0, 0, single);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gtk_widget_set_visible (gtk_widget_get_parent (GTK_WIDGET (self->right_paned)),
|
||||||
|
model && g_list_model_get_n_items (model));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -362,7 +367,7 @@ sysprof_callgraph_view_class_init (SysprofCallgraphViewClass *klass)
|
|||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, functions_column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, functions_column_view);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, functions_name_sorter);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, functions_name_sorter);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, paned);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, paned);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, scrolled_window);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, right_paned);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceable_column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceable_column_view);
|
||||||
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceables_column_view);
|
gtk_widget_class_bind_template_child (widget_class, SysprofCallgraphView, traceables_column_view);
|
||||||
gtk_widget_class_bind_template_callback (widget_class, format_time_offset);
|
gtk_widget_class_bind_template_callback (widget_class, format_time_offset);
|
||||||
@ -370,12 +375,16 @@ sysprof_callgraph_view_class_init (SysprofCallgraphViewClass *klass)
|
|||||||
klass->augment_size = GLIB_SIZEOF_VOID_P;
|
klass->augment_size = GLIB_SIZEOF_VOID_P;
|
||||||
|
|
||||||
g_resources_register (libsysprof_gtk_get_resource ());
|
g_resources_register (libsysprof_gtk_get_resource ());
|
||||||
|
|
||||||
|
g_type_ensure (PANEL_TYPE_PANED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sysprof_callgraph_view_init (SysprofCallgraphView *self)
|
sysprof_callgraph_view_init (SysprofCallgraphView *self)
|
||||||
{
|
{
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
|
gtk_widget_set_visible (gtk_widget_get_parent (GTK_WIDGET (self->right_paned)), FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
@ -2,15 +2,15 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<template class="SysprofCallgraphView" parent="GtkWidget">
|
<template class="SysprofCallgraphView" parent="GtkWidget">
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkPaned" id="paned">
|
<object class="PanelPaned" id="paned">
|
||||||
<property name="position">250</property>
|
<child>
|
||||||
<property name="start-child">
|
<object class="PanelPaned">
|
||||||
<object class="GtkPaned">
|
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<property name="start-child">
|
<child>
|
||||||
<object class="GtkScrolledWindow" id="functions_scrolled_window">
|
<object class="GtkScrolledWindow" id="functions_scrolled_window">
|
||||||
<property name="hscrollbar-policy">never</property>
|
|
||||||
<property name="vexpand">true</property>
|
<property name="vexpand">true</property>
|
||||||
|
<property name="propagate-natural-width">true</property>
|
||||||
|
<property name="hscrollbar-policy">never</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkColumnView" id="functions_column_view">
|
<object class="GtkColumnView" id="functions_column_view">
|
||||||
<child>
|
<child>
|
||||||
@ -24,25 +24,33 @@
|
|||||||
<property name="factory">
|
<property name="factory">
|
||||||
<object class="GtkBuilderListItemFactory">
|
<object class="GtkBuilderListItemFactory">
|
||||||
<property name="bytes"><![CDATA[
|
<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="GtkInscription">
|
<object class="GtkInscription">
|
||||||
<property name="text-overflow">ellipsize-start</property>
|
<property name="text-overflow">clip</property>
|
||||||
<property name="xalign">.0</property>
|
<property name="nat-chars">15</property>
|
||||||
<binding name="text">
|
<property name="xalign">.0</property>
|
||||||
<lookup name="name">
|
<binding name="text">
|
||||||
<lookup name="symbol" type="SysprofCallgraphSymbol">
|
<lookup name="name">
|
||||||
<lookup name="item">GtkListItem</lookup>
|
<lookup name="symbol" type="SysprofCallgraphSymbol">
|
||||||
</lookup>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
</lookup>
|
</lookup>
|
||||||
</binding>
|
</lookup>
|
||||||
</object>
|
</binding>
|
||||||
</property>
|
<binding name="tooltip-text">
|
||||||
</template>
|
<lookup name="name">
|
||||||
</interface>
|
<lookup name="symbol" type="SysprofCallgraphSymbol">
|
||||||
]]>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
|
</lookup>
|
||||||
|
</lookup>
|
||||||
|
</binding>
|
||||||
|
</object>
|
||||||
|
</property>
|
||||||
|
</template>
|
||||||
|
</interface>
|
||||||
|
]]>
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
@ -51,11 +59,11 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
<property name="end-child">
|
<child>
|
||||||
<object class="GtkScrolledWindow" id="callers_scrolled_window">
|
<object class="GtkScrolledWindow" id="callers_scrolled_window">
|
||||||
<property name="hscrollbar-policy">never</property>
|
<property name="hscrollbar-policy">never</property>
|
||||||
<property name="vexpand">true</property>
|
<property name="min-content-height">150</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkColumnView" id="callers_column_view">
|
<object class="GtkColumnView" id="callers_column_view">
|
||||||
<style>
|
<style>
|
||||||
@ -73,7 +81,7 @@
|
|||||||
<template class="GtkListItem">
|
<template class="GtkListItem">
|
||||||
<property name="child">
|
<property name="child">
|
||||||
<object class="GtkInscription">
|
<object class="GtkInscription">
|
||||||
<property name="text-overflow">ellipsize-start</property>
|
<property name="text-overflow">ellipsize-middle</property>
|
||||||
<property name="xalign">.0</property>
|
<property name="xalign">.0</property>
|
||||||
<binding name="text">
|
<binding name="text">
|
||||||
<lookup name="name">
|
<lookup name="name">
|
||||||
@ -82,6 +90,13 @@
|
|||||||
</lookup>
|
</lookup>
|
||||||
</lookup>
|
</lookup>
|
||||||
</binding>
|
</binding>
|
||||||
|
<binding name="tooltip-text">
|
||||||
|
<lookup name="name">
|
||||||
|
<lookup name="symbol" type="SysprofCallgraphSymbol">
|
||||||
|
<lookup name="item">GtkListItem</lookup>
|
||||||
|
</lookup>
|
||||||
|
</lookup>
|
||||||
|
</binding>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
</template>
|
</template>
|
||||||
@ -95,30 +110,29 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
<property name="end-child">
|
<child>
|
||||||
<object class="GtkPaned">
|
<object class="GtkScrolledWindow" id="descendants_scrolled_window">
|
||||||
<property name="start-child">
|
<property name="hexpand">true</property>
|
||||||
<object class="GtkScrolledWindow" id="scrolled_window">
|
<property name="propagate-natural-height">true</property>
|
||||||
<property name="hexpand">true</property>
|
<child>
|
||||||
|
<object class="GtkColumnView" id="descendants_column_view">
|
||||||
|
<style>
|
||||||
|
<class name="data-table"/>
|
||||||
|
</style>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkColumnView" id="descendants_column_view">
|
<object class="GtkColumnViewColumn" id="descendants_column">
|
||||||
<style>
|
<property name="title" translatable="yes">Descendants</property>
|
||||||
<class name="data-table"/>
|
<property name="expand">true</property>
|
||||||
</style>
|
<property name="sorter">
|
||||||
<child>
|
<object class="GtkCustomSorter" id="descendants_name_sorter">
|
||||||
<object class="GtkColumnViewColumn" id="descendants_column">
|
</object>
|
||||||
<property name="title" translatable="yes">Descendants</property>
|
</property>
|
||||||
<property name="expand">true</property>
|
<property name="factory">
|
||||||
<property name="sorter">
|
<object class="GtkBuilderListItemFactory">
|
||||||
<object class="GtkCustomSorter" id="descendants_name_sorter">
|
<property name="bytes"><![CDATA[
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
<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">
|
||||||
@ -203,32 +217,33 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
<property name="end-child">
|
</object>
|
||||||
<object class="GtkPaned">
|
</child>
|
||||||
<property name="orientation">vertical</property>
|
<child>
|
||||||
<property name="end-child">
|
<object class="PanelPaned" id="right_paned">
|
||||||
<object class="GtkScrolledWindow">
|
<property name="hexpand">false</property>
|
||||||
<property name="vexpand">false</property>
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScrolledWindow">
|
||||||
|
<property name="vexpand">true</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkColumnView" id="traceables_column_view">
|
||||||
|
<style>
|
||||||
|
<class name="data-table"/>
|
||||||
|
</style>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkColumnView" id="traceables_column_view">
|
<object class="GtkColumnViewColumn" id="traceables_time_column">
|
||||||
<style>
|
<property name="title" translatable="yes">Time</property>
|
||||||
<class name="data-table"/>
|
<property name="factory">
|
||||||
</style>
|
<object class="GtkBuilderListItemFactory">
|
||||||
<child>
|
<property name="bytes"><![CDATA[
|
||||||
<object class="GtkColumnViewColumn" id="traceables_time_column">
|
|
||||||
<property name="title" translatable="yes">Time</property>
|
|
||||||
<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">
|
||||||
@ -248,17 +263,17 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
<child>
|
</object>
|
||||||
<object class="GtkColumnViewColumn" id="traceables_pid_column">
|
</child>
|
||||||
<property name="title" translatable="yes">PID</property>
|
<child>
|
||||||
<property name="factory">
|
<object class="GtkColumnViewColumn" id="traceables_pid_column">
|
||||||
<object class="GtkBuilderListItemFactory">
|
<property name="title" translatable="yes">PID</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">
|
||||||
@ -278,18 +293,18 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
<child>
|
</object>
|
||||||
<object class="GtkColumnViewColumn" id="traceables_depth_column">
|
</child>
|
||||||
<property name="title" translatable="yes">Depth</property>
|
<child>
|
||||||
<property name="expand">true</property>
|
<object class="GtkColumnViewColumn" id="traceables_depth_column">
|
||||||
<property name="factory">
|
<property name="title" translatable="yes">Depth</property>
|
||||||
<object class="GtkBuilderListItemFactory">
|
<property name="expand">true</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">
|
||||||
@ -309,57 +324,64 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
<property name="start-child">
|
<child>
|
||||||
<object class="GtkScrolledWindow">
|
<object class="GtkScrolledWindow">
|
||||||
<property name="vexpand">true</property>
|
<property name="propagate-natural-width">true</property>
|
||||||
<child>
|
<property name="vexpand">true</property>
|
||||||
<object class="GtkColumnView" id="traceable_column_view">
|
<child>
|
||||||
<style>
|
<object class="GtkColumnView" id="traceable_column_view">
|
||||||
<class name="data-table"/>
|
<style>
|
||||||
</style>
|
<class name="data-table"/>
|
||||||
<child>
|
</style>
|
||||||
<object class="GtkColumnViewColumn" id="traceable_symbol_column">
|
<child>
|
||||||
<property name="title" translatable="yes">Stack Trace</property>
|
<object class="GtkColumnViewColumn" id="traceable_symbol_column">
|
||||||
<property name="expand">true</property>
|
<property name="title" translatable="yes">Stack Trace</property>
|
||||||
<property name="factory">
|
<property name="expand">true</property>
|
||||||
<object class="GtkBuilderListItemFactory">
|
<property name="factory">
|
||||||
<property name="bytes"><![CDATA[
|
<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="GtkInscription">
|
<object class="GtkInscription">
|
||||||
<property name="text-overflow">ellipsize-middle</property>
|
<property name="text-overflow">clip</property>
|
||||||
|
<property name="nat-chars">15</property>
|
||||||
<binding name="text">
|
<binding name="text">
|
||||||
<lookup name="name" type="SysprofSymbol">
|
<lookup name="name" type="SysprofSymbol">
|
||||||
<lookup name="item">GtkListItem</lookup>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
</lookup>
|
</lookup>
|
||||||
</binding>
|
</binding>
|
||||||
|
<binding name="tooltip-text">
|
||||||
|
<lookup name="name" type="SysprofSymbol">
|
||||||
|
<lookup name="item">GtkListItem</lookup>
|
||||||
|
</lookup>
|
||||||
|
</binding>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
<child>
|
</object>
|
||||||
<object class="GtkColumnViewColumn" id="traceable_depth_column">
|
</child>
|
||||||
<property name="title" translatable="yes">Frame</property>
|
<child>
|
||||||
<property name="factory">
|
<object class="GtkColumnViewColumn" id="traceable_depth_column">
|
||||||
<object class="GtkBuilderListItemFactory">
|
<property name="title" translatable="yes">Frame</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">
|
||||||
@ -377,19 +399,17 @@
|
|||||||
</template>
|
</template>
|
||||||
</interface>
|
</interface>
|
||||||
]]>
|
]]>
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</property>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user