The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
----------------------------
revision 1.2	locked by: corliss;
date: 2000/03/17 00:04:38;  author: corliss;  state: Exp;  lines: +103 -37
--input_box modifications:
    --Fixed a bug with contents longer than the field width
    --Box width can now be set by 'cols' parameter
--txt_field modifications:
    --Fixed a warning issue with older version of Perl
    --Added support for the delete key (KEY_DC)
    --Fixed bug with Perlish false content being converted to ''
    --Added software cursor disable option
    --Added more navigation key bindings (KEY_SEARCH/KEY_FIND)
    --Improved up/down navigation in uneditable fields
--button_bar modifications:
    --Fixed draw_only bug (previously checked for existence, not value)
    --Added regex capability to button bar
--list_box modifications:
    --Fixed up/down arrow drawing bug
    --Added numeric/alphabetic sort option
    --Added regex capability
--calendar modifications;
    --Added regex capability
----------------------------
revision 1.1
date: 2000/02/22 02:04:33;  author: corliss;  state: Exp;  lines: +366 -176
--input_box modifications:
	--'f_colour':  active colour for the text field
	--'c_limit':  character limit for input
	--'content':  default content can now be specified
	--'password':  enables/disables password mode for field input
	--Text field now supports horizontal scrolling
--txt_field modifications:
	--'hz_scroll':  enables/disables horizontal scrolling
	--'edit':  enables/disables editing capability of field contents
	--'decorations':  enables/disables border decorations
	--'password':  enables/disables password mode for field input
--list_box modifications:
	--Can now accept either a hash or an array reference for 'list'
	--PgUp/PgDn keys now work
--calendar modifications:
	--'t_colour':  controls current date's colour highlighting
	--'e_colour':  controls event dates' colour highlighting
	--'events':  array of event dates to highlight in the calendar
--Added init_scr function that tests the terminal both for interactivity
  and minimum dimensions, and returns a handle to a new Curses object.
--Improved warning diagnostic messages
--Fixed some of the boundary checking problems
--Fixed unusual circumstance bug in the line_split function
----------------------------
revision 1.0
date: 2000/01/15 03:25:59;  author: corliss;  state: Exp;  lines: +1 -1
--Stable release, moving up to 1.0
----------------------------
revision 0.10
date: 2000/01/15 03:22:52;  author: corliss;  state: Exp;  lines: +230 -32
--Fixed a nasty bug on the calendar widget.
--Added button mode choice on msg_box.
--Added input_box and msg_box widgets.
----------------------------
revision 0.9
date: 1999/11/17 02:36:53;  author: corliss;  state: Exp;  lines: +563 -373
--Generating 'cal' output internally, so the Unix cal is no longer needed.
--Added export tags of :standard, :all, and :functions.
--Allowing export of grab_key.
--Added boundary checking for all widgets.
--Button bar now is created in a derived window like the other widgets.
--Fixed Text Field bugs that caused the script to crash.
--Rewrote line_split *again*.
--Added spacing parameter to the button bar.
--select_colour now allocats colour pairs as needed.
--Removed init_colours function (due to the expansion of select_colour).
--All functions now just require the object handle, instead of a reference
  to it.
--Cleaned up various 'Uninitialised variables being used' errors.
----------------------------
revision 0.8
date: 1999/06/17 23:39:01;  author: corliss;  state: Exp;  lines: +246 -214
--Changed the name and rewrote line_split function.
--Rewrote txt_field to work with line_split.
--Added title options to the list_box and txt_field functions.
--Fixed bug in vertical button bars that disallowed selected the first
  element.
--Added all seven colour on black pairs to the init_colours and
  select_colours functions (blue, cyan, magenta, green, red, white,
  and yellow).
--Minor code tweaks.
----------------------------
revision 0.7
date: 1999/04/14 05:23:36;  author: corliss;  state: Exp;  lines: +25 -15
--Added l_limit and c_limit (line and character limit, respectively)
  to text fields.
----------------------------
revision 0.6
date: 1999/02/02 17:18:45;  author: corliss;  state: Exp;  lines: +166 -53
--Fixed the small problem of the text fields not liking 0s. (Whoops!)
  Never put the the getch sequence as the test for the while loop. :-P
--Fixed the cursor location bug, as well as the paging bug.
--Expanded support for all printable characters on the PC keyboard in
  text fields.
--Fixed the cursor/line bug when the cursor position is on the last line,
  and on a new line character in the text field widget.
--Added Up/Down arrows to indicate existing content out of view in the
  window in the text field widget.
--Added Up/Down arrow, Page Up, Page Down support to the text field widget.
--Moved the $colour scalar into the BEGIN tag clause, so the has_colors()
  function need only be called once.
--Moved conditional declaration of the select_colours function into the
  function itself, dependent upon the persistent $colour.
--select_colours now returns a 1 if it could successfully set the colour,
  as per $colour, and a 0 if not.
--init_colours() *must* be called now, since this is the routine that sets
  the value of $colour, and the colour pairs.
--Each widget now draws its border with A_BOLD if the $colour is not
  available and 'draw_only' was not set.
--Added Up/Down arrows to indicate list entries that exist out of view of
  the window in the list box.
----------------------------
revision 0.5
date: 1999/01/11 02:09:55;  author: corliss;  state: Exp;  lines: +61 -46
--Fixed some of the bugs in the text field widget, but I still have
  some work to do on the paging portion.
--Text field now directly supports teh backspace, home/end, and right/
  left keys, as well as normal text.
----------------------------
revision 0.4
date: 1999/01/10 20:19:47;  author: corliss;  state: Exp;  lines: +387 -195
--All widgets now handle their own special keys
--Text widget now handles modification to content as well, returning the
  the updated content to the calling routine.
--cal output now stored in a persistent array, so it only needs to be
  called when moving to a new month, now.
--None of the widgets need to have window declared for them, now.  All
  of them will create their own derived windows, and destroy them upon
  exiting the routine.
--Replaced all chr calls in box commands with the ACS_* constants, for
  more reliable rendering on various term types.
--New select_colour function for selecting character colour by name.  Only
  supports red, blue, green, and yellow, currently.
--More comments, and a few misc. tweaks.
.
----------------------------
revision 0.3
date: 1999/01/03 23:21:59;  author: corliss;  state: Exp;  lines: +56 -11
Debuged the Calendar widget for highlighting the current date, optimised
the code a bit more, and fleshed out more of the comments.
----------------------------
revision 0.2
date: 1998/12/30 18:11:39;  author: corliss;  state: Exp;  lines: +41 -31
Optimised the code a bit with better if/elsif structures, as well
as making the colour coding consistent among the widgets and
optimising the variable declarations.
----------------------------
revision 0.1
date: 1998/12/29 17:18:16;  author: corliss;  state: Exp;
Text field, list box, buttons, calendar, and init_colours function
completed, but with little or no error handling.
=============================================================================