Discussion:
Glade Catalog XML Sytax?
Tristan Van Berkom
2011-12-03 10:10:23 UTC
Permalink
Hi!
With all due respect...
Sure, please address the mailing list in the future (I added it on CC).
I feel as if I have been invited to my friend's house for supper...
However, before we can eat, I must first assist in washing the dirty dishes,
that we may have something upon which to suitably eat: Here.
I am willing and able to edit and update any and/or all of the GLADE code to
reflect a well-formed XML format by which validation and supporting
documentation (http://developer.gnome.org/gladeui/stable/catalogintro.html)
makes sense.  [FYI: An element is a concrete nounable, while an attribute is
an abstract nounable;  neither is a '_TAG_'.]
If having a well formed DTD for Glade's catalog format is important to you,
then you are indeed the first one it has ever been important for.

By all means feel free to submit patches to the documentation (thankfully
you are proof that at least one person has actually read documentation),
and feel free to write a proper DTD for that.
Otherwise (or including), I am willing to compose a
GLIB->GTYPE->GOBJECT->GTKOBJECT->GTKWIDGET xml syntax from scratch.  My only
motivation is to contribute to SOUND code:  I.e., I have no personal
judgements upon your person-hoods.  GLADE rings - Now, let it Sing!  (Or not
- in which case, I will Sing solo.)
I'm not sure what you mean by this xml syntax (GLIB->GTYPE->GOBJECT...
???), the official output
of Glade is the format recognized by GtkBuilder:
http://developer.gnome.org/gtk3/stable/GtkBuilder.html

Don't get that confused with the xml format used to introduce support
for your widgets in
Glade, that xml format is what we use to add widgets to Glade's
palette and load code
from Glade's runtime plugins (the documentation described in
http://developer.gnome.org/gladeui/stable/catalogintro.html
is the documentation for augmenting Glade's experience with additional
widgets and
additional user-provided widget editors).

Cheers,
-Tristan
Yours,
Randall
I am local.  I live in Seattle.
_______________________________________________
Glade-devel maillist - Glade-***@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/glade-devel
Tristan Van Berkom
2011-12-03 10:18:19 UTC
Permalink
Post by Tristan Van Berkom
Hi!
With all due respect...
Sure, please address the mailing list in the future (I added it on CC).
I feel as if I have been invited to my friend's house for supper...
However, before we can eat, I must first assist in washing the dirty dishes,
that we may have something upon which to suitably eat: Here.
I am willing and able to edit and update any and/or all of the GLADE code to
reflect a well-formed XML format by which validation and supporting
documentation (http://developer.gnome.org/gladeui/stable/catalogintro.html)
makes sense.  [FYI: An element is a concrete nounable, while an attribute is
an abstract nounable;  neither is a '_TAG_'.]
If having a well formed DTD for Glade's catalog format is important to you,
then you are indeed the first one it has ever been important for.
By all means feel free to submit patches to the documentation (thankfully
you are proof that at least one person has actually read documentation),
and feel free to write a proper DTD for that.
Otherwise (or including), I am willing to compose a
GLIB->GTYPE->GOBJECT->GTKOBJECT->GTKWIDGET xml syntax from scratch.  My only
motivation is to contribute to SOUND code:  I.e., I have no personal
judgements upon your person-hoods.  GLADE rings - Now, let it Sing!  (Or not
- in which case, I will Sing solo.)
I'm not sure what you mean by this xml syntax (GLIB->GTYPE->GOBJECT...
???), the official output
  http://developer.gnome.org/gtk3/stable/GtkBuilder.html
Don't get that confused with the xml format used to introduce support
for your widgets in
Glade, that xml format is what we use to add widgets to Glade's
palette and load code
from Glade's runtime plugins (the documentation described in
  http://developer.gnome.org/gladeui/stable/catalogintro.html
is the documentation for augmenting Glade's experience with additional
widgets and additional user-provided widget editors).
Actually FWIW, if your interested in good and sound code, you should
know that the xml catalog format is really just a hack because I just dont
have time to go back and re-write that correctly.

Glade words with GladeWidgetAdaptor objects which handle all the code
and attributes needed for a said widget class, adaptors which support,
for instance GtkLabel, will derive from the adaptor which supports the
base GtkWidget class etc.

The xml parser currently generates these adaptors in a loop while reading
the xml, using low-level functions like g_type_register_dynamic() and actually
building the GObjects in memory.

However, since Glade 3.10 we have a very nicely sealed API and we are
generating GIRs for our core library.

The correct/clean way to export the adaptor functionality would be to create
some binding glue to Glade's core library and allow plugins to write complete
adaptor objects in java script or python.

Currently we dont do it cleanly because it would require writing C GObject
boiler plate code for every single adaptor which we need to introduce into
Glade's runtime (hence the xml catalog).

Cheers,
-Tristan
_______________________________________________
Glade-devel maillist - Glade-***@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/glade-devel

Loading...