Version 19 of ttk::treeview

Updated 2009-05-30 19:34:12 by ofv

A Ttk widget that provides both tree-browsing capabilities and multicolumn listbox capabilities.

http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_treeview.htm

More information on the wiki page treeview.


MHo 2008-04-09: Does someone know why a horizontal scrollbar does not work properly in conjunction with this widget? It seems that the hsb never gets updated.
D. McC 2008-04-12: Have you specified minimum column widths with the -minwidth option? I used to have this problem too, and it went away when I specified minimum widths.
MHo: No, haven't tried yet. Switched the whole GUI of my app to BWidgets because I had other problems with tile, too. MHo 09-nov-2008: With -stretch 1, the scrollbar is missing, with -stretch 0, it's there!
Luis Calvo 2008-11-28: Hi! I have detected the same "bug" even with -minwidth option at columns. You can find the bug in the 8.5.5 tcl demo: If you take the tcl multi-column list of countries sample and you increase a width column, the x-scroll is working but you can not select or resize the new area. Thanks anyway!


ofv 2009-05-30: I've looked at ttk::treeview source and it seems that one key requirement was completely overlooked: when a node is expanded, the column holding the tree may need to expand for accomodating the new visible items, reflecting the width change on the associated horizontal scrollbar (if any). Right now the code handles the tree as a fixed-width column, much on the way a listbox does. This problem appears on different instances, even if you get the horizontal scrollbar to work with the -minwidth trick. It is not possible to select a node by clicking on it when it is too nested so that it is drawn to the right of the initial visible area. When you have several columns, the tree items are partially drawn over the adyacent columns if there is no space on the tree's column, etc. See the bugs on the SF project page for details. I don't recommend using ttk::treeview unless you know in advance that the tree items will not require more horizontal space than the assigned column width.