Break up Inspector's panes into seperate components for re-use

Create new InspectorLogView and InspectorSystemView classes abd UI, move
code from inspector into those and use them in the inspector.
This commit is contained in:
Michael Gratton 2019-07-04 11:57:53 +10:00 committed by Michael James Gratton
parent 7e91b7a9c7
commit 2841cb0b66
8 changed files with 541 additions and 388 deletions

View file

@ -3,17 +3,6 @@
<interface>
<requires lib="gtk+" version="3.20"/>
<requires lib="libhandy" version="0.0"/>
<object class="GtkListStore" id="logs_store">
<columns>
<!-- column-name log -->
<column type="gchararray"/>
</columns>
<data>
<row>
<col id="0" translatable="yes">Inspector opened</col>
</row>
</data>
</object>
<template class="ComponentsInspector" parent="GtkApplicationWindow">
<property name="can_focus">False</property>
<property name="default_width">750</property>
@ -91,7 +80,8 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes" comments="Tooltip for inspector button">Copy selected log entries</property>
<property name="tooltip_text" translatable="yes"
comments="Tooltip for inspector button">Copy to clipboard</property>
<property name="action_name">win.copy</property>
<child>
<object class="GtkImage">
@ -113,129 +103,6 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<signal name="notify::visible-child" handler="on_visible_child_changed" swapped="no"/>
<child>
<object class="GtkGrid" id="logs_pane">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="HdySearchBar" id="search_bar">
<property name="name">search_bar</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<child>
<object class="GtkSearchEntry" id="search_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="primary_icon_name">edit-find-symbolic</property>
<property name="primary_icon_activatable">False</property>
<property name="primary_icon_sensitive">False</property>
<signal name="search-changed" handler="on_logs_search_changed" swapped="no"/>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="logs_scroller">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="logs_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">logs_store</property>
<property name="headers_visible">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<signal name="size-allocate" handler="on_logs_size_allocate" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection">
<property name="mode">multiple</property>
<signal name="changed" handler="on_logs_selection_changed" swapped="no"/>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="log_column">
<property name="title" translatable="yes">column</property>
<child>
<object class="GtkCellRendererText" id="log_renderer"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">logs_pane</property>
<property name="title" translatable="yes" comments="Inspector stack title">Logs</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="detail_pane">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<property name="max_content_width">600</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="HdyColumn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">16</property>
<property name="margin_right">16</property>
<property name="margin_top">32</property>
<property name="margin_bottom">32</property>
<property name="maximum_width">500</property>
<property name="linear_growth_width">1</property>
<child>
<object class="GtkFrame">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<child>
<object class="GtkListBox" id="detail_list">
<property name="name">detail_list</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="selection_mode">none</property>
<property name="activate_on_single_click">False</property>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">general_pane</property>
<property name="title" translatable="yes" comments="Inspector stack title">General</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</template>