Tk/JComboBox version 1.10 ========================= CHANGES OVERVIEW: (details below) New implementation for -textvariable option to correct buggy behavior. OVERVIEW: JComboBox is a Combo Box implementation that combines several features of the various Combo Box implementations available for Perl/Tk and attempts to provide a solution that should cover the majority of your Combo Box needs. The implementation tends to skew somewhat towards the Java and Win32 implementation of a Combo Box more than the Motif one. There have been SEVERAL changes since the 0.02 version of this widget -- hopefully all positive. I've spent the majority of the time writing a fairly robust test suite, though there are still a few gaps which are being worked on. A considerable amount of effort has gone into verifying that the unit tests will work on multiple platforms, though I suspect that there may yet be a problem or two remaining (mostly regarding event generation which seems to be a bit tempermental and tests that use fonts). I've also converted my older HTML docs to pod, and updated it to reflect the current state of the widget. Thanks to everyone who contributed suggestions, code, and misc feedback. I hope this widget is useful for others. CHANGES for 1.10 RELEASE: 1.10 Bug Fix: corrected -textvariable problems. - Bug reported via c.l.p.tk [Tk::JComboBox Question - http://groups.google.com/group/comp.lang.perl.tk/msg/2971450102b53533 textvariable option not working correctly: when set, a default value *does* appear in the JCombobox Entry, however once the Button is pressed, it does not appear selected (or scrolled to) within the Listbox. This occcurs when the Button is pushed once. If pressed again the item does show as selected. The problem: Because I wasn't a big fan of the option, I implemented it in an overly simplistic way, by delegating it to the Entry widget. This meant that it if the variable was assigned a value, then it would appear within the Entry widget, but the rest of the JComboBox code would not necessarily be aware of it. There was code that was "set" the value as selected when the Popup Listbox was closed, but not when it was triggered. The solution: I tried two different solutions, the one I decided to go with was what I probably should have done orginally which was tie the textvariable to JComboBox code, so that stores/fetches were tied to JComboBox methods, and there was some measure of consistancy in the implementation. For example, before if the JComboBox was in readonly mode, you could use -textvariable to set a value that didn't appear within the Listbox, which broke the basic model of the mode. I used Steve Lidie's Tie::Watch class to implement the fix. - Docs and Test cases were updated to reflect the modifications, and I did some more proofreading on JComboBox.pod to remove typos and a few inaccuracies. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES This module requires these other modules and libraries: Tk Tie::Array Tie::Watch COPYRIGHT AND LICENCE Copyright (C) 2005 Rob Seegel This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.