The library is a contribution to GtkAda, an Ada bindings to GTK+ toolkit. It deals with the following issues: tasking support; custom models for tree view widget; custom cell renderers for tree view widget; multi-columned derived model; an extension derived model (to add columns to an existing model); an abstract caching model for directory-like data; tree view and list view widgets for navigational browsing of abstract caching models; file system navigation widgets with wildcard filtering; resource styles; capturing the resources of a widget; embeddable images; some missing sub-programs and bugfixes; a measurement unit selection widget and dialogs; an improved hue-luminance-saturation color model; simplified image buttons and buttons customizable by style properties; controlled Ada types for GTK+ strong and weak references; and a simplified means to create lists of strings.
QtAda is an Ada2005 language binding to the Qt libraries and a set of useful tools. It allows you to easily create powerful cross-platform graphical user interfaces completely on Ada 2005. QtAda applications use the native look and feel on every supported platform. It also allows you to develop your own widgets and integrate them into the Qt Designer for high speed visual GUI development. It uses a native thread-safe signal/slot mechanism and provides full transparent integration with Ada tasks.
ASCL comprises a set of reusable Ada packages. The focus is not on light-weight components but larger components such as a configuration manager and a CLI application environment which does all the argument parsing. It also includes a build environment for Linux which can be updated and maintained independently of the actual source code. It supports the personal software process for Ada programming.
AdaControl is a tool that detects the use of various kinds of constructs in Ada programs. Its first goal is to control proper usage of style or programming rules, but it can also be used as a powerful tool to search for the use (or non-use) of various forms of programming styles or design patterns. Searched elements range from very simple, like the occurrence of certain entities, declarations, or statements, to very sophisticated, like verifying that certain programming patterns are being obeyed. Which elements or constructs are searched is defined by a set of user-definable rules.
XML EZ Out is a small set of packages intended to aid the creation of XML-formatted output from within Ada programs. It basically wraps the tags and data provided to it with XML syntax and writes them to a user-supplied medium. This medium can be any sort of writable entity, such as a file, a memory buffer, or even a communications link, such as a socket. The only functionality required of the medium is that it supply a meaningful "Put" (for writing a string) and "New_Line" procedure.
Structure101 is a tool to understand, measure, and control software structure. It allows you to see exactly how your high-level components depend on each other and why. You can use it to find out immediately when your architecture is accidentally changed by code-level changes at the coal-face. It can help you control structural complexity, since it can measure the complexity of methods, classes, and packages and warn you when given limits are exceeded. It can also discover the locations of productivity-killing package dependency cycles.
GlGuiA is a set of Ada packages for creating graphical user interfaces. It provides a complete and extensible set of graphical items (widgets), such as buttons, scales, trees, message boxes, and dialog boxes. It should be rather easy to create new objects from existing ones. To gain platform independence, the library relies on OpenGl for drawing primitives. Basic event and window management are done using Glfw.
BUSH (Business Shell) combines the capabilities of BASH, PHP, GCC, and databases into a uniform design for rapidly building secure, reliable Web sites. Based on an ISO standard, it promotes code reuse: scripts and templates can be compiled with GCC or ported to JVM or .Net using third party tools with only minor changes. It can also replace BASH as an interactive command shell with SQL support, and is a general purpose scripting language.