# Change the treeview style.

import gtk

rc_string = """
style "treeview-style" {
    GtkTreeView::indent_expanders = 0
}
class "GtkTreeView" style "treeview-style"
"""
gtk.rc_parse_string(rc_string)

class StyleTestApp(object):
    def __init__(self):
        self.window = gtk.Window()
        self.window.set_size_request(200, 500)
        self.window.connect("destroy", gtk.main_quit)

        treestore = gtk.TreeStore(str)
        for i in range(9):
            treeiter = treestore.append(None, ["Row %d" % i])
        treestore.append(treeiter, ["Subrow (8, 0)"])
        treestore.append(treeiter, ["Subrow (8, 1)"])
        treestore.append(treeiter, ["Subrow (8, 2)"])
        treestore.append(None, ["Row 9"])

        treeview = gtk.TreeView(treestore)
        cell = gtk.CellRendererText()
        col = gtk.TreeViewColumn('Text', cell, text=0)
        treeview.append_column(col)

        # The next line has no effect.
        gtk.rc_reset_styles(treeview.get_settings())

        # I defined a style in which the style property indent-expanders is 0,
        # but the value here is still True.
        print "indent-expanders =", treeview.style_get_property('indent-expanders')

        self.window.add(treeview)
        self.window.show_all()

    def run(self):
        self.window.show_all()
        gtk.main()

app = StyleTestApp()
app.run()

