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:
authorBastien Montagne <montagne29@wanadoo.fr>2019-09-24 18:31:21 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2019-09-25 15:27:47 +0300
commit7b83ea5c6d1e9b24d2b3f65a69504e16a1a42d67 (patch)
tree352977c80722d35356fadc17f8e915228cbe0179 /release/scripts/modules/rna_prop_ui.py
parent1c624a12190cae5dcd06b67f48c1e88b7b70e600 (diff)
LibOverride: tweaks to custom props UI.
For now, do not allow to add custom props to overriding IDs (this should be possible in the future, by getting basic correct behavior here is already fairly hard, no reason to complicate things even more). Also, properly disallow editing of existing custom props in overriding IDs.
Diffstat (limited to 'release/scripts/modules/rna_prop_ui.py')
-rw-r--r--release/scripts/modules/rna_prop_ui.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/release/scripts/modules/rna_prop_ui.py b/release/scripts/modules/rna_prop_ui.py
index 2ff6c3fc1b0..202fd865723 100644
--- a/release/scripts/modules/rna_prop_ui.py
+++ b/release/scripts/modules/rna_prop_ui.py
@@ -231,13 +231,15 @@ def draw(layout, context, context_member, property_type, use_edit=True):
if rna_item.id_data.library is not None:
use_edit = False
+ is_lib_override = rna_item.id_data.override_library and rna_item.id_data.override_library.reference
assert(isinstance(rna_item, property_type))
items = rna_item.items()
items.sort()
- if use_edit:
+ # TODO: Allow/support adding new custom props to overrides.
+ if use_edit and not is_lib_override:
row = layout.row()
props = row.operator("wm.properties_add", text="Add")
props.data_path = context_member
@@ -303,6 +305,9 @@ def draw(layout, context, context_member, property_type, use_edit=True):
if use_edit:
row = split.row(align=True)
+ # Do not allow editing of overridden properties (we cannot use a poll function of the operators here
+ # since they's have no access to the specific property...).
+ row.enabled = not(is_lib_override and key in rna_item.id_data.override_library.reference)
if not is_rna:
props = row.operator("wm.properties_edit", text="Edit")
assign_props(props, val_draw, key)