-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm trying to use pybwidgets in an application I'm developing; the
BWidgets listbox supports insertion of images alongside text, and is
nicer than the alternatives I've looked at (various tree widgets, for
instance).

I've found what I think is a bug. When the BWidgets listbox is placed
inside a panewindow, it does not properly display the
selectforeground/selectbackground colors--in fact, it provides no visual
feedback at all that a listbox item is selected.

The following code illustrates the problem. The listbox does respond to
button events; when an item is selected, text is printed to the text
widget. But there is no visual selection feedback in the listbox itself.
Can someone review this, test it, and let me know if I'm doing something
wrong, or if this is in fact a bug? Thanks.


- ---
import Tkinter
from bwidget import *
import bwidget

root = Tkinter.Tk()
right = ""

m = Tkinter.PanedWindow(root, orient="horizontal")
m.pack(fill="both", expand=1)

textimage = Tkinter.PhotoImage(data="""

R0lGODlhEAAQANUAAAAAAODg4MjIyIiIiODg6OjQ+NjY4ODo6ODQ8OjY8OjQ8ODQ6ODY6NDI4Njg

6BgYGNDQ0NDQyMDAwNjQ6Njg4NjQ0NDY4BAQEKioqCAgIHh4eKigoLCoqJiYmAgICLCwsLi4uNjY

6NDQ2NjY2Ojo8ODo8Ojw8ODg8Ojo6PDw+PDw8Pj4+Pjw+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAC0AIf/8SUNDUkdCRzEwMTIA

AALMYXBwbAIAAABtbnRyUkdCIFhZWiAH1gALABQAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAxyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0

AAABUAAAABRjaGFkAAABZAAAACxyVFJDAAABkAAAAA5nVFJDAAABoAAAAA5iVFJDAAABsAAAAA52

Y2d0AAABwAAAADBu/2RpbgAAAfAAAAA4ZGVzYwAAAigAAAB0Y3BydAAAApwAAAAtWFlaIAAAAAAA

AHRLAAA+HQAAA8xYWVogAAAAAAAAWnMAAKymAAAXJlhZWiAAAAAAAAAoGAAAFVcAALgzWFlaIAAA

AAAAAPNRAAEAAAABFsxzZjMyAAAAAAABDEIAAAXe///zJgAAB5MAAP2Q///7ov///aMAAAPcAADA

bmN1cnYAAAAAAAAAAQI5AABjdXJ2AAAAAAAAAAECOQAAY3VydgAAAAAAAAABAjkAAHZjZ3QAAAAA

AAAAAQABAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAAAAAAEAANxuZGluAAAAAAAAADAAAKFI

AABXCgAAS4UAAJrhAAAnrgAAE7YAAFANAABUOQACOOQAAjjkAAI45GRlc2MAAAAAAAAAGkNhbGli

cmF0ZWQgUkdCIENvbG9yc3BhY2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmln

aHQgQXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAACwAAAAAEAAQAAAGmUCNZEgsDgWDFmjF

Yq2e0Cjk8VkVFKRS6XQiEBwhVYS6SiRMpDQJdfCmBGQzOuv1OlTwKgKRLdW/YXAcZQpzKH8UeA8Y

KwsLJH9fBgYkEouNC211Dg6TlZcTmZuTnpaMExOaBBSkBiimK6iaAaykrw8bKw0NBK0GFiIiByCX
    DAxpqpIqlhoBI8/QFRDTEAEdHi0Z2tvc2xctQQA7
    """)


left = ListBox(m, selectbackground="black", selectforeground="white")
m.add(left)

for text in "abcde":
    left.insert("end", text=text*3, image=textimage)

left.bind_image("<Button-1>", (lambda event: printstuff()))
left.bind_text("<Button-1>", (lambda event: printstuff()))

right = Tkinter.Text(m)
m.add(right)

right=right

def printstuff():
    global right
    right.insert("end", "pressed\n")

root.mainloop()

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFeEtEEsLm8HXyq4sRAhslAJ9S9wifqlh9xe9QqNosDESj1oZO0wCbB8yr
N+2+YX9LYgesxHwP5tmCOhw=
=NsRv
-----END PGP SIGNATURE-----
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss

Reply via email to