3 <title>AXE - Andromeda X windows Encapsulation</title>
7 <h1>AXE - Andromeda X windows Encapsulation</h1>
10 <b>AXE</b> is a C++ class library intended to make programming with
12 Resources in X like windows, colors or graphics contexts are represented by
13 objects in C++ with member functions to provide the operations on those resources.
14 The <b>AXE</b> library provides a <code>main()</code> function with the event
16 All you need to do is create your own objects with classes that are derived
17 from the classes in <b>AXE</b> and override the event handling methods to
18 handle the events you select.
22 There is also a set of classes for user interface objects, such as menus
24 A few utility classes handle strings, times and dates.
27 <h2>Release notes for AXE 0.4</h2>
29 The latest release is 0.4.
30 This release has the following features and fixes:
35 <li>Added a copy contructor. This prevents multiple frees in the destructor.</li>
38 <li>Configuration class:
40 <li>Added new arguments to find_parameter() to allow for a list of
41 sections and a list of parameters in sections.
42 The new arguments are section index and parameter index (default = 0).
44 <li>Do not read the config file in the home
45 directory if the HOME environment variable doesn't exist.
51 <li>Dynamically allocate more memory if the string buffer runs out of space.</li>
52 <li>Constructor and assignment from char * are more robust from NULL pointers.</li>
57 <h2>Release notes for AXE 0.3</h2>
61 <li>Configuration class:
63 <li> Improved the XML library configuration.</li>
64 <li> Uses the XML2 library</li>
65 <li> Bug Fixes in configuration class: segfault when finding a parameters
66 that is not in the user-sepcific config tree.
67 Check if a configuration file exists before feeding it to the XML parser.</li>
68 <li> Bugfix: In configuration::find_parameter(), check if the parameter node exists
69 before retrieving its contents.</li>
70 <li> BUG FIX: testaxe crashed without a config file.</li>
75 <li> New functions: String::escape(), String::unescape()</li>
76 <li> New feature: substring selection by regular expression, with
77 substring String::operator()(const regex &r);</li>
78 <li> Bugfix: Reading a String object from an istream now checks for
83 <li>Date and time classes:
85 <li> Bugfix: conversion of an empty string to a date or hour object
86 now makes the values of such an object 0 (null) instead of giving
87 a segmentation fault.</li>
88 <li> The class UTC combines the date and hour classes. The most basic
89 functions of the UTC class are now implemented.
90 These include constructors and conversion to and from String objects.</li>
91 <li> New functions: date::proper(), hour::proper() and UTC::proper().
92 Return true if the object holds a proper clock time and/or calendar
93 date; false if at least one value is out of range.</li>
94 <li> date::format() is now properly implemented</li>
95 <li> New operator to read an 'hour' object from an istream:
96 istream & operator >> (istream &, hour &)</li>
97 <li> New function 'String hour::format()'. The default format is HH:MM:SS
98 in 24 hour clock.</li>
99 <li> New function 'hour now()' read the current time of day.</li>
105 <li> Reinstated the metronome demo</li>
106 <li> BUG FIX: acltest.cpp included the obsolete complex number test.</li>
114 You can download the <a href="AXE-0.3.tar.bz2">AXE release 0.3 tarball</a> which
115 contains the source and the (slghtly outdated) documentation.
116 To get you started, read the <a href='tutorial.html'>tutorial</a>.
122 <li><a href='AXE-patch-0.3.1.bz2'>Patch 0.3.1</a>: Bug fix in configuration class</li>
126 If you encounter any problems or if you want to make suggestions,
127 please don't hesitate to drop me an <a href="mailto:arjen@andromeda.nl">Email</a>