buildable vs plain objects

The Gtk2::Buildable pod "PLAIN OBJECTS" reads like you can't build a
plain Glib::Object subclass at all unless you have the Gtk2::Buildable
interface on it.  I suppose that's adapted from the gtk ref manual
GtkBuildable "Description",

    In order to allow construction from a GtkBuilder UI description, an
    object class must implement the GtkBuildable interface.
But is it true?  The few lines below seem to work for me (gtk 2.20).
Gtk2::Builder seems fine on plain objects, at least as far as creating
and <property> settings.

use strict;
use warnings;
use Gtk2;

  package Foo;
  use strict;
  use warnings;
  use Glib;
  use Glib::Object::Subclass
      properties => [Glib::ParamSpec->string
                      '', # default

my $builder = Gtk2::Builder->new;
$builder->add_from_string (<<'HERE');
  <object class="Foo" id="myfoo">
    <property name="mystring">hello</property>

my $foo = $builder->get_object('myfoo');
print $foo,"\n";
print $foo->get('mystring'),"\n";

print "interfaces: ",Glib::Type->list_interfaces('Foo'),"\n";

exit 0;

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]