Revision history for Perl extension Tk::JComboBox.
1.09 Bug Fix
- Bug reported and fixed in version 1.06 (cpan#12372) reopened in
report (cpan#14520) from tjtoocool@phreaker.net - there were
still some lingering issues with DialogBox widgets interfering
with this widget, Including two specific cases where hidePopup
tried to reinstate grab to a destroyed widget and another case
where hidePopup would try to assign grab to a
widget that was iconified.
1.08 Bug Fixes + new Features
- Fonts still an issue for 1.07 tests; commented out tests while I
rethink testing scheme.
- Jack Dunnigan requested that the choices array be made to support
multiple JComboBox instances; I've put in an initial implementation
but I susppect that it will be refactored in the future with a
better solution. Updated docs to reflect change.
-- I'm still considering a more generic solution, like the ListModel
in the java swing api. Something that could be reused easily for
the various Tk widgets that use internal Lists.
1.07 Bug Fixes + new Features
- Ken Prows reported test failure to CPAN bug tracker #12788
The failure was due to a font within a test not being available
on a test platform.
- I've fixed this, hopefully this will fix test failures.
- Jack Dunnigan reported a bug related to -state option:
when state is disabled, then reset to normal some of the colors
don't switch back as they should.
- This has been fixed. Jack also noted that there is a lot of
code that seems to be unnecessary for disabled bg/fg. I agreed,
but this code is in place to make it backward-compatible for
those who have not upgraded to Tk804.* releases. Eventually, I see
some of this code fading away, but for now, it remains. There
still seem to be issues with Tk804.* so some may not have upgraded.
- Jack Dunnigan requested the ability to tie internal state of
JCombobox items to the array reference passed to the -choices
option.
- I added this new feature, and added tests, and new docs
in JComboBox reference and tutorial pod.
Notes: I hadn't thought of doing this before, and it was
intriguing. It is similar in principle to how Java's swing
components implement MVC. Jack suggesed Tk::Trace, however I
preferred Steve Lidie's Tie::Watch module. After implementing
most of the functionality, I discovered that Tie::Watch didn't
support DELETE and EXISTS (which I've come to discover have
limited usefulness when applied to arrays...). I notified Steve,
and switched to use Tie::Array instead. I plan to switch back
to Tie::Watch the next time there is a Tk release that includes
Steve's updated module.
- Jack Dunnigan requested a way to alter how autofind anchors
its search string when determine whether or not a field matches.
- Implemented this with a new callback option called -matchcommand
This will allow someone to supply their own callback to determine
if an item matches or not.
Notes: I originally considering implementing this as another
autofind option called -searchanchor, but ultimately decided against
it, when James White commented that the option could be made even
more flexible by passing a reference to a regular expression. I
think that the callback approach should deliver a decent option
that delivers sufficient flexibility to plug in whichever approach
is required. I believe this option will rarely be used in any case,
because I question whether the resulting behavior is user friendly.
I'm not sure if JComboBox is the best fit for Jack's intended
purpose.
1.06 Bug Fix for JComboBox, fixes to Test Code
- Ken Prows reported bug to CPAN Bug Tracker #12372
JComboBox was interfering with grab. Ken suggested
a solution, which I added.
- Added a test to 06_Bugs.t to test the new code.
- Updated docs to add some mention of grab issues.
- Testers reported several issues with test cases, and
I think I have worked at least some of these out.
- Found spots where I wasn't destroying a JCombobox
between test cases which fouled up a few tests. Fixed it.
- Used carp to print labels for tests, so that I can track
problems more efficiently. My own tests work fine on WinXP
and Fedora 2 (using Gnome & KDE).
- Removed line feeds from tests.
1.05 Updated Test Code - No changes to any of the Modules!
- Failed Test Report:
http://www.nntp.perl.org/group/perl.cpan.testers/188280
By cpan@www.interlab.nl
Reported that I'd Forgotten PREREQ_PM - (how embarrassing)
- Modfied Makefile.PL accordingly.
- Failed Test Report:
http://www.nntp.perl.org/group/perl.cpan.testers/188015
by: saper@cpan.org
I hope Sébastien doesn't give up on me and stop testing this
module. I expected it would fail, since I wasn't entirely
certain what had failed. Unfortunately, this error report
was tougher to get anything out of than the last one, and the
fault lies solely with me, since my scripts were apparently
so brittle that a few of them died before running even ONE
test!
- Modified test scripts making extensive use of eval blocks
so that problems with one test would kill the entire script.
Hopefully, the carp calls I've added will give me more helpful
information on what's going wrong, so that I can fix it.
1.04 Bug Fix - Response to Failed test report
http://www.nntp.perl.org/group/perl.cpan.testers/187588
By: Sébastien Aperghis-Tramoni <saper@cpan.org>
- Some options were not being set to an initial value, and
were passing undef or "" off as a color. NOTE: this did
not trigger an error on Win32.
- Set default values for -highlightbackground, -highlightcolor,
and -disabledbackground.
- Noticed that some tests were using methods that expected
JComboBox to be packed (TestListwidth). Adjusted setup
method TestListwidth and TestHighlight to test packed
widgets, and made sure that update was called immediately
after pack call. Mods in 02_Basic_Options.t,
03_Options_Callback. NOTE: the problem did not trigger
any errors on Win32.
- Cleaned code in various Test files, and JComboBox.pm
- Ensure that I was using single quotes for all uses
of cget and hash keys. This was done for consistancy
and possibly older versions of perl.
1.03 Bug Fix - Bug Submitted by Ken Prows - 01 Mar 05
- Bug (cpan#11707) Fixed: AutoFind was not using listbox->see
to ensure that an entry in the listbox would be visible
when it was selected through AutoFind.
- Added 16 Tests in Test suite to test for bug (06_Bugs.t)
- Fixed AutoFind sub in JComboBox.pm
- Updated Construct Call so that JComboBox can only be created
by a Frame-based widget.
1.02 Repaired Broken Test file: accidentally left a MainLoop call in test.
No code changed. Versions: 1.01, 0.01, 0.02 removed from CPAN.
1.01 Bug Fix and Refactorings
- Tutorial images were excluded from distribution. Added:
lib/Tk/JComboBox/jcb_edit.gif
lib/Tk/JComboBox/jcb_ro.gif
- Updated -listwidth:
- Fixed the -listwidth option to work correctly in JComboBox.pm
the default value and conditions within the code were incorrect
- Updated JComboBox.pod to include default value for -listwidth
- added unit tests for -listwidth in 02_Options_Basic.t
- Replaced majority of "constants" using new CreateGetSet
method to create a cleaner way of setting/accessing hashref keys
The constants were not working as desired.
- Corrected typos in tutorial.pod based on feedback from
Zentara <zentara@highstream.net>
- Updated -entrybackground:
- Changed reference to -textbackground option to -entrybackground
in tutorial.pod
- corrected -entrybackground configuration in JComboBox::ConfigSpecs.
- updated description in JComboBox.pod.
- added unit tests in 02_Options_Basic.t
- Updated -state option: when set to 'disabled' keyboard traversal using
Tab was not working correctly. JComboBox should have been skipped.
- fixed the problem, and added unit test for option in 04+Options_Misc.t
- Dumbed down test slightly in 04_Options_Misc.t because of problems
with Tk in Windows 2000. Was unable to correctly generate events for
<Up> and <Down>. The unit tests were throwing false errors because
of Tk problems and not JComboBox code. Modified test to call event
handler directly instead of simulating <Up> or <Down> events.
1.00 Major release with many changes and new features.
- HTML docs converted to POD format
- Extensive test suite added
- Updated -mode option: Now can only be set once, at construction time.
- documentation updated to reflect this change.
- Added -autofind option to decouple validation from a find keyboard-based
find capability. (see docs).
- Updated subwidget names (kept old ones for backward compatibility).
0.02 Bug Fix and Refactoring
0.01 Initial Release