I'm having a bit of a problem with a TreeView embedded in a TextView which
is inside a ScrolledWindow. I've attached a little program that exhibits
the problem: the TreeView doesn't always redraw correctly when scrolling
down, and then back up---sometimes the border disappears, sometimes the
lines aren't redrawn, and sometimes users get gray areas, like this:

http://doraemon.brynmawr.edu/~dblank/images/parental_line.png

I'm I doing something wrong? Is there a better way to mix text and a
TreeView widget? Or, is this a bug?

Thanks for any pointers,

-Doug
import gtk

# some data:
columns = ["Column 1", "Column 2"]
rows = []
for i in range(100):
    rows.append( [str(i), str(i)] )

# a window:
window = gtk.Window()
window.set_default_size(300, 300)
scrolled_window = gtk.ScrolledWindow()
text_view = gtk.TextView()
buffer = text_view.get_buffer()
buffer.set_text("A treeview in a textview:\n\n")
window.add(scrolled_window)
scrolled_window.add(text_view)

# a widget to put in window:
treeview = gtk.TreeView()
renderer = gtk.CellRendererText()
types = [int] # index
sort_data = []
sort_data_types = []
model_index = 1 
for col in columns:
    types.append(type(col))
    column = gtk.TreeViewColumn(col,renderer,text=model_index)
    column.set_sort_column_id(model_index)
    treeview.append_column(column)
    model_index += 1
frame = gtk.Frame()
frame.add(treeview)
model = gtk.ListStore(*types)
treeview.set_model(model)
iter = buffer.get_end_iter()
anchor = buffer.create_child_anchor(iter)
text_view.add_child_at_anchor(frame, anchor)
count = 0
for data in rows:
    model.append(row=([count] + list(data)))
    count += 1
frame.show_all()
window.show_all()
buffer.insert_at_cursor("\nOk, more text.\n")
gtk.main()
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to