The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Tk::HListbox.

1.0    Mon May 25, 2015
	- original version; Derived from Tk::HList and Tk::Listbox, 
	  created by h2xs 1.23 with options -X -n Tk::HListbox
2.0
	- Massive cleanup of bindings to make work more exactly like Tk::Listbox.
	  * Added Tk::Listbox's -listvariable option and bbox() function.
	  This is implemented using the existing TIE @array feature.
	  Tk::HListbox previously used Tk::HList's "anchor" as it's "active" 
	  indicator since Tk::HList does not have the concept of an "active" 
	  entry, but now we use a hidden "virtual anchor" variable allowing 
	  us to maintain a proper select anchor while still using Tk::HList's 
	  anchor as the "active" cursor.
	  * Added Tk::HList's hide() and show() functions and -command callback.
	  * Added an image-only option (-itemtype => 'image').
	  * Found and fixed numerous little issues and descrepencies.
	  It should now be possible to use Tk::HListbox as a complete drop-
	  in replacement for Tk::Listbox in existing code while simply adding 
	  any additional Tk::HListbox features, such as images, indicators, 
	  and callbacks as needed.
2.1
	- * Added "-state" to the list of dynamically-configurable options, ie. 
	  developers can now do "$lb->configure(-state => <state>);" and have 
	  it work.
	  * Fixed get() function to work like Tk::Listbox->get() and FAIL if 
	  no arguments (indices) given.
2.2	  Tue Jul 31, 2018
	- * Made "-state => 'disabled'" actually work.  Pbm. is that the 
	  underlying HList widget does NOT support disabling, so we had to 
	  manually emulate the feature by removing focusability, changing 
	  the foreground color, disable selecting items, etc. and then the 
	  ability to restore previous state when re-enabled, in order to 
	  work like a normal Tk::Listbox.
	- * Fixed issues involving setting background & foreground colors 
	  and allow taking advantage of our custom setPalette.pl module to 
	  properly render the "active element"'s background.
	  Color options should now work more like they do in Tk::Listbox.
	- * Added fixPalette() function for the rare cases it doesn't.weq
	- * Added -showimage, -showtext, and -bitmap options to the 
	  itemconfigure() function to be directly handled without it having 
	  to create an itemStyle, as these are supported in the Tk::DItem docs.
	- * Added -activeforeground, -selectforeground, and -selectbackground 
	  options.
	- * Fixed potential issue of improperly inserting text-only entries 
	  specified in hashref format, where either the wrong itemtype was 
	  being used causing an error, or the "-data" structure was being 
	  duplicated.
	- * Made -font option actually work.  Default is "{MS Sans Serif} 8" on 
	  M$-Windows and "Helvetica -12 bold" otherwise, the defaults used by 
	  Tk::Listbox and Tk::HMListbox.
	- * REGRESSION:  Due to the color-related changes above, other style options 
	  applied to individual entries are actually applied to all entries of 
	  that type, ie. all "imagetext", or all "text", etc. entries in the list.
	  To apply custom style options to individual entries now, one must define 
	  a custom ItemStyle, due to the fact that to get the color optinos to work 
	  properly, we now create a "default ItemStyle" for each of the three valid 
	  "type"s and style options are applied to those (unless a 
	  "-style => $customItemStyle" is specified for the entry).
2.3    Tue Jul 30, 2018
	- Added options:  -ipadx, -ipady, -tpadx, -tpady
	  See updated docs.  These provide padding values for image/imagetext 
	  and text fields respectively, primarily to assist users of 
	  Tk::HMListbox in adjusting to keep icon and text columns' vertical 
	  allignment synced.
2.4    Thu Jan 06, 2022
	- Added option:  -showcursoralways
	  See updated docs.  Tk::HListbox no longer displays the keyboard cursor 
	  (active element) when the HListbox widget does not have the keyboard 
	  focus, in order to be consistent with the behaviour of Tk::Listbox.  
	  This option, when set to 1 (or a "true" value) restores the pre-v2.4 
	  behaviour of always showing the keyboard cursor.
2.41   Thu Jan 06, 2022
	- Oops - Correct major error in Pod/Docs.
2.42   Thu Jan 07, 2022
	- Fix bug introduced in v2.4 that prevented selecting by mouse-dragging.
2.5    Fri Jan 21, 2022
	- Add ability to set state to "disabled" (like other Tk widgets).
	- Add a "-disabledForeground" (color) option to override the default 
	  text foreground color used when the HListbox widget is set to disabled.
	- Fix "-listvariable" tiein to work properly with initial values specified 
	  in the tied array preinitialized with values when the HListbox is 
	  created (as Listbox works).
	- Fix some minor focus-traversal issues (when state is set to disabled).
	- Overhaul, check, & fix several minor inconsistancies between 
	  Tk::HListbox and Tk::Listbox.
2.51   Sat Jan 29, 2022
	- Fix cursor not being hidden when clicking on an HListbox that does not 
	  have the keyboard focus and -takefocus is set to '' instead of 1. (in 
	  which case the HListbox remains unfocused).
2.60   Sat Dec 31, 2022
	- Merge numerous patches, new functions & options from Jeff Stephens.
	  (See docs for details)
	- (hopefully) now works fully with "use strict".
	- Fix left-tab (reverse) focus-traversal when widget is disabled, and 
	  other minor focusing issues.
	- Fix minor isues with user-set color options.
	- Fix anchorSet() and a few other minor Listbox-compatability issues.
	- Numerous code cleanups and documentation improvements.
2.70   Wed Jan 25, 2023
	- Merge more patches & fixups from Jeff Stephens.  Most involving hardening 
	  against undefined variable-references.
	- WARNING: Fixed selectionSet() to work properly in all valid cases - the 
	  main negative side-effect of this is that it must be called with either 
	  1 or 2 index arguments (specifying a range) - Passing a list (>2) 
	  arguments is no longer valid and will return with a warning.  
	  Users must update any programs that use this (or Tk::HMListbox) affected 
	  by this!
	- Fix yview() which is completely broken in the underlying Tk::HList 
	  module, which also seems to fix a known TK::HMListbox scrollbar issue.
	  This should also resolve reported issues with Tk::HMListbox set to use 
	  dual, optional scrollbars having issues with specific size settings.
	- Add xview() which is also completely broken in Tk::HList.
	  When called with no arguments, now properly return 2 real numbers 
	  between 0 and 1 inclusive (same as Tk::Listbox).  NOTE:  For xview(), 
	  these values are only approximate, not precise due to Tk::HList issues.
	- Fix scan('mark') to use object variables to prevent issues when 
	  multiple HListboxes are active.
	- All methods except indexOF() now take indices (0..'end'), not the 
	  underlying Tk::HList "entry-path" numbers, and the docs have been 
	  updated to clarify previous ambiguity.  Note also that selectionGet() 
	  still returns entry-paths.  The proper reverse of selectionSet() is 
	  (as has always been the case in Tk::Listbox) curselection().
	- Switch messaging to (and require) the Carp module.
	- Numerous fixups to ensure compatability with Tk::Listbox.
	- Numerous other minor code & doc. cleanups and clarifications.
2.71   Sat Jun 24, 2023
	- Change default -highlightthickness from HList's default of 2 pixels to 
	  Listbox's default of 1 for more consistant appearance, particularly when 
	  used by Tk::JBrowseEntry.
	- Some minor doc. cleanups.