RE: RFC - Tk::DualLists
<[email protected]> Thu, 11 Oct 2007 16:30:12 +0200
| Newsgroups | gmane.comp.lang.perl.tk |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. ------_=_NextPart_001_01C80C13.3C06BD52 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Hi Todd, I think this is a great module - a colleague here has written a similar thing some years ago, but that was not as elegant as yours. I'd like to suggest to add methods to modify the right hand side list as well (e.g. AddItemRight, DeleteItemRight). The application I am thinking of is a derived widget that offers the user to * select existing items from the left list * add new items with a text field + add button to the right list You already said you are considering to implement this as an option to this widget, but the above is very cheap and allows the derived widget to choose an arbitrary arrangement of the "Add new..." button and/or fields. In an attempt to appreciate your work, I reviewed the POD and tried to adapt it to a more "standard" style, and fixing some bad POD syntax on the way. Feel free to use it (or not) :-) Cheers, Marek -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Todd Littlefield Sent: Thursday, October 11, 2007 3:47 PM To: [email protected] Subject: RFC - Tk::DualLists Hello, I recently had need to implement two list widgets with the ability to move items between them. There didn't seem to be a comparable widget out on CPAN. So, rather than just put the code in the script, it was made into a module. It is attached with a test program as well. The main pieces are there. A couple of small issues like custom sorting of the lists, allowing duplicate entries, etc. need to be implemented to make it more flexible. Also the ability to display a widget allowing the user to add items without needing to write extra code would be nice. If any of the more knowledgeable Tk hackers would care to comment, I'd appreciate it. Tips, pointers, suggestions and even gentle flames welcome... If you have any serious flaming to do, please wait until December or January. The additional heat will be welcome in the New England weather ;-) Thanks in advance. - Todd ------_=_NextPart_001_01C80C13.3C06BD52 Content-Type: application/octet-stream; name="DualLists.pod" Content-Transfer-Encoding: base64 Content-Description: DualLists.pod Content-Disposition: attachment; filename="DualLists.pod" PWhlYWQxIE5BTUUKClRrOjpEdWFsTGlzdHMgLSBDcmVhdGUgYSBwYWlyIG9mIGxpc3RzIGFuZCBi dXR0b25zIHRvIG1vdmUgaXRlbXMgYmV0d2VlbiB0aGVtCgo9aGVhZDEgU1lOT1BTSVMKCiRkdWFs bGlzdCA9ICRwYXJlbnQtPkR1YWxMaXN0cyg/b3B0aW9ucz8pOwoKPWhlYWQxIE9QVElPTlMKCkR1 YWxMaXN0cyB0YWtlcyBtb3N0IG9mIHRoZSBvcHRpb25zIGEgc3RhbmRhcmQgTDxUazo6TGlzdGJv eD4gZG9lcy4KVGhleSB3aWxsIGJlIGFwcGxpZWQgdG8gYm90aCBsaXN0cy4KCj1oZWFkMiB3aWRn ZXQtc3BlY2lmaWMgb3B0aW9ucwoKPW92ZXIgNAoKPWl0ZW0gQjwtbGlzdHZhcmlhYmxlPgoKQSBy ZWZlcmVuY2UgdG8gYW4gYXJyYXkgb2YgaXRlbXMuICBTaW1pbGFyIHRvIHRoZSAtbGlzdHZhcmlh YmxlIG9mCnRoZSBzdGFuZGFyZCBMaXN0Ym94IGJ1dCBvbmx5IGFmZmVjdHMgdGhlIGxlZnQgaGFu ZCBzaWRlLgoKPWl0ZW0gQjwtZGVmYXVsdHM+CgpUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIGFuIGFy cmF5IG9mIGl0ZW1zLiAgVGhleSBhcmUgaW5zZXJ0ZWQgaW50byB0aGUgcmlnaHQKaGFuZCBsaXN0 LgoKPWl0ZW0gQjwtc29ydG1ldGhvZD4KCmN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQKCj1pdGVt IEI8LXVuaXF1ZT4KCmN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQKCj1pdGVtIEI8LXJlbW92ZT4K CmN1cnJlbnRseSBub3QgaW1wbGVtZW50ZWQKCj1iYWNrCgo9aGVhZDEgREVTQ1JJUFRJT04KClRr OjpEdWFsTGlzdHMgaXMgYW4gYXR0ZW1wdCB0byBpbXBsZW1lbnQgYSBwYWlyIG9mIGxpc3Qgd2lk Z2V0cwp3aXRoIGJ1dHRvbnMgdG8gbW92ZSBpdGVtcyBpbiBiZXR3ZWVuIHRoZW0uCgpUaGUgbGVm dCBoYW5kLCBkZXBlbmRpbmcgb24gb3B0aW9ucywgY29udGFpbnMgYSBsaXN0IG9mIGl0ZW1zIHRo ZSB1c2VyCmNhbiBtb3ZlIHRvIHRoZSByaWdodCBoYW5kIGxpc3QuICBCeSBkZWZhdWx0LCBpdGVt cyBtb3ZlZCBkaXNhcHBlYXIgZnJvbQp0aGUgc291cmNlIGxpc3QgYW5kIGFwcGVhciBpbiB0aGUg ZGVzdGluYXRpb24gbGlzdC4gIE5vIGR1cGxpY2F0aW9uIGlzIGFsbG93ZWQuClRoaXMgbWF5IGJl IGFsdGVyZWQgaW4gdGhlIGZ1dHVyZSB3aXRoIHRoZSBCPC11bmlxdWU+IGFuZCBCPC1yZW1vdmU+ IG9wdGlvbnMuCgpUeXBpY2FsbHkgdGhlIGFwcGxpY2F0aW9uIHdpbGwgcXVlcnkgdGhlIHJpZ2h0 IGhhbmQgbGlzdCBmb3IgdGhlIGNvbnRlbnRzLgpUaGUgdXNlcidzIGNob2ljZXMgY2FuIHRoZW4g YmUgYWN0ZWQgdXBvbi4gCgo9aGVhZDIgTWV0aG9kcwoKPW92ZXIgNAoKPWl0ZW0gSTwkZHVhbGxp c3Q+LUU8Z3Q+R2V0TGVmdENvbnRlbnRzKCkKClJldHVybiwgaW4gYW4gYXJyYXkgdGhlIGNvbnRl bnRzIG9mIHRoZSBsZWZ0IGhhbmQgTGlzdGJveAoKPWl0ZW0gSTwkZHVhbGxpc3Q+LUU8Z3Q+R2V0 UmlnaHRDb250ZW50cygpCgpSZXR1cm4sIGluIGFuIGFycmF5LCB0aGUgY29udGVudHMgb2YgdGhl IHJpZ2h0IGhhbmQgTGlzdGJveAoKPWl0ZW0gSTwkZHVhbGxpc3Q+LUU8Z3Q+QWRkSXRlbSggJGFy ZzEsICRhcmcyLCAuLi4sICRhcmdOICkKCkluc2VydCBpbnRvIHRoZSBsZWZ0IGFycmF5IGFueSBu dW1iZXIgb2YgYXJndW1lbnRzLgoKPWl0ZW0gSTwkZHVhbGxpc3Q+LUU8Z3Q+RGVsZXRlSXRlbSgg JGFyZzEsICRhcmcyLCAuLi4sICRhcmdOICkKClJlbW92ZSBmcm9tIGVpdGhlciBsaXN0IGFueSBv ZiB0aGUgYXJndW1lbnRzIHNwZWNpZmllZC4gIEJvdGgKbGlzdHMgYXJlIGNoZWNrZWQgYW5kIGFu eSBvY2N1cmFuY2VzIHJlbW92ZWQgdG8gbWFrZSBzdXJlIHRoZXkKd2VyZSBub3QgbWlzc2VkLgoK PWJhY2sKCj1oZWFkMiBCaW5kaW5ncwoKPW92ZXIgNAoKPWl0ZW0gKiAKCkJ5IGRlZmF1bHQgYSBk b3VibGUgY2xpY2sgb24gYW4gaXRlbSBpbiBlaXRoZXIgbGlzdCBtb3ZlcyB0aGUgc2VsZWN0ZWQK aXRlbSB0byB0aGUgb3RoZXIgc2lkZQoKPWl0ZW0gKgoKUHJlc3NpbmcgdGhlIHJpZ2h0IGFycm93 IGtleSB3aGVuIGl0ZW1zIGFyZSBzZWxlY3RlZCBpbiB0aGUgbGVmdCBsaXN0CndpbGwgbW92ZSBh bGwgc2VsZWN0ZWQgaXRlbXMgdG8gdGhlIHJpZ2h0LiAgQ29udmVyc2VseSB0aGUgc2FtZSBpcyB0 cnVlIHdoZW4KdXNpbmcgdGhlIGxlZnQgYXJyb3cga2V5IG9uIGl0ZW1zIGluIHRoZSByaWdodCBs aXN0LgoKPWJhY2sKCj1oZWFkMSBFWEFNUExFUwoKPWhlYWQxIEJVR1MKCk5vbmUga25vd24gYXQg dGhpcyB0aW1lLi4uCgo9aGVhZDEgTElDRU5TRQoKVGhpcyBtb2R1bGUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIHNhbWUgbGljZW5zZSAoQXJ0aXN0aWMpIGFzIHBlcmwgaXRzZWxmCmFuZCBtYXkgYmUg ZnJlZWx5IGRpc3RyaWJ1dGVkIGFzIGxvbmcgYXMgdGhlIGF0dHJpYnV0aW9uIGlzIGluY2x1ZGVk LgoKPWhlYWQxIEFVVEhPUgoKVGhpcyBtb2R1bGUgd2FzIHdyaXR0ZW4gYnkgVG9kZCBMaXR0bGVm aWVsZC4gQ29udGFjdCB0IGRvdCBsaXR0bGVmaWVsZAphdCBjb21jYXN0IGRvdCBuZXQgb3Igc2Vu ZCBhbiBlbWFpbCB0byB0aGUgcGVybC9UayBlbWFpbCBsaXN0IGlmIHlvdQpoYXZlIHByb2JsZW1z IGFuZCBJJ2xsIHRyeSB0byByZXNwb25kIHRvIHRoZW0uIAoKPWN1dAoK ------_=_NextPart_001_01C80C13.3C06BD52 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --++**==--++**==--++**==--++**==--++**==--++**==--++**== ptk mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/ptk ------_=_NextPart_001_01C80C13.3C06BD52--