diff options
author | Julian Eisel <julian@blender.org> | 2020-12-28 00:15:20 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-12-28 00:45:41 +0300 |
commit | aa64fd69e733e49317101ea60299f2179830ae95 (patch) | |
tree | 5546b93625c908945a6123e27110f55c793e8bc8 /source/blender/makesdna | |
parent | 960a0b892c096965696bbd93d0782001d53c869e (diff) |
UI: List library overrides in the Outliner
Having a centeral place to find a list of all library overrides should be
useful for managing production scenes where library overrides are used a lot.
This change adds the individually overridden properties of a data-block under
the data-block itself. Just how we show modifiers, constraints or pose channels
there. This way we can also expose library override operations/options better
in future.
There's also a filter option for the library overrides now, so they can be
hidden. It is only available in the View Layer display mode though, like the
other filter options.
One internal change this has to do is adding more informative return values to
undo pushes and the library override functions called by it. That way we can
send a notifier when library overrides change for the Outliner to know when to
rebuild the tree.
Differential Revision: https://developer.blender.org/D7631
Reviewed by: Andy Goralczyk, Bastien Montagne, William Reynish
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_outliner_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_space_types.h | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_outliner_types.h b/source/blender/makesdna/DNA_outliner_types.h index d561b489ae4..95d5a2ba73c 100644 --- a/source/blender/makesdna/DNA_outliner_types.h +++ b/source/blender/makesdna/DNA_outliner_types.h @@ -117,6 +117,8 @@ enum { #define TSE_SCENE_OBJECTS_BASE 41 #define TSE_GPENCIL_EFFECT_BASE 42 #define TSE_GPENCIL_EFFECT 43 +#define TSE_LIBRARY_OVERRIDE_BASE 44 +#define TSE_LIBRARY_OVERRIDE 45 /* Check whether given TreeStoreElem should have a real ID in its ->id member. */ #define TSE_IS_REAL_ID(_tse) \ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index f27a89a3d83..03f5d3f8d47 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -305,8 +305,9 @@ typedef enum eSpaceOutliner_Flag { /* SpaceOutliner.filter */ typedef enum eSpaceOutliner_Filter { - SO_FILTER_SEARCH = (1 << 0), /* Run-time flag. */ - SO_FILTER_UNUSED_1 = (1 << 1), /* cleared */ + SO_FILTER_SEARCH = (1 << 0), /* Run-time flag. */ + SO_FILTER_CLEARED_1 = (1 << 1), + SO_FILTER_NO_LIB_OVERRIDE = SO_FILTER_CLEARED_1, /* re-use */ SO_FILTER_NO_OBJECT = (1 << 2), SO_FILTER_NO_OB_CONTENT = (1 << 3), /* Not only mesh, but modifiers, constraints, ... */ SO_FILTER_NO_CHILDREN = (1 << 4), @@ -339,7 +340,7 @@ typedef enum eSpaceOutliner_Filter { #define SO_FILTER_ANY \ (SO_FILTER_NO_OB_CONTENT | SO_FILTER_NO_CHILDREN | SO_FILTER_OB_TYPE | SO_FILTER_OB_STATE | \ - SO_FILTER_NO_COLLECTION) + SO_FILTER_NO_COLLECTION | SO_FILTER_NO_LIB_OVERRIDE) /* SpaceOutliner.filter_state */ typedef enum eSpaceOutliner_StateFilter { |