diff options
author | Julian Eisel <julian@blender.org> | 2020-11-06 22:54:20 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-11-06 22:54:20 +0300 |
commit | cf94571762f6ac34c59a926e3b3010a5657fbf78 (patch) | |
tree | 914063da1c7461be6d258cf5a383ee148ace5b40 /source/blender/editors/space_outliner/CMakeLists.txt | |
parent | 37ef37711d997899041d84e8c7a17e1fbb4efab9 (diff) |
UI Code Quality: Start refactoring Outliner tree creation (using C++)
The Outliner tree creation was very messy and hard to follow. Hardcoded display
type checks are scattered over many places.
This introduces a new abstraction "tree-view" to help constructing and managing
the tree for the different display types (View Layer, Scene, Blender file,
etc.).
Idea is to have an abstract base class to define an interface
(`AbstractTreeView`), and then subclasses with the implementation of each
display type (e.g. `TreeViewViewLayer`, `TreeViewBlenderFile`, etc). The
tree-viewer is kept alive until tree-rebuild as runtime data of the space, so
that further queries based on the display type can be executed (e.g. "does the
view support selection syncing?", "does it support restriction toggle
columns?", etc.).
I may still change the names a bit, not sure yet if "tree-view" is the right
term for this helper.
Diffstat (limited to 'source/blender/editors/space_outliner/CMakeLists.txt')
-rw-r--r-- | source/blender/editors/space_outliner/CMakeLists.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt index 1aa25ba00b1..a0577b1103d 100644 --- a/source/blender/editors/space_outliner/CMakeLists.txt +++ b/source/blender/editors/space_outliner/CMakeLists.txt @@ -44,8 +44,11 @@ set(SRC outliner_tree.c outliner_utils.c space_outliner.c + tree/tree_view.cc + tree/tree_view_view_layer.cc outliner_intern.h + tree/tree_view.hh ) set(LIB |