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