My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

Gtkaml is a markup language based on Vala which lets you create Gtk+ composite widgets through concise XML:

<HBox homogeneous="false">  
      <Label label="_Hello" with-mnemonic="true" expand="false" fill="false"/>  
      <Entry g:public="my_entry" text="World! "/>
</HBox>

or by using Gtkon object notation:

HBox !homogeneous {
  Label with-mnemonic label="_Hello" !expand !fill;
  Entry $my_entry text="World!";
}

Features

  • compact XML syntax for describing Gtk widgets
  • JSON-like and less verbose Gtkon syntax
  • 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)
  • you don't depend on gtkaml 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)
  • works with any library that has a .vapi file, not just Gtk+ (composition methods can be specified in the .implicits file)

To see a sample of what gtkaml looks like, see the examples here. Have a look at the design goals for a quick specification + advancements in development. A reference of the gtkaml keywords 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 or you can Follow gtkaml on Twitter.

Using Gtkaml?

Then let us know!

(2011-12-31) gtkaml 0.6 beta 1

This beta release includes a new way of interaction with the Vala compiler that enables future developments.

There should be no notable differences compared to 0.4.3's functionality other than:

  • compatibility with Vala 0.12/0.14/0.15
  • source files' order from command line is not relevant anymore (previous architectural limitation)
  • support for custom creation methods (the construct will still be generated by gtkaml)

Source is available in the svn branch gtkaml-0.6 for now.

(2011-03-22) gtkaml 0.4.3

  • #! shebang support for GtkON files to be used with the gtkaml executable
  • vim syntax files for gtkon and gtkaml files. (thanks pancake@nopcode.org). See editors/vim/README on how to use them.
  • removed own debian/* files in favour of debian's own packaging scripts (thanks David <dapal@debian.org>)
  • optional running of tests with --enable-tests at configure stage

See the release notes.

Powered by Google Project Hosting