Blender Git Commit Log

Git Commits -> Revision 323fd80

Revision 323fd80 by Julian Eisel (master)
September 23, 2021, 17:33 (GMT)
UI: Tree-View API for easy creation of tree UIs

This follows three main targets:

* Make creation of new tree UIs easy.
* Groundwork to generalize tree UIs (so e.g. Outliner, animation
channels, asset catalogs and spreadsheet data-sets don't have to
re-implement basic tree UI code) or even other data-view UIs.
* Better separate data and UI state. E.g. with this, tree-item selection
or the open/collapsed state can be stored on the UI level, rather than
in data. (Asset Catalogs need this, storing UI state info in them is
not an option.)

In addition, the design should be well testable and could even be
exposed to Python.

Note that things will likely change in master still. E.g. the actually
resulting UI isn't very nice visually yet.

The design is documented here:
https://wiki.blender.org/wiki/Source/Interface/Views

Differential Revision: https://developer.blender.org/D12573

Commit Details:

Full Hash: 323fd80aada46105e23985f5646f9252b5e6f193
Parent Commit: eb0eb54
Lines Changed: +826, -13

4 Added Paths:

/source/blender/editors/include/UI_interface.hh (+35, -0) (View)
/source/blender/editors/include/UI_tree_view.hh (+238, -0) (View)
/source/blender/editors/interface/interface_view.cc (+116, -0) (View)
/source/blender/editors/interface/tree_view.cc (+316, -0) (View)

8 Modified Paths:

/source/blender/editors/include/UI_interface.h (+9, -0) (Diff)
/source/blender/editors/interface/CMakeLists.txt (+2, -0) (Diff)
/source/blender/editors/interface/interface.c (+39, -4) (Diff)
/source/blender/editors/interface/interface_handlers.c (+19, -1) (Diff)
/source/blender/editors/interface/interface_intern.h (+18, -0) (Diff)
/source/blender/editors/interface/interface_query.c (+2, -1) (Diff)
/source/blender/editors/interface/interface_widgets.c (+30, -7) (Diff)
/source/blender/editors/util/CMakeLists.txt (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021