Gtkaml is an XML parser that extends the Vala.Parser (literally) and transforms casual XML markup into a valid Gtk+ UI class.
<HBox homogeneous="false">
<Label label="_Hello" with-mnemonic="true" expand="false" fill="false"/>
<Entry g:public="my_entry" text="World! "/>
</HBox>Features
- compact XML syntax for describing Gtk widgets
- code 'islands' (written in Vala) for signal handling and other methods/signals/properties/ in your widget class (so you don't modify the generated code ever)
- doesn't depend on an external library at run-time
- much more readable than the usual UI boilerplate (e.g. you don't need to worry about temporary variable names, or ever write hundreds of lines of code/markup)
To see a sample of what gtkaml looks like, see the example here. Have a look at the design goals for a quick specification + advancements in development. A reference documentation is made available too. Examples can be found in /tests and /examples in the source distribution.
You can discuss about gtkaml on the gtkaml-dev mailing list.
(2009-11-13) gtkaml 0.2.9.1 released!
This version is updated for Vala 0.7.8
Fixes issue #20 .
See the release notes.
Status
Gtkaml 0.2.x is currently keeping up-to-date with Vala releases. Bugs are fixed as long as they don't require re-architecturing.
Gtkaml 0.4 is in prototyping phase. Changes include re-using Vala's parser for expressions and Vala symbol resolver as much as possible, opening the oportunity to data binding based on 'notify' signal.