[Glade-devel] Glade Catalog XML Sytax?
Tristan Van Berkom
tvb at gnome.org
Sat Dec 3 05:18:19 EST 2011
On Sat, Dec 3, 2011 at 7:10 PM, Tristan Van Berkom <tvb at gnome.org> wrote:
> On Sat, Dec 3, 2011 at 6:44 PM, Randall Sawyer <srandallsawyer at gmail.com> wrote:
>> 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).
>
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
More information about the Glade-devel
mailing list