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/blenkernel/BKE_lib_override.h | |
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/blenkernel/BKE_lib_override.h')
-rw-r--r-- | source/blender/blenkernel/BKE_lib_override.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_lib_override.h b/source/blender/blenkernel/BKE_lib_override.h index 13edabd4cb7..c9a9c26e222 100644 --- a/source/blender/blenkernel/BKE_lib_override.h +++ b/source/blender/blenkernel/BKE_lib_override.h @@ -95,6 +95,10 @@ struct IDOverrideLibraryProperty *BKE_lib_override_library_property_get( struct IDOverrideLibrary *override, const char *rna_path, bool *r_created); void BKE_lib_override_library_property_delete(struct IDOverrideLibrary *override, struct IDOverrideLibraryProperty *override_property); +bool BKE_lib_override_rna_property_find(struct PointerRNA *idpoin, + const struct IDOverrideLibraryProperty *library_prop, + struct PointerRNA *r_override_poin, + struct PropertyRNA **r_override_prop); struct IDOverrideLibraryPropertyOperation *BKE_lib_override_library_property_operation_find( struct IDOverrideLibraryProperty *override_property, @@ -131,7 +135,7 @@ bool BKE_lib_override_library_status_check_local(struct Main *bmain, struct ID * bool BKE_lib_override_library_status_check_reference(struct Main *bmain, struct ID *local); bool BKE_lib_override_library_operations_create(struct Main *bmain, struct ID *local); -void BKE_lib_override_library_main_operations_create(struct Main *bmain, const bool force_auto); +bool BKE_lib_override_library_main_operations_create(struct Main *bmain, const bool force_auto); void BKE_lib_override_library_id_reset(struct Main *bmain, struct ID *id_root); void BKE_lib_override_library_id_hierarchy_reset(struct Main *bmain, struct ID *id_root); |