GtkAda: a complete Ada graphical toolkit

Our latest release

GtkAda 3.8.4 can now be downloaded directly from the GNAT GPL download area, in the tools/gtkada section.

Access to the latest snapshot using Git

The GtkAda repository is accessible on GitHub. To check it out:

 git clone

You can also browse the repository directly.

If you would like to contribute, please send a pull request on GitHub.

Introduction to Gtk+ and GtkAda

What is Gtk+?

Gtk+ is a graphical toolkit written in C for X-Window and Win32 that was originally developed as the basis for the gimp.

What is GtkAda?

GtkAda is an Ada graphical toolkit based on Gtk+, providing the complete set of Gtk+ widgets using the Object-Oriented features of this language. GtkAda supports the latest 3.14 stable releases.

Status of this toolkit

Implementation rationale

This toolkit tries to map almost all the functions found in gtk and gdk. This is a thick binding, which means that while the functions are mapped on an almost one-to-one basis (a given Ada function is actually mapped to a single C function in most cases), we also tried to add a strong typing mechanism, which is one of the strongest feature of Ada. We are also now providing new features such as dynamic Glade support. The callbacks are mapped as generic packages which try to provide type safety. Along with this toolkit, you will find a lot of examples on how to use it. You will also find a few screenshots below.

Online Documentation


We appreciate any contribution or bug report from you and we will try to include them whenever possible.


We have been able to test GtkAda 3.14.x it on the following machines. Please let us know if you can use it/port it to other machines. As far as we know, it should work on every target supported by both GNAT and Gtk.

  • GNU/Linux x86, ia64, x86-64
  • Solaris sparc, x86
  • Mac OS X x86-64
  • FreeBSD x86
  • Windows XP/Vista/7/8

Related Web Sites

The following are some useful related web sites:


This toolkit has been written by:

  • Emmanuel Briot (briot at
  • Joel Brobecker (broecker at
  • Arnaud Charlet (charlet at
  • Nicolas Setton (setton at

and is maintained and supported by AdaCore.

Please report any problem directly to the gtkada mailing list if you are not supported. If you are a supported user, please send reports to If you are interested in becoming a supported GtkAda user, you should send an email to

Note that the gtkada list is now a regular mailing list. If you want to subscribe, simply click here and follow the instructions, or send a “subscribe” request to gtkada-request.

You can also visit the GtkAda archives.