[Glade-users] Building a simple composite widget?
- From: riehecky at fnal.gov (Pat Riehecky)
- Subject: [Glade-users] Building a simple composite widget?
- Date: Thu, 22 Feb 2018 09:07:16 -0600
On 02/22/2018 08:26 AM, Juan Pablo Ugarte wrote:
On Tue, 2018-02-20 at 16:03 -0600, Pat Riehecky wrote:
I'm trying to build a set of reusable widgets. Basically I have a
bunch
of places where I need the same dropdown boxes. Each box may have a
different selected value (Instance A uses Index 1 while Instance B
uses
Index 2), but the items in the list are the same.
I'm really just looking to build a set of Pre-populated
"GtkComboBox"
items - A simplified example is attached.
I'd prefer to store the possible enum values within a widget and
then
interrogate it rather than a bunch of "GtkListStore" items I need to
edit over and over.
Is there a way I can convert the attached "ProtocolDropdown" object
into
a widget? I'd want it to stay associated with the "Protocols"
"GtkListStore".
Building a C program to track this feels like massive overkill, but
I
don't see a way to "Export object as widget".
First of all you have to make your custom GtkComboBox derived class
https://developer.gnome.org/gtk3/stable/GtkWidget.html#composite-templa
tes
(In Glade check the composite checkbox next to widget ID to make that
toplevel a composite template)
Then you will need to write a custom catalog for Glade to know about
your new widget
https://developer.gnome.org/gladeui/3.20/catalogintro.html
AS the first implementation you do not need to load your library in
Glade you can simply define your new class and add parent="GtkComboBox"
Something like...
<?xml version="1.0" encoding="UTF-8"?>
<glade-catalog name="custom"
depends="gtk+">
<glade-widget-classes>
<glade-widget-class name="MyComboBox"
generic-name="mycombobox"
title="MyComboBox"
parent="GtkComboBox"/>
</glade-widget-classes>
<glade-widget-group name="custom" title="Custom Widgets">
<glade-widget-class-ref name="MyComboBox"/>
</glade-widget-group>
</glade-catalog>
should do the trick after you save the catalog in a place specified in
Glade->preferences->Extra catalog paths
hope this helps
JP
Thanks for the help!
How would I attach a GtkListStore with pre-populated values to this item?
I tried adding <internal-children> and <property id="model"> but that
didn't seem to work.
Pat
--
Pat Riehecky
Fermi National Accelerator Laboratory
www.fnal.gov
www.scientificlinux.org
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]