I’m sorry for the lack of updates to the Ada-DK website, but I’ve been on vacation for most of August, and updating the site while riding across Iceland on motorcycles with my wife does not really mix well with staying on top of things in the world of Ada programming.
But now I’m back, and my first post will be about the release of XAdaLib 2012 for Snow Leopard, a collection of the following Ada tools for the Mac:
- GTK Ada 2.24.2 with GTK+ 2.24.5 complete
- Glade 3.8.2
- GnatColl 2012
- Florist 2012
- AICWL 1.3
There’s both documentation and examples in the download package, so if you’re on Snow Leopard this might be an easy way to get the mentioned Ada tools up and running. You can read the full release announcement here.
Just a small fix compared to version 2.12:
- The procedure Send of Generic_Message has now the Timeout parameter to break possible deadlocks when messages are posted upon application completion.
Read the release announcement here and get the code here. Fedora and Debian packages are available and source for the rest of us.
Dmitry Kazakov refreshed a bunch of his Ada packages a few days ago:
If Ada programming is your game, then there’s a good chance you’ll find one or more of Dmitry’s Ada packages beneficial, so be sure to check them out.
More updates from Dmitry Kazakov:
GtkAda Contributions is the work of Dmitry Kazakov and Maxim Reznik. It is a package of proposed contributions to GtkAda, adding stuff like tasking support, embeddable images, spawning processes synchronously and asynchronously with pipes and a whole lot more. You can read the release announcement here.
Ada Industrial Control Widget Library enables you to create all sorts of graphical gauges, meters, clocks and oscilloscopes. If you need some sort of visual indication of load, pressure, speed or whatever, then this package will probably be able to get the work done. You can read Dmitry’s release announcement here.
There’s quite a few changes in the latest release of GtkAda Contributions:
- Compatible with version2.18 of GtkAda
- The procedure Set was added to the package Gtk.Handlers.References for
explicit unsetting references
- The procedures Has_Tooltip, Set_Has_Tooltip, Set_Tip were added to
- Gtk.Handlers.Generic_Callback was added to support signal handlers with
return values handled as GValue
- The package Gtk.Recent_Manager was renamed to Gtk.Recent_Manager_Alt to keep it compatible to GtkAda 2.18.0. For earlier versions of GtkAda,
renaming packages are provided for backward compatibility
- The Gtk.Object.Checked_Destroy procedure was added to safely destroy
- The package Gtk.Recent_Manager_Keys now provides simplified means to store and restore values by key, store and restore contents of combo boxes
Yea, Dmitry Kazakov have been busy!
GtkAda Contributions is a set of packages that extends the functionality of GtkAda. Among other things it adds tasking support, embeddable images and spawning processes synchronously and asynchronously with pipes. It really does do a whole bunch of things, so if you’re using GtkAda for you application, be sure to check out if this package can make your life easier.
Creating programs with graphical user interfaces was not the primary concern when Ada was originally designed, but that doesn’t mean that it’s an impossible task today.
One of the options available is GtkAda, which is a binding to Gtk+.
Now, knowing that you can do graphical user interfaces in Ada is not the same as knowing how, and that is where today’s tutorial comes into the picture:
Programming with GtkAda.
This is a collection of resources and examples related to building a graphical user interface with GtkAda, or as it is said:
This page is for people who are beginners with GtkAda. It is a collection of resources, examples and helpful links. Gadget and Walker are tutorials which take the beginner programmer into the mysteries of widgets. They deal with the creation and use of a Graphical User Interface using buttons with icons and labels.
If you plan on trying your hand at GtkAda, then this is most certainly a good place to start.
From the hands of Dmitry A. Kazakov we get Ada Industrial Control Widget Library, version 1.0:
The library is intended for designing high-quality industrial control widgets for Ada applications. The widgets are composed of transparent layers drawn by cairo. The widgets are fully scalable graphics. Time controlled refresh policy is supported for real-time and heavy-duty applications. The library supports caching graphical operations and stream I/O for serialization and deserialization. Ready-to-use gauge and meter widgets provided as samples as well as an editor widget for WYSIWYG design of complex dashboards. The software is based on GtkAda and cairoada, Ada bindings to GTK+ and cairo.
The library is documented in the usual style of Dmitry’s packages: Perfectly.
The library depends on GtkAda and cairoada.
You can read the full release announcement here.
Dmitry Kazakov has released version 2.9 of his and Maxim Reznik’s GtkAda Contributions. As the name implies, this is a contribution to GtkAda. The packages deal with:
- Tasking support
- Capturing resources of a widget
- Embeddable images
- Simplified means to create lists of strings
- Capturing asynchronous process standard I/O by Ada tasks and by text buffers
And much more. This latest release fix the following issues:
- Progress indication added to Gtk_Abstract_Directory_Record
- Style_Get added to Gtk.Widget.Styles returning GValue by name
- RGB convenience function was added to Gtk.Missed
- Gtk.Generic_Enum_Combo_Box provides combo box widget created from an enumeration type (contributed by Oliver Kellogg)
- The documentation links to the AdaCore on-line GtkAda Reference Manual were fixed because the old reference manual is no longer available
You can read the full release announcement here.