GWindows – A New Ada GUI Framework For Windows

A new GUI framework for Ada is always welcome, even though this is one restricted to one platform. GWindows is..

…the Professional Open Source Ada 95 Win32 RAD Framework. It introduces for the first time to Ada programming a comprehensive rapid application development framework spanning GUI, Database and Active X integration. It brings the power of Ada to programming domains that up until now are dominated by VB and Delphi.

GWindows includes extensive bindings to the Windows GUI including support for common controls and dialogs, printing, and owner drawn extensions to controls. In addition, GWindows adds a number of new controls, keyboard support, multiple models of event handling, Active
X controls, support for creating dialogs and windows from resource files, dynamic garbage collected windows, Window docking, non-GUI bindings, database support, database bound controls, and much more!

GWindows builds as either ANSI or UNICODE (a first for Ada!) for internationalization and performance boosts on Windows NT, 2000, and XP. GWindows is tightly integrated with GNATCOM, the Ada 95 COM/DCOM/COM+ Development Framework and Tools opening every facet of the Windows platforms to Ada 95 development. Never again will the cries be heard, “but there are no bindings” on the Windows platform!

GWindows is designed to take advantage of Ada’s unique combination of features rich typing mechanisms. It is not a think binding to an underlying C interface, but a complete framework that takes advantage of Ada at every level.

Usage seems pretty simple and straightforward, and creating the ever popular Hello world! application is done rather easily:

with GWindows.Windows.Main; use GWindows.Windows.Main;
with GWindows.Application;
procedure Hello_World is
   pragma Linker_Options ("-mwindows");
   Main_Window : Main_Window_Type;
   Create (Main_Window, "Hello world!");
   Visible (Main_Window, True);
end Hello_World;

Yea, I just completely stole that from their tutorial – I haven’t actually tried it, since I don’t use Windows.

If you’re an Ada programmer and you’re itching to build some GUI applications, then be sure to take a look at the GWindows documentation to see if it suits your fancy.

You can read the full release announcement here.