Cleanup classes that are moved to ACL
[AXE.git] / AXE.html
1 <html>
2 <head>
3 <title>AXE - Andromeda X windows Encapsulation</title>
4 </head>
5 <body bgcolor='white'>
6
7 <h1>AXE - Andromeda X windows Encapsulation</h1>
8
9 <p>
10 <b>AXE</b> is a C++ class library intended to make programming with
11 Xlib a lot easier.
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
15 loop.
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.
19 </p>
20
21 <p>
22 There is also a set of classes for user interface objects, such as menus
23 and buttons.
24 A few utility classes handle strings, times and dates.
25 </p>
26
27 <h2>Release notes for AXE 0.4</h2>
28 <p>
29 The latest release is 0.4.
30 This release has the following features and fixes:
31
32 <ul>
33 <li>regex class:
34   <ul>
35   <li>Added a copy contructor. This prevents multiple frees in the destructor.</li>
36   </ul>
37 </li>
38 <li>Configuration class:
39  <ul>
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).
43  </li>
44  <li>Do not read the config file in the home
45    directory if the HOME environment variable doesn't exist.
46  </li>
47  </ul>
48 </li>
49 <li>String class:
50 <ul>
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>
53 </li>
54 </ul>
55 </p>
56
57 <h2>Release notes for AXE 0.3</h2>
58 <p>
59
60 <ul>
61 <li>Configuration class:
62 <ul>
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>
71 </ul>
72 </li>
73 <li>String class:
74 <ul>
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 &amp;r);</li>
78  <li> Bugfix: Reading a String object from an istream now checks for
79    end-of-file.</li>
80 </ul>
81 </li>
82
83 <li>Date and time classes:
84 <ul>
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 &amp; operator &gt;&gt; (istream &amp;, hour &amp;)</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>
100 </ul>
101 </li>
102
103 <li>Tests and demos:
104 <ul>
105  <li> Reinstated the metronome demo</li>
106  <li> BUG FIX: acltest.cpp included the obsolete complex number test.</li>
107 </ul>
108 </li>
109 </ul>
110
111 </p>
112 <h2>Download</h2>
113 <p>
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>.
117 </p>
118
119 <h3>Patches</h3>
120
121 <ul>
122 <li><a href='AXE-patch-0.3.1.bz2'>Patch 0.3.1</a>: Bug fix in configuration class</li>
123 </ul>
124
125 <p>
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>
128 </p>
129 </body>
130 </html>