home *** CD-ROM | disk | FTP | other *** search
-
- ------------------------
- CXL Revision History
- ------------------------
-
-
- Version 5.2 - February 17, 1990
-
- o Minor enhancements and problem fixes:
- - The wpickfile() function now returns back to current drive and
- directory before letting the user pick a file. Also,
- wpickfile() now will return W_INVPATH if an invalid path name is
- given in the input filespec.
- - The wpickfile() function would erroneously return W_NOMATCH
- error in a subdirectory with no files. Thanks to Jack Kilday.
- - The help system would used hard-coded single-line border
- characters for the PgUp/PgDn indicator when it should have been
- dependent on the help window's box type. Thanks to Rich Winter.
- - getxch() was improperly handling Ctrl-Break. Thanks to Vic
- Baron.
- - The cvtfc() function could overwrite the receiving buffer given
- it. Thanks to Rich Winter.
- - The MSC version of biosver() behaved erratically. Thanks to Ray
- MacHardy.
- - The setlines() function would not allow EGA and VGA monochrome
- displays to go into 50-line mode. Thanks to Tom Debruycker.
- - wpickfile() had a bug to where it could display "*.*" as the
- filespec even if it was different. Thanks to John Wagner.
- - If Escape checking was turned off, and user was in help screen
- with cross-references, (s)he wouldn't be able to exit help.
- Thanks to Richard Diaz.
- - The strschg() and strischg() functions could cause a lock-up
- when certain strings were used. Thanks to Larry Gibbs.
- - The wputc() and wputs() functions wouldn't properly handle
- the backspace character when at window row 0, column 0.
- - Certain scan codes returned by scancode() weren't appropriate
- for the type of character given it. Thanks to Michael Burton.
-
-
- Version 5.1 - September 1, 1989
-
- o Extended keyboard support for data entry functions. Allows you
- to extend and/or remap the keyboard during processing of data entry
- forms.
-
- o Extended the help system. You can now specify help window size and
- placement. The "*P" and "*E" markers in help files can now be
- trailed by whitespace and/or other ASCII characters. You can now
- move between help cross-reference items by pressing the first
- character of the help category you want to move to. You can now
- push an empty help category (0) onto the help category stack.
-
- o Improved mouse support in arrow-key emulation mode.
-
- o Complete CGA snow elimination (rather than just snow reduction) and
- increased CGA display output speed.
-
- o Improved menuing system. The menuing functions now handle menus
- with two or more menu items having the same selection character
- better. You can now close a menu's window before calling an item's
- selection function (not just after). The taginit value given in the
- wmenuend() function MUST now match a tagid of one of that menu's
- items. When menu item text descriptions are displayed, they
- automatically clear to the end-of-line (so you don't need to pad
- text desriptions with spaces). Added a few functions to make
- accessing CXL's menu data structures easier.
-
- o Improved data entry. Data entry fields are now processed in their
- definition order rather than automatically left-to-right. The Up
- and Down arrow keys are now "smarter".
-
- o Enhanced list picking functions. By popular demand, the wpickstr()
- and wselstr() functions have had an additional parameter, initelem,
- added to allow specifying the initial position of the selection bar.
- The wpickfile() function now displays subdirectories even when they
- don't match the input filespec.
-
- o Enhanced the menuing and list picking functions for better operation
- under DESQview.
-
- o The string trimming functions, strltrim() and strtrim() now trim
- whitespace as well as normal spaces.
-
- o The wprints() function no longer supports word-wrap. Use wputs(),
- wprintf(), or another TTY-style window output function instead.
-
- o The getchf() and wgetchf() functions now disregard the case of
- input letters. This means instead of having to use "YyNn" for the
- valid choice string, you can use just "YN".
-
- o Several problem fixes. These include:
- - In the MSC version, when specifying a drive in the input
- filespec to wpickfile(), it would use that drive letter - 1.
- Thanks to Larry Wasserman.
- - In the ZTC version, the striinc() and strmatch() functions
- referenced a strnicmp() function, which is not in the standard
- ZTC library and would cause an unresolved reference linker
- error. This in-turn affected stridel(), strisocc(), and
- strisrep(). Thanks to Larry Marshall.
- - The strtrim() function could still trim past the start of the
- string if the string was all spaces. Thanks to Mike Davenport.
- - The hidecur() function didn't hide the cursor with certain EGA
- video adapters. Thanks to Ted Roberts.
- - In winpread(), a mode 2 field wouldn't work as expected if the
- previous field was completely filled. Thanks to Mike Davenport.
- - The wmessage() function didn't accurately perform bounds
- checking to make sure that the message would fit in the window.
- - The wwprints() function didn't translate monochrome attributes
- properly. Thanks to Bruce Rosner.
- - The whline() and wvline() functions didn't properly handle count
- values of 0 or 1 properly. Thanks to Glenn McDonald.
- - The wpickfile() function could stay in the wrong directory if it
- aborted with a W_NOMATCH error. Thanks to Joe McLain.
- - The wpickfile() function could possibly malfunction if used with
- directories that had an extension. Thanks to Rik Faith.
- - The _vinfo.dvexist variable was being set to 1 whether or not
- DESQview was actually loaded. Thanks to Eric Cockrell.
- - The wmenuicurr() macro-function would not return the correct
- menu item record during the menu item's "before" function.
- Thanks to Tim Ottinger.
- - The multi-field data entry functions would display the last
- field in the wrong color if its validation function returned
- error. Thanks to Eric Irwin.
- - Pulldown menu bars could not have 2 submenu-less items in a row.
- Thanks to Daniel Miller.
- - The 'F' and 'W' format control characters should have allowed a
- colon ':', but didn't.
- - The cvtfc() function was rounding fractional portion where it
- should have been truncating.
-
- o Added several new functions. See CXL.DOC for descriptions.
- cgardbyte() cgardword() cgareadn() cgawrbyte()
- cgawriten() cgawrstr() cgawrword() chgonkey()
- freonkey() setvparam() strbtrim() strdela()
- stridela() strischg() strschg() vidmode()
- wbprintc() wdrag() wgetyn() whelppcat()
- whelpundef() whelpwin() winpkey() wmenuidsab()
- wmenuienab() wmenuinext() wslide() wunlink()
-
- o The CXL library is no longer available for Power C. Power C's lack
- of conformance to the Microsoft .OBJ format has become too difficult
- to support. CXL version 5.0 will still be shipped to those
- requesting a Power C version.
-
-
- Version 5.0 - March 27, 1989
-
- o Complete context-sensitive help system. Help information can
- contain multiple pages of help text per category and can be
- cross-referenced for flexibility and indexed for speed.
-
- o Shadowed windows. Windows can now have shadows. These shadows can
- be translucent so that they show the characters underneath.
-
- o The menuing functions have been significantly enhanced. Individual
- menu items can have sub-menus and/or functions tied into them.
- Pull-down and other multi-level menus are much easier to create.
- Individual menu selections can also be defined as nonselectable.
- Menu items can also have global hot keys. Menu items can have
- "before" and "after" functions. Mouse support in menus has been
- expanded.
-
- o The multi-field input functions have been significantly enhanced.
- They now properly support numeric data entry. Also, the behavior of
- several of the editing keys has been enhanced. A conditional update
- mode has been added. Input fields can have "before" and "after"
- functions. True Insert mode has been added.
-
- o Scrolling bar string picker allows you to create variable-sized
- "menus" of strings to pick from. Features mouse support including
- scroll bars.
-
- o File picker with same features as string picker. Allows movement
- between directories. Similar to the file pickers included in the
- Turbo C and QuickC environments.
-
- o The window TTY output string functions, such as wputs() and
- wprintf(), are now able to change colors, set cursor coordinates,
- and erase part or all of the window, using CXL's new window Escape
- sequences. These are similar to ANSI Escape sequences, but are much
- faster.
-
- o You are now able to write to blocked and hidden windows.
-
- o Automatic monochrome attribute translation. By default, if a
- monochrome adapter is detected by videoinit(), all color attributes
- will be mapped to their monochrome equivalents. This can be
- overridden via a switch.
-
- o CGA snow reduction has been put back into CXL. This is selectable
- via a global variable. Thanks to Patrick Bennett and Larry Kruse.
-
- o All video functions now work properly in nonstandard text modes
- such as 132x80 and 120x43.
-
- o The video adapter identifiers (CGA, EGA, etc.) are now prefixed with
- a "V_" to avoid conflicts with Borland's BGI definitions. Also, a
- few new video adapter identifiers were added.
-
- o There are now 4 different types of mouse support provided including
- a point-and-shoot mouse cursor as well as arrow-key emulation.
-
- o Mouse functions have been modified to use actual row and column
- cursor coordinates rather than X and Y pixel coordinates. This
- makes working with the mouse cursor much easier.
-
- o Internal keyboard buffer and support functions. This allows you to
- create keyboard scripts, force user input, etc., by "stuffing"
- keystrokes into CXL's internal keyboard buffer.
-
- o File encryption and decryption. Allows fast encryption and
- decryption of text and binary files. Thanks to Bob Stout.
-
- o Problems fixed.
- - The video functions were working under DESQview on some
- machines, but not others. Thanks to Jim Nutt.
- - The setlines() function was not returning to 25-line mode from
- VGA 50-line mode properly. Thanks to Larry Kruse.
- - The wunhide() function was unhiding the most recently hidden
- window, regardless of the given window handle. Thanks to Joshua
- Stern.
- - The strtrim() function could trim past the start of the string
- if the string was all spaces. Thanks to Curt Grimley.
- - The whline() function would not function properly when drawing
- on window row 0 of a borderless window starting on screen row 0.
- Thanks to Ted Roberts.
- - A certain error condition in wopen() could cause it to return
- without restoring memory it allocated. Thanks to Nelson
- Chenkin.
- - The tab character, when used in window TTY output functions, was
- advancing the cursor to the next tab column offset from the
- screen, not from window column 0.
- - In the systime() function, time codes 2 thru 4 would cause a
- return of "00" for hour during the midnight hour. Now they
- return "12".
-
- o New functions. See CXL.DOC for descriptions.
- cclrscrn() cvtcf() cvtci() cvtfc()
- cvtic() cxlver() fcrypt() getcursz()
- hidecur() kbclear() kbmhit() kbput()
- kbputs() lgcursor() mapattr() msbclear()
- mscondoff() mssupport() randfile() revsattr()
- scancode() showcur() smcursor() strchksum()
- strichksum() strisocc() strisrep() strljust()
- strrjust() strsocc() strsrep() wchkbox()
- wchkcol() wchkcoord() wchkrow() wdump()
- wdups() wfillch() whelpcat() whelpclr()
- whelpdef() whelpop() whelpopc() whelpush()
- whelpushc() windowat() windump() winpbeg()
- winpfba() winpfcurr() winpffind() wmenubeg()
- wmenubegc() wmenuend() wmenuiba() wmenuicurr()
- wmenuifind() wmenuitem() wmenuitxt() wmenumcurr()
- wpickfile() wpickstr() wprintsf() wputsw()
- wscrollbox() wselstr() wshadoff() wshadow()
- wtabwidth() wwprints()
-
- o Modified functions. See CXL.DOC for descriptions.
- msbpress() msbreles() msgotoxy() mshbounds()
- msmotion() msstatus() msvbounds() setonkey()
- strins() strsetsz() videoinit() whline()
- winpdef() wmenuget() wtitle() wunhide()
- wvline()
-
- o Deleted functions. The string selection functions, wsseldef() and
- wsselget(), were deleted because their operation can now be emulated
- using the new wselstr() function. The wsbounds() function was
- deleted because the new wscrollbox() function allows you to scroll
- specific regions of the window.
-
- o There are several new global variables, so to avoid possible name
- conflicts, and to organize them better, I grouped the old and new
- globals under new structure-type global variables. See CXL.DOC for
- descriptions of these new structure-type global variables.
- struct _kbinfo contains _kbloop, _kbuf, and _onkey.
- struct _vinfo contains _dvcheck, _vbios, and _videoseg.
- struct _winfo contains _werrno, _wesc, _whandle, _whrec,
- _wrec, and _wtotal.
-
-
- Version 4.1 - September 4, 1988
-
- o Support for Mix Power C has been added.
-
- o Complete BIOS video support has been added. This will also serve
- as a temporary solution to the problem with the CGA snow reduction
- in CXL 4.0.
-
- o The window hiding/unhiding functions are now high level (use
- handles, not pointers). This makes the hiding and unhiding of
- windows much easier.
-
- o The internal mouse support has been enhanced. Mouse movement is
- smoother and there are no longer mouse "boundaries". Mouse button
- presses can no longer be queued.
-
- o Problems fixed.
- - Menuing and data entry functions weren't being properly
- supported on single line borderless windows. Thanks to Mark
- Hall.
- - The setkbloop() function was not working properly on systems
- without a mouse because of a bug in getxch().
- - In sysdate(), date codes 3 & 4 were returning the same result.
- Thanks to Michael Hackman.
- - In systime(), time codes 2 & 3, the AM/PM indicator was not
- being changed from AM to PM until 1:00 PM. Thanks to John
- Metzker.
-
- o Modified functions. See CXL.DOC for descriptions.
- cvaltype() whide() wunhide()
-
- o Deleted functions. These functions were deleted because their roles
- have been assumed by other functions.
- boxd() filld() printcd() printsd()
-
-
- Version 4.0 - July 27, 1988
-
- Initial release of CXL.
-
-