gtkaml 0.4.2 released

3 views
Skip to first unread message

Vlad Grecescu

unread,
Mar 14, 2011, 3:32:13 PM3/14/11
to gtkam...@googlegroups.com, vala-list, gnome-ann...@gnome.org
Hello,
We are proud to announce the 0.4.2 version of Gtkaml with the new Gtkon syntax.

Changes in 0.4.2:
- updated to valacompiler 0.11.6, compatible with vala 0.10.4
- internal classes: by using gtkaml:internal="foo" on the root node.
The existing gtkaml:name becomes an alias for gtkaml:public.
- internal and protected modifiers for fields, along with public/private
- properties: a field with e.g. gtkaml:property="get; internal set;"
becomes a property
This feature is available as property='get;internal set' in Gtkon
- gtkon:version is now optional
- use $foo on root node in Gtkon for the class name, instead of name="foo"

Issues fixed:
- #18 Signals in interfaces are not detected
- #23 Cannot refer to variables created in code
- #24 Invalid UTF-8 handling

================

What is it?

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>

Gtkon is an object notation alternative to the XML syntax, contributed
by pancake at nopcode.org:

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

More information on the Gtkon syntax is available here [2] and in the
tests and examples gtkaml comes with.


Features:
* compact XML syntax for describing composite Gtk widgets
* Gtkon syntax for JSON-like sources
* code 'islands' (written in Vala) - for signal handling and other
code 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 variables, 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)

Full release notes: http://code.google.com/p/gtkaml/wiki/ReleaseNotes
Downloads: http://code.google.com/p/gtkaml/downloads/list

[1] Examples: http://code.google.com/p/gtkaml/wiki/Example
[2] Gtkon http://code.google.com/p/gtkaml/wiki/Gtkon

Regards,
Vlad Grecescu

Vlad Grecescu

unread,
Mar 15, 2011, 4:59:11 AM3/15/11
to Гаврилов Максим, vala-list, gtkam...@googlegroups.com
2011/3/14 Гаврилов Максим <ull...@gmail.com>:

> 14/03/2011 в 21:32 +0200, Vlad Grecescu wrote:
>> Hello,
>> We are proud to announce the 0.4.2 version of Gtkaml with the new Gtkon syntax.
>
> Included in Vala overlay for Gentoo.
> http://code.google.com/p/gentoo-vala/
>
> I didn't find any information about exact version of glib, gtk+ and
> libxml which gtkaml should be built with. Could you please provide this
> information so I could improve ebuild?

Nice:)

Regarding the requirements:

For building gtkaml you need glib 2.16 just like Vala needs and
(afaict) any version of libxml-2.0
For _using_ it to build Gtk+ applications, there is no mandatory Gtk+
API level, it depends on what you're using from the gtk+-2.0.vapi and
gtk+-3.0.vapi that are shipped with Vala.

However, since the vanilla package also builds the gtkaml tests, it's
safe to put a gtk+-2.0 dependency there too.

So:
glib-2.0 >= 2.16
libxml-2.0
gtk+-2.0

HTH,
Vlad

Reply all
Reply to author
Forward
0 new messages