AXE - Andromeda X windows Encapsulation
AXE is a C++ class library intended to make programming with
Xlib a lot easier.
Resources in X like windows, colors or graphics contexts are represented by
objects in C++ with member functions to provide the operations on those resources.
The AXE library provides a main()
function with the event
loop.
All you need to do is create your own objects with classes that are derived
from the classes in AXE and override the event handling methods to
handle the events you select.
There is also a set of classes for user interface objects, such as menus
and buttons.
A few utility classes handle strings, times and dates.
Release notes for AXE 0.4
The latest release is 0.4.
This release has the following features and fixes:
- regex class:
- Added a copy contructor. This prevents multiple frees in the destructor.
- Configuration class:
- Added new arguments to find_parameter() to allow for a list of
sections and a list of parameters in sections.
The new arguments are section index and parameter index (default = 0).
- Do not read the config file in the home
directory if the HOME environment variable doesn't exist.
- String class:
- Dynamically allocate more memory if the string buffer runs out of space.
- Constructor and assignment from char * are more robust from NULL pointers.
Release notes for AXE 0.3
- Configuration class:
- Improved the XML library configuration.
- Uses the XML2 library
- Bug Fixes in configuration class: segfault when finding a parameters
that is not in the user-sepcific config tree.
Check if a configuration file exists before feeding it to the XML parser.
- Bugfix: In configuration::find_parameter(), check if the parameter node exists
before retrieving its contents.
- BUG FIX: testaxe crashed without a config file.
- String class:
- New functions: String::escape(), String::unescape()
- New feature: substring selection by regular expression, with
substring String::operator()(const regex &r);
- Bugfix: Reading a String object from an istream now checks for
end-of-file.
- Date and time classes:
- Bugfix: conversion of an empty string to a date or hour object
now makes the values of such an object 0 (null) instead of giving
a segmentation fault.
- The class UTC combines the date and hour classes. The most basic
functions of the UTC class are now implemented.
These include constructors and conversion to and from String objects.
- New functions: date::proper(), hour::proper() and UTC::proper().
Return true if the object holds a proper clock time and/or calendar
date; false if at least one value is out of range.
- date::format() is now properly implemented
- New operator to read an 'hour' object from an istream:
istream & operator >> (istream &, hour &)
- New function 'String hour::format()'. The default format is HH:MM:SS
in 24 hour clock.
- New function 'hour now()' read the current time of day.
- Tests and demos:
- Reinstated the metronome demo
- BUG FIX: acltest.cpp included the obsolete complex number test.
Download
You can download the AXE release 0.4 tarball which
contains the source and the (slghtly outdated) documentation.
To get you started, read the tutorial.
Patches
If you encounter any problems or if you want to make suggestions,
please don't hesitate to drop me an Email