Annotation of othersrc/dist/cdk/CHANGES, revision 1.1.1.1
1.1 garbled 1: Cdk Version Change List
2: Copyright Mike Glover, 1995, 1996, 1997, 1998, 1999
3: Some changes copyright Thomas Dickey 1999, 2000
4: -------------------------------------------------------------------------------
5:
6: This file outlines all of the changes/additions from one release to another.
7: You should also look at the BUGS file for information related to bugs which
8: were fixed from release to release.
9:
10: 2000/4/9 - T.E.Dickey <dickey@clark.net>
11: ==========================================
12: + modify newwin() call in subwindow_ex.c to account for actual screen
13: size rather than assuming 25 lines (reported by Gary Funck
14: <gary@Intrepid.Com>).
15: + add CF_X_ATHENA and CF_X_TOOLKIT configure macros for --with-pdcurses
16: option, needed if the Xcurses or dependent libraries are static
17: rather than shared.
18: + correct typo in configure check for HPUX 11.x (reported by Bjorn
19: Helgaas <helgaas@rsn.hp.com>).
20:
21: 2000/2/18 - T.E.Dickey <dickey@clark.net>
22: ==========================================
23: + add case for HPUX 11.x use of cur_colr library (reported by
24: Bjorn Helgaas <helgaas@rsn.hp.com>).
25: + add configure option --with-pdcurses, to link with the X11 version
26: of PDCurses.
27: + eliminate quoted includes, in favor of bracketed form.
28: + ifdef'd limits.h, moving that into cdk.h with a fallback definition
29: for INT_MIN and INT_MAX.
30: + minor fixes for building with SunOS 5lib version: configure check
31: for getopt variables, correction to demos/Makefile.in
32:
33: 2000/1/17 - T.E.Dickey <dickey@clark.net>
34: ==========================================
35: + add lib-prefix and executable suffix checks to configure script for
36: port to OS/2 EMX.
37: + add configure check for lstat().
38:
39: 2000/1/16 - T.E.Dickey <dickey@clark.net>
40: ==========================================
41: + drop dependency on usleep(), using napms() which is standard with
42: SVr4 curses.
43: + rewrote mode2Char(), making it table-driven and splitting out
44: mode2Filetype() to make porting simpler, by putting ifdef's for
45: S_ISSOCK in one place only.
46: + use new freeCharList() to reduce clutter.
47: + eliminate casts of NULL, to reduce clutter.
48: + change several uses of control characters in source to use CONTROL()
49: macro.
50: + correct format of date shown in bind_ex.c
51: + correct nonstandard getcwd() usage in fselect.c
52: + change demo and example makefiles to not strip executables.
53: + modify demo/Makefile.in to work around Solaris' make program which
54: does not process ".c" rule as desired.
55:
56: 2000/1/8 - T.E.Dickey <dickey@clark.net>
57: ==========================================
58: + fix compiler warnings with Solaris cc.
59:
60: 1999/12/19 - T.E.Dickey <dickey@clark.net>
61: ==========================================
62: + update email and url for Mike Glover based on 4.9.9 version dated
63: 1999/7/29.
64:
65: 1999/6/26 - T.E.Dickey <dickey@clark.net>
66: ==========================================
67: + add configure options --with-dbmalloc and --with-dmalloc to simplify
68: testing with those libraries.
69: + correct error in rewrite of char2Chtype which broke repeat-counts.
70:
71: 1999/6/5 - T.E.Dickey <dickey@clark.net>
72: ==========================================
73: + correct reference to uninitialized memory in bindCDKObject()
74: + add/use BINDFN_PROTO macro to simplify maintenance of Perl extension,
75: corrected corresponding functions to be typed void.
76: + shorten/simplify mapChtype by making it table-driven.
77: + shorten/simplify char2DisplayType by making it table-driven.
78: + replace splitString() by CDKsplitString() and CDKcountStrings() to
79: eliminate buffer-limits.
80: + simplify char2Chtype, eliminate fixed-buffer limits.
81: + prevent recursion in segvTrap.
82:
83: 1999/5/29 - T.E.Dickey <dickey@clark.net>
84: ==========================================
85: + remove bindFunction and bindData arrays from individual widgets
86: + make draw, erase, move methods accessed only via the CDKFUNCS table
87: in each widget.
88: + add move method for menu.c
89: + split-out positionCDKObject function from widget code.
90:
91: 1999/5/23 - T.E.Dickey <dickey@clark.net>
92: ==========================================
93: + remove WIN_WIDTH and related macros, use the more common getmaxx,
94: and similar macros. Provide fallback definitions for those.
95: + replace log10() call in intlen with simple recursion.
96: + add getendx() and getendy() macros.
97: + add moveCursesWindow().
98: + generate include/cdk_config.h, to simplify ifdef'ing for gcc
99: features, and to reduce clutter in the makefiles.
100: + add functions ceilCDK() and floorCDK() to eliminate dependency on
101: the math library
102: + simplified, corrected upper-limit checks in alignxy().
103: + change bindings to be dynamically allocated, part of the CDKOBJS
104: structure.
105: + correct overlap between title and percentage in drawCDKViewerInfo()
106:
107: 1999/5/15 - T.E.Dickey <dickey@clark.net>
108: ==========================================
109: + revised configure script, using autoconf macros which I've written
110: for other programs to check for ncurses configuration.
111: + corrected language of copyrights - Mike Glover's intent to retain
112: copyright of CDK is not served by putting a 1990 copyright attributed
113: to UC Berkeley.
114: + except for unused parameters, fix gcc compiler warnings.
115: + change prototypes to not use parameter names, since this causes
116: namespace pollution.
117: + make functions that do not have public prototypes static.
118: + add missing exit() call in fileview.c, after endCDK() call.
119: + move delwin() calls before endCDK() call in a few other examples.
120: + correct apparent bug in widgets which process a binding (such as
121: KEY_DOWN, in the alphalist and fileview.c demos). They set the
122: exitType to vESCAPE_HIT rather than the expected vEARLY_EXIT.
123: + ifdef'd out some debug code in scroll_ex.c
124: + correct a loop limit freeing mesg[] array in selection_ex.c
125: + move common object data into new struct CDKOBJS, making cdkscreen.c
126: much simpler and extensible.
127: + change erase and draw functions (called from cdkscreen.c) to
128: object pointers, so only widgets used are linked, making example
129: programs half as big.
130:
131: 4.9.7 -> 4.9.8 (December 1998)
132: ==========================================
133: * Changed the way key bindings worked. If the key binding exited
134: with a non-zero value then the widget would exit like the user
135: pressed the escape key. This provides more control over key
136: binding callbacks. Now the bind prototype is:
137: int function (EObjectType cdktype, void *object, void *clientData, chtype key);
138: * Reversed the order of this file. The most recent first.
139:
140: 4.9.6 -> 4.9.7 (December 1998)
141: ==========================================
142: * Went from static Makefiles to autoconf and configure. (finally)
143:
144: 4.9.2 -> 4.9.6
145: ==========================================
146: * Once again, it's a complete mystery.
147:
148: 4.9.1 -> 4.9.2
149: ==========================================
150: * Changed the activateCDKViewer funtion to be more compliant
151: with the rest of the activateCDKXXX functions.
152:
153: 4.9.0 -> 4.9.1
154: ==========================================
155: * Added the functions setCDKXXXULChar/URChar/LLChar/LRChar,
156: setCDKXXXVerticalChar, setCDKHorizontalChar, and
157: setCDKXXXBoxAttribute to each of the widgets but the menu
158: widget. These functions allow the programmer to define
159: the corner characters of the widget as well as the vertical,
160: horizontal, and attributes of the box.
161: * Added the function setCDKXXXBackgroundColor. This sets the
162: background color of the widget's window.
163: * Added makefile for the SGI
164: * Created the buttonbox widget.
165: * Added in Ctrl-N and Ctrl-P to switch between buttons on the
166: dialog box and viewer.
167: * Added the functions setCDKRadioItems and setCDKSelectionItems.
168: * Added the functions setCDKRadioTitle, setCDKSelectionTitle,
169: setCDKScrollTitle.
170:
171: 4.8.3 -> 4.9.0
172: ==========================================
173: * Added a parameter to the setCDKViewer function to turn on/off the
174: line X of Y in the top left corner.
175: * Removed the eraseCDKXXX in each of the drawCDKXXX functions. This
176: results in a quicker refresh and less overhead when using the
177: widgets. This should make things A LOT faster. (I suppose it's about
178: time I had complete faith in curses optimized screen refreshing. :) )
179: The side effect is that you might have to change some programs to
180: force an eraseCDKXXX/drawCDKXXX when you think the screen is garbled.
181: * Added a little bit of logic in char2Chtype when a terminal cannot
182: display color, bold will be used instead.
183: * Cleaned up the way filename completion works in the file selector.
184: You may now type in a path and hit tab and that directory tree
185: will be loaded.
186: * Added the ability to use the ~ character to refer to a users home
187: directory, in the file selector. (like csh variants)
188: * Changed the setCDKXXX functions. Made many different setCDKXXX
189: functions, one for each item being set. This reduces the overhead
190: of all the setCDKXXX functions.
191: * Drastically changed cdk.h. Split the widget definitions and
192: functions into their own header files. This makes it easier
193: to expand CDK.
194: * Added the ability to have multiple line titles on most of the widgets.
195: * Added the functions setCDKSelectionChoice/getCDKSelectionChoice to
196: set/get a single choice value from a selection list.
197: * Added the functions setCDKSelectionModes/getCDKSelectionModes to
198: set/get the ability to set some items in the selection list as
199: editable/uneditable.
200: * Added makefile for the DEC Alpha (I forget who sent me this, if
201: you want recognition, mail me again)
202: * Created a 'visual install' using some of the widgets. Try it.
203: (type in make vinstall once the library has been made)
204: * Added the ability to set the width of the widget respective to the
205: screen size. If you pass in a negative value, the widget will
206: adjust to the width of the window the widget sits in minus the
207: given value. If zero is given, then the widget will be the full
208: width of the window. This removes the need to know how wide the
209: window is when the widget is created.
210: * Changed the demos and examples makefiles. I was making things too
211: difficult. It's simpler and easier to compile these directories.
212: * Re-Purified the code. (no leaks, no UMR's, no problem... :) )
213: * Quantified the code a bit for those who complained about the
214: performance. It has been sped up; I just hope it's enough for
215: some of you speed freaks. :)
216: * Added the functions get/setCDKTemplateMin. This allows you to
217: set the minimum number of characters to type in before the
218: widget will accept the typed in value.
219: * Changed the documentation to reflect all the changes.
220:
221: 4.8.1 -> 4.8.2 -> 4.8.3
222: ==========================================
223: * It's a complete mystery.
224:
225: 4.8.0 -> 4.8.1
226: ==========================================
227: * Changed the bind prototype function from
228: void function (EObjectType cdktype, void *object, void *clientData);
229: to
230: void function (EObjectType cdktype, void *object, void *clientData, chtype key);
231: * Added scroll bars to the scrolling list, the selection list, and
232: the radio list.
233: * Modified the template widget so the new character takes on the
234: color/attributes of the plate widget.
235: * Added the function classes moveCDKXXX and positionCDKXXX.
236: * Changed the structure of the makefile and created a single makefile
237: for each platform to compile on.
238: * Added support for the delete character KEY_DC.
239:
240: 4.7.0 -> 4.8.0
241: ==========================================
242: * Fixed bugs documented by Miguel Marques (miguel@apex.cos.yorku.ca)
243: in the entry and mentry widgets. The bug displays itself when you
244: use vHINT or vINT display types. The vHINT actually showed the
245: numbers being typed in (which goes against the hidden element of
246: this display type) and in certain cases vINT allowed non-alpha
247: characters to be entered.
248: * Added compile support for Free BSD.
249: * Cleaned up the behavior of the entry field.
250: * Cleaned up the behavior of the scrolling list.
251: * Cleaned up the behavior of the radio list.
252: * Cleaned up the behavior of the selection list.
253: * Changed (improved) the behavior of the file selector widget.
254: * Made the activateCDKFselect behave like the other widgets.
255: * Added injectCDKFselect function.
256: * Added the calendar widget.
257: * Added the slider widget.
258: * Added the alphalist widget on the request of Luigi Rizzo.
259: (luigi@ien.unipi.it)
260: * Fixed a bug with addCDKScrollItem.
261: * Fixed segmentation fault in the rolodex demo.
262: * Changed the macros MAX, MIN, and DIFF to MAXIMUM, MINIMUM,
263: and DIFFERENCE respectively to avoid conflicts.
264: * Fixed errors with the alphalist and fselect widgets.
265: * Added the link format comand for the file viewer. This allows
266: users to 'hyper-link' text files.
267: * Removed the use of CTRL-N.
268: * Added the ability to load/save with the scrolling window.
269: * Added filename completion to the file selector.
270: * Cleaned up massive changes and errors in the documentation.
271: * Added 'emacs-like' field editing capabilities to the entry
272: and mentry widgets.
273:
274: 4.6.1 -> 4.7.0
275: ==========================================
276: * Added injectCDKXXX class of functions. This allows you to inject a
277: single character into the widget.
278: * Changed the activateCDKXXX to take an array of chtype to send in a
279: set of predefined characters. This is very useful for performing
280: automated tests of your programs.
281: * Added functions setCDKXXXPreProcess and setCDKXXXPosProcess to
282: perform actions before and after a character has been hit.
283: * Made the use of CTRL-N consistent.
284: * Fixed manual page errors.
285: * Added the ability to cut text from the entry, mentry, and template
286: widgets. (uses a global buffer)
287: * Added the ability to copy text from the entry, mentry, and template
288: widgets. (uses a global buffer)
289: * Added the ability to paste text into the entry, mentry, and template
290: widgets. (uses a global buffer)
291: * Added the use of the escape key to exit a widget early.
292: * Added the functions addCDKScroll/deleteCDKScroll to insert and
293: delete items in an active scrolling list.
294: * Added a parameter to the menu to specify where the menu windows
295: were to be drawn. (top or bottom)
296: * Added execCDKSwindow to the swindow function list. This allows the
297: user to 'spawn' a command and direct the output to the scrolling
298: window.
299:
300: 4.6.0 -> 4.6.1
301: ==========================================
302: * Removed the callback function parameter from the entry, mentry,
303: matrix, and template widgets. Added in a function setCDKXXXCB.
304: The XXX is the name of the widget.
305: * Changed the viewer widget functions around. Moved activateCDKViewer
306: to setCDKViewer. Moved manageCDKViewer to activateCDKViewer and
307: removed the old setCDKViewer.
308: * Added in special drawing characters.
309: * Added in indent format to indent lines.
310:
311: 4.6.0 (January 1996)
312: ==========================================
313: * First pulic release of Cdk.
314:
315: If you want to get a hold of me mail me at one of the following:
316: glover@credit.erin.utoronto.ca
317: mike@vexus.ca
318:
319: The CDK Web page has several homes. They are:
320: http://www.vexus.ca/CDK.html (official)
321: http://www.datasoft.on.ca/~cdk (Sponsered by the nice folks at Datasoft)
322:
323: ttfn,
324: Mike
325:
326: PS: There is also a Perl5 extension of this library for you Perl5 fans.
327: Look under any CPAN site under the directory CPAN/authors/id/GLOVER.
CVSweb <webmaster@jp.NetBSD.org>