Xojo - some pieces 4u
ready to use
All is based on the provided class 'CTreeListedValues', which basically is a list. The list entries have several properties available: name, hint, key, status, data, sublist. The sublist is just another instance of a CTreeListedValues list, which will be shown hierarchically in the ListboxOnce you've built your (hierarchical) list, you just assign it to the subclassed Listbox. All the expanding/collapsing logic is handled and your CTreeListedValues instance is updated accordingly. A contextmenu is provided to expand/collapse all or just a branch (states are stored). You can assign icons for all the statuses you have. And the example shows how to change the status of the items by pressing a key and/or create a contextmenu (or do it in your code: modify the CTreeListedValues and update the Listbox).
My useage of this TreeView:
I fill a CTreeListedValues while scanning the differences between a database and a user's offline working-copy (file). The tree is then displayed to the user to show which items are going to get synchronized and in which direction (db->file, db<-file). The user can interact if needed (e.g. chance the direction of some entries, or ignore a whole branch). Finally, the always updated CTreeListedValues (such as confirmed and/or modified by the user) are the 'Task-list' for the main synchronization-task...
back to overview