Hierarchical Listbox TreeView Module for Xojo

Hello Xojo community!

I’ve just released a new open-source project on GitHub that I think many of you will find useful — especially if you’re working with hierarchical data or want to integrate a TreeView-style UI into your desktop applications.

Github Repository : Xojo-TreeView-Hierarchical-Listbox

This project is a reusable module that demonstrates how to create and manage a hierarchical Listbox (TreeView-style) in Xojo. It was built with two goals in mind:

  • Educational: To help developers understand how to work with nested structures and hierarchical UI in Xojo.
  • Practical: To provide a ready-to-integrate module that you can drop into your own projects and save a lot of development time.

Features :

  • Add, rename, and delete nodes dynamically
  • Virtually unlimited depth (nest as deep as you want!)
  • Each node can display its own emoji icon
  • Includes a working example with SQLite persistence
  • Clean and modular design, easy to plug into existing apps
  • Fully open-source (MIT License)

How to Get Involved

  • Download it and try it out
  • Use it in your own projects
  • Give feedback, open issues, suggest improvements
  • Contribute with pull requests if you want to enhance the module
  • Or simply join the discussion — I’d love to hear how you would use it or what you’d add!

Thanks for reading — and I hope this module helps make your next Xojo project just a little bit easier

Made with Xojo 2025R1.

15 Likes

nice ! did you manage the row drag-reorder, which is the most difficult part in a hierarchical listbox ?

Not yet — but that’s definitely something I plan to implement in a future update!

Downloaded it, ran it, selected the sqiite file and nothing happens.

The example works fine:


1 Like

Thanks for him Beatrix. In French we have an expression which says "C’est comme le Port-Salut, c’est écrit dessus ", but that’s untranslatable you’ll never understand unless you have a very large dose of humor :grin:

The French expression “C’est comme le Port-Salut, c’est écrit dessus” translates to “It’s like Port-Salut, it’s written on it.”

It refers to something that is obvious or clearly stated—something you just need to look at to understand.

The phrase comes from the French cheese Port-Salut, which had its name prominently displayed on the packaging, along with an advertising slogan saying exactly that.

Over time, this slogan became a humorous way to point out when something is self-evident or clearly marked.

3 Likes

here, it could also translate to RTFM…

2 Likes

OK I tested it. Some remarks: if you create a new node on the same level, the previous entry shows a plus sign after the same level node is created. Same with a new node on a lower hierarchical level. The new node shows a plus sign, which indicates there is a nested level, but there isn’t.

Ps: I see now that a new node on the same level is created above the original node and not below, what one expects.