diff options
author | Julian Eisel <julian@blender.org> | 2022-03-31 13:09:56 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2022-03-31 13:21:14 +0300 |
commit | 0c6dc7c59ebd8d7857e8c078e37e285769fb5770 (patch) | |
tree | 4309b5d7018dd0fb6a4fd844844fa966921cad53 /source/blender/makesdna/DNA_space_types.h | |
parent | 2202259e9c1f704496c66a19c15d4174d6c9a3f0 (diff) |
Outliner: New "Hierarchies" view mode for Library Overrides
Adds a dropdown for the Library Overrides display mode that lets users
choose between a "Properties" and a "Hierachies" view mode. The former
is what was previously there (a mode that displays all overridden
properties with buttons to edit the values), the latter is new. It
displays the hierarchical relationships between library overridden
data-blocks. E.g. to override the mesh of an object inside a linked
collection, the entire collection > object > mesh hierarchy needs to be
overridden (whereby the former two will be automatically overridden
using system overrides).
The Hierarchies mode will also show the override hierarchies of
data-blocks that were linked and are overridden in the source file. This
information is useful to have, especially for debugging scenes.
Part of T95802.
Differential Revision: https://developer.blender.org/D14440
Reviewed by: Bastien Montagne
Diffstat (limited to 'source/blender/makesdna/DNA_space_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_space_types.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 6d7952cb799..e9bf3126c97 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -280,8 +280,12 @@ typedef struct SpaceOutliner { char search_string[64]; struct TreeStoreElem search_tse; - short flag, outlinevis, storeflag; + short flag; + short outlinevis; + short lib_override_view_mode; + short storeflag; char search_flags; + char _pad[6]; /** Selection syncing flag (#WM_OUTLINER_SYNC_SELECT_FROM_OBJECT and similar flags). */ char sync_select_dirty; @@ -388,6 +392,14 @@ typedef enum eSpaceOutliner_Mode { SO_OVERRIDES_LIBRARY = 16, } eSpaceOutliner_Mode; +/** #SpaceOutliner.outlinevis */ +typedef enum eSpaceOutliner_LibOverrideViewMode { + /* View all overrides with RNA buttons to edit the overridden values. */ + SO_LIB_OVERRIDE_VIEW_PROPERTIES = 0, + /* View entire override hierarchies (relationships between overriden data-blocks). */ + SO_LIB_OVERRIDE_VIEW_HIERARCHIES = 1, +} eSpaceOutliner_LibOverrideViewMode; + /** #SpaceOutliner.storeflag */ typedef enum eSpaceOutliner_StoreFlag { /* cleanup tree */ |