Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2020-11-06 22:54:20 +0300
committerJulian Eisel <julian@blender.org>2020-11-06 22:54:20 +0300
commitcf94571762f6ac34c59a926e3b3010a5657fbf78 (patch)
tree914063da1c7461be6d258cf5a383ee148ace5b40 /source/blender/editors/space_outliner/CMakeLists.txt
parent37ef37711d997899041d84e8c7a17e1fbb4efab9 (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.txt3
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