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).