Revision history for Perl extension Tk::JComboBox.

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

