328 lines
15 KiB
Plaintext
328 lines
15 KiB
Plaintext
|
Cdk Version Change List
|
||
|
Copyright Mike Glover, 1995, 1996, 1997, 1998, 1999
|
||
|
Some changes copyright Thomas Dickey 1999, 2000
|
||
|
-------------------------------------------------------------------------------
|
||
|
|
||
|
This file outlines all of the changes/additions from one release to another.
|
||
|
You should also look at the BUGS file for information related to bugs which
|
||
|
were fixed from release to release.
|
||
|
|
||
|
2000/4/9 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ modify newwin() call in subwindow_ex.c to account for actual screen
|
||
|
size rather than assuming 25 lines (reported by Gary Funck
|
||
|
<gary@Intrepid.Com>).
|
||
|
+ add CF_X_ATHENA and CF_X_TOOLKIT configure macros for --with-pdcurses
|
||
|
option, needed if the Xcurses or dependent libraries are static
|
||
|
rather than shared.
|
||
|
+ correct typo in configure check for HPUX 11.x (reported by Bjorn
|
||
|
Helgaas <helgaas@rsn.hp.com>).
|
||
|
|
||
|
2000/2/18 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ add case for HPUX 11.x use of cur_colr library (reported by
|
||
|
Bjorn Helgaas <helgaas@rsn.hp.com>).
|
||
|
+ add configure option --with-pdcurses, to link with the X11 version
|
||
|
of PDCurses.
|
||
|
+ eliminate quoted includes, in favor of bracketed form.
|
||
|
+ ifdef'd limits.h, moving that into cdk.h with a fallback definition
|
||
|
for INT_MIN and INT_MAX.
|
||
|
+ minor fixes for building with SunOS 5lib version: configure check
|
||
|
for getopt variables, correction to demos/Makefile.in
|
||
|
|
||
|
2000/1/17 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ add lib-prefix and executable suffix checks to configure script for
|
||
|
port to OS/2 EMX.
|
||
|
+ add configure check for lstat().
|
||
|
|
||
|
2000/1/16 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ drop dependency on usleep(), using napms() which is standard with
|
||
|
SVr4 curses.
|
||
|
+ rewrote mode2Char(), making it table-driven and splitting out
|
||
|
mode2Filetype() to make porting simpler, by putting ifdef's for
|
||
|
S_ISSOCK in one place only.
|
||
|
+ use new freeCharList() to reduce clutter.
|
||
|
+ eliminate casts of NULL, to reduce clutter.
|
||
|
+ change several uses of control characters in source to use CONTROL()
|
||
|
macro.
|
||
|
+ correct format of date shown in bind_ex.c
|
||
|
+ correct nonstandard getcwd() usage in fselect.c
|
||
|
+ change demo and example makefiles to not strip executables.
|
||
|
+ modify demo/Makefile.in to work around Solaris' make program which
|
||
|
does not process ".c" rule as desired.
|
||
|
|
||
|
2000/1/8 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ fix compiler warnings with Solaris cc.
|
||
|
|
||
|
1999/12/19 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ update email and url for Mike Glover based on 4.9.9 version dated
|
||
|
1999/7/29.
|
||
|
|
||
|
1999/6/26 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ add configure options --with-dbmalloc and --with-dmalloc to simplify
|
||
|
testing with those libraries.
|
||
|
+ correct error in rewrite of char2Chtype which broke repeat-counts.
|
||
|
|
||
|
1999/6/5 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ correct reference to uninitialized memory in bindCDKObject()
|
||
|
+ add/use BINDFN_PROTO macro to simplify maintenance of Perl extension,
|
||
|
corrected corresponding functions to be typed void.
|
||
|
+ shorten/simplify mapChtype by making it table-driven.
|
||
|
+ shorten/simplify char2DisplayType by making it table-driven.
|
||
|
+ replace splitString() by CDKsplitString() and CDKcountStrings() to
|
||
|
eliminate buffer-limits.
|
||
|
+ simplify char2Chtype, eliminate fixed-buffer limits.
|
||
|
+ prevent recursion in segvTrap.
|
||
|
|
||
|
1999/5/29 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ remove bindFunction and bindData arrays from individual widgets
|
||
|
+ make draw, erase, move methods accessed only via the CDKFUNCS table
|
||
|
in each widget.
|
||
|
+ add move method for menu.c
|
||
|
+ split-out positionCDKObject function from widget code.
|
||
|
|
||
|
1999/5/23 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ remove WIN_WIDTH and related macros, use the more common getmaxx,
|
||
|
and similar macros. Provide fallback definitions for those.
|
||
|
+ replace log10() call in intlen with simple recursion.
|
||
|
+ add getendx() and getendy() macros.
|
||
|
+ add moveCursesWindow().
|
||
|
+ generate include/cdk_config.h, to simplify ifdef'ing for gcc
|
||
|
features, and to reduce clutter in the makefiles.
|
||
|
+ add functions ceilCDK() and floorCDK() to eliminate dependency on
|
||
|
the math library
|
||
|
+ simplified, corrected upper-limit checks in alignxy().
|
||
|
+ change bindings to be dynamically allocated, part of the CDKOBJS
|
||
|
structure.
|
||
|
+ correct overlap between title and percentage in drawCDKViewerInfo()
|
||
|
|
||
|
1999/5/15 - T.E.Dickey <dickey@clark.net>
|
||
|
==========================================
|
||
|
+ revised configure script, using autoconf macros which I've written
|
||
|
for other programs to check for ncurses configuration.
|
||
|
+ corrected language of copyrights - Mike Glover's intent to retain
|
||
|
copyright of CDK is not served by putting a 1990 copyright attributed
|
||
|
to UC Berkeley.
|
||
|
+ except for unused parameters, fix gcc compiler warnings.
|
||
|
+ change prototypes to not use parameter names, since this causes
|
||
|
namespace pollution.
|
||
|
+ make functions that do not have public prototypes static.
|
||
|
+ add missing exit() call in fileview.c, after endCDK() call.
|
||
|
+ move delwin() calls before endCDK() call in a few other examples.
|
||
|
+ correct apparent bug in widgets which process a binding (such as
|
||
|
KEY_DOWN, in the alphalist and fileview.c demos). They set the
|
||
|
exitType to vESCAPE_HIT rather than the expected vEARLY_EXIT.
|
||
|
+ ifdef'd out some debug code in scroll_ex.c
|
||
|
+ correct a loop limit freeing mesg[] array in selection_ex.c
|
||
|
+ move common object data into new struct CDKOBJS, making cdkscreen.c
|
||
|
much simpler and extensible.
|
||
|
+ change erase and draw functions (called from cdkscreen.c) to
|
||
|
object pointers, so only widgets used are linked, making example
|
||
|
programs half as big.
|
||
|
|
||
|
4.9.7 -> 4.9.8 (December 1998)
|
||
|
==========================================
|
||
|
* Changed the way key bindings worked. If the key binding exited
|
||
|
with a non-zero value then the widget would exit like the user
|
||
|
pressed the escape key. This provides more control over key
|
||
|
binding callbacks. Now the bind prototype is:
|
||
|
int function (EObjectType cdktype, void *object, void *clientData, chtype key);
|
||
|
* Reversed the order of this file. The most recent first.
|
||
|
|
||
|
4.9.6 -> 4.9.7 (December 1998)
|
||
|
==========================================
|
||
|
* Went from static Makefiles to autoconf and configure. (finally)
|
||
|
|
||
|
4.9.2 -> 4.9.6
|
||
|
==========================================
|
||
|
* Once again, it's a complete mystery.
|
||
|
|
||
|
4.9.1 -> 4.9.2
|
||
|
==========================================
|
||
|
* Changed the activateCDKViewer funtion to be more compliant
|
||
|
with the rest of the activateCDKXXX functions.
|
||
|
|
||
|
4.9.0 -> 4.9.1
|
||
|
==========================================
|
||
|
* Added the functions setCDKXXXULChar/URChar/LLChar/LRChar,
|
||
|
setCDKXXXVerticalChar, setCDKHorizontalChar, and
|
||
|
setCDKXXXBoxAttribute to each of the widgets but the menu
|
||
|
widget. These functions allow the programmer to define
|
||
|
the corner characters of the widget as well as the vertical,
|
||
|
horizontal, and attributes of the box.
|
||
|
* Added the function setCDKXXXBackgroundColor. This sets the
|
||
|
background color of the widget's window.
|
||
|
* Added makefile for the SGI
|
||
|
* Created the buttonbox widget.
|
||
|
* Added in Ctrl-N and Ctrl-P to switch between buttons on the
|
||
|
dialog box and viewer.
|
||
|
* Added the functions setCDKRadioItems and setCDKSelectionItems.
|
||
|
* Added the functions setCDKRadioTitle, setCDKSelectionTitle,
|
||
|
setCDKScrollTitle.
|
||
|
|
||
|
4.8.3 -> 4.9.0
|
||
|
==========================================
|
||
|
* Added a parameter to the setCDKViewer function to turn on/off the
|
||
|
line X of Y in the top left corner.
|
||
|
* Removed the eraseCDKXXX in each of the drawCDKXXX functions. This
|
||
|
results in a quicker refresh and less overhead when using the
|
||
|
widgets. This should make things A LOT faster. (I suppose it's about
|
||
|
time I had complete faith in curses optimized screen refreshing. :) )
|
||
|
The side effect is that you might have to change some programs to
|
||
|
force an eraseCDKXXX/drawCDKXXX when you think the screen is garbled.
|
||
|
* Added a little bit of logic in char2Chtype when a terminal cannot
|
||
|
display color, bold will be used instead.
|
||
|
* Cleaned up the way filename completion works in the file selector.
|
||
|
You may now type in a path and hit tab and that directory tree
|
||
|
will be loaded.
|
||
|
* Added the ability to use the ~ character to refer to a users home
|
||
|
directory, in the file selector. (like csh variants)
|
||
|
* Changed the setCDKXXX functions. Made many different setCDKXXX
|
||
|
functions, one for each item being set. This reduces the overhead
|
||
|
of all the setCDKXXX functions.
|
||
|
* Drastically changed cdk.h. Split the widget definitions and
|
||
|
functions into their own header files. This makes it easier
|
||
|
to expand CDK.
|
||
|
* Added the ability to have multiple line titles on most of the widgets.
|
||
|
* Added the functions setCDKSelectionChoice/getCDKSelectionChoice to
|
||
|
set/get a single choice value from a selection list.
|
||
|
* Added the functions setCDKSelectionModes/getCDKSelectionModes to
|
||
|
set/get the ability to set some items in the selection list as
|
||
|
editable/uneditable.
|
||
|
* Added makefile for the DEC Alpha (I forget who sent me this, if
|
||
|
you want recognition, mail me again)
|
||
|
* Created a 'visual install' using some of the widgets. Try it.
|
||
|
(type in make vinstall once the library has been made)
|
||
|
* Added the ability to set the width of the widget respective to the
|
||
|
screen size. If you pass in a negative value, the widget will
|
||
|
adjust to the width of the window the widget sits in minus the
|
||
|
given value. If zero is given, then the widget will be the full
|
||
|
width of the window. This removes the need to know how wide the
|
||
|
window is when the widget is created.
|
||
|
* Changed the demos and examples makefiles. I was making things too
|
||
|
difficult. It's simpler and easier to compile these directories.
|
||
|
* Re-Purified the code. (no leaks, no UMR's, no problem... :) )
|
||
|
* Quantified the code a bit for those who complained about the
|
||
|
performance. It has been sped up; I just hope it's enough for
|
||
|
some of you speed freaks. :)
|
||
|
* Added the functions get/setCDKTemplateMin. This allows you to
|
||
|
set the minimum number of characters to type in before the
|
||
|
widget will accept the typed in value.
|
||
|
* Changed the documentation to reflect all the changes.
|
||
|
|
||
|
4.8.1 -> 4.8.2 -> 4.8.3
|
||
|
==========================================
|
||
|
* It's a complete mystery.
|
||
|
|
||
|
4.8.0 -> 4.8.1
|
||
|
==========================================
|
||
|
* Changed the bind prototype function from
|
||
|
void function (EObjectType cdktype, void *object, void *clientData);
|
||
|
to
|
||
|
void function (EObjectType cdktype, void *object, void *clientData, chtype key);
|
||
|
* Added scroll bars to the scrolling list, the selection list, and
|
||
|
the radio list.
|
||
|
* Modified the template widget so the new character takes on the
|
||
|
color/attributes of the plate widget.
|
||
|
* Added the function classes moveCDKXXX and positionCDKXXX.
|
||
|
* Changed the structure of the makefile and created a single makefile
|
||
|
for each platform to compile on.
|
||
|
* Added support for the delete character KEY_DC.
|
||
|
|
||
|
4.7.0 -> 4.8.0
|
||
|
==========================================
|
||
|
* Fixed bugs documented by Miguel Marques (miguel@apex.cos.yorku.ca)
|
||
|
in the entry and mentry widgets. The bug displays itself when you
|
||
|
use vHINT or vINT display types. The vHINT actually showed the
|
||
|
numbers being typed in (which goes against the hidden element of
|
||
|
this display type) and in certain cases vINT allowed non-alpha
|
||
|
characters to be entered.
|
||
|
* Added compile support for Free BSD.
|
||
|
* Cleaned up the behavior of the entry field.
|
||
|
* Cleaned up the behavior of the scrolling list.
|
||
|
* Cleaned up the behavior of the radio list.
|
||
|
* Cleaned up the behavior of the selection list.
|
||
|
* Changed (improved) the behavior of the file selector widget.
|
||
|
* Made the activateCDKFselect behave like the other widgets.
|
||
|
* Added injectCDKFselect function.
|
||
|
* Added the calendar widget.
|
||
|
* Added the slider widget.
|
||
|
* Added the alphalist widget on the request of Luigi Rizzo.
|
||
|
(luigi@ien.unipi.it)
|
||
|
* Fixed a bug with addCDKScrollItem.
|
||
|
* Fixed segmentation fault in the rolodex demo.
|
||
|
* Changed the macros MAX, MIN, and DIFF to MAXIMUM, MINIMUM,
|
||
|
and DIFFERENCE respectively to avoid conflicts.
|
||
|
* Fixed errors with the alphalist and fselect widgets.
|
||
|
* Added the link format comand for the file viewer. This allows
|
||
|
users to 'hyper-link' text files.
|
||
|
* Removed the use of CTRL-N.
|
||
|
* Added the ability to load/save with the scrolling window.
|
||
|
* Added filename completion to the file selector.
|
||
|
* Cleaned up massive changes and errors in the documentation.
|
||
|
* Added 'emacs-like' field editing capabilities to the entry
|
||
|
and mentry widgets.
|
||
|
|
||
|
4.6.1 -> 4.7.0
|
||
|
==========================================
|
||
|
* Added injectCDKXXX class of functions. This allows you to inject a
|
||
|
single character into the widget.
|
||
|
* Changed the activateCDKXXX to take an array of chtype to send in a
|
||
|
set of predefined characters. This is very useful for performing
|
||
|
automated tests of your programs.
|
||
|
* Added functions setCDKXXXPreProcess and setCDKXXXPosProcess to
|
||
|
perform actions before and after a character has been hit.
|
||
|
* Made the use of CTRL-N consistent.
|
||
|
* Fixed manual page errors.
|
||
|
* Added the ability to cut text from the entry, mentry, and template
|
||
|
widgets. (uses a global buffer)
|
||
|
* Added the ability to copy text from the entry, mentry, and template
|
||
|
widgets. (uses a global buffer)
|
||
|
* Added the ability to paste text into the entry, mentry, and template
|
||
|
widgets. (uses a global buffer)
|
||
|
* Added the use of the escape key to exit a widget early.
|
||
|
* Added the functions addCDKScroll/deleteCDKScroll to insert and
|
||
|
delete items in an active scrolling list.
|
||
|
* Added a parameter to the menu to specify where the menu windows
|
||
|
were to be drawn. (top or bottom)
|
||
|
* Added execCDKSwindow to the swindow function list. This allows the
|
||
|
user to 'spawn' a command and direct the output to the scrolling
|
||
|
window.
|
||
|
|
||
|
4.6.0 -> 4.6.1
|
||
|
==========================================
|
||
|
* Removed the callback function parameter from the entry, mentry,
|
||
|
matrix, and template widgets. Added in a function setCDKXXXCB.
|
||
|
The XXX is the name of the widget.
|
||
|
* Changed the viewer widget functions around. Moved activateCDKViewer
|
||
|
to setCDKViewer. Moved manageCDKViewer to activateCDKViewer and
|
||
|
removed the old setCDKViewer.
|
||
|
* Added in special drawing characters.
|
||
|
* Added in indent format to indent lines.
|
||
|
|
||
|
4.6.0 (January 1996)
|
||
|
==========================================
|
||
|
* First pulic release of Cdk.
|
||
|
|
||
|
If you want to get a hold of me mail me at one of the following:
|
||
|
glover@credit.erin.utoronto.ca
|
||
|
mike@vexus.ca
|
||
|
|
||
|
The CDK Web page has several homes. They are:
|
||
|
http://www.vexus.ca/CDK.html (official)
|
||
|
http://www.datasoft.on.ca/~cdk (Sponsered by the nice folks at Datasoft)
|
||
|
|
||
|
ttfn,
|
||
|
Mike
|
||
|
|
||
|
PS: There is also a Perl5 extension of this library for you Perl5 fans.
|
||
|
Look under any CPAN site under the directory CPAN/authors/id/GLOVER.
|