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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rigify/utils/mechanism.py')
-rw-r--r--rigify/utils/mechanism.py24
1 files changed, 12 insertions, 12 deletions
diff --git a/rigify/utils/mechanism.py b/rigify/utils/mechanism.py
index 92e161f6..00aef154 100644
--- a/rigify/utils/mechanism.py
+++ b/rigify/utils/mechanism.py
@@ -23,7 +23,7 @@ import re
from bpy.types import bpy_prop_collection, Material
-from rna_prop_ui import rna_idprop_ui_create, rna_idprop_ui_prop_get
+from rna_prop_ui import rna_idprop_ui_create
from rna_prop_ui import rna_idprop_quote_path as quote_property
from .misc import force_lazy
@@ -137,7 +137,7 @@ def make_property(
"""
# Some keyword argument defaults differ
- return rna_idprop_ui_create(
+ rna_idprop_ui_create(
owner, name, default = default,
min = min, max = max, soft_min = soft_min, soft_max = soft_max,
description = description or name,
@@ -440,8 +440,9 @@ def deactivate_custom_properties(obj, *, reset=True):
for key, value in obj.items():
valtype = type(value)
if valtype in {int, float}:
- info = rna_idprop_ui_prop_get(obj, key, create=False) or {}
- obj[key] = valtype(info.get("default", 0))
+ ui_data = obj.id_properties_ui(key)
+ rna_data = ui_data.as_dict()
+ obj[key] = valtype(rna_data.get("default", 0))
def reactivate_custom_properties(obj):
@@ -462,21 +463,19 @@ def reactivate_custom_properties(obj):
def copy_custom_properties(src, dest, *, prefix='', dest_prefix='', link_driver=False, overridable=True):
"""Copy custom properties with filtering by prefix. Optionally link using drivers."""
res = []
- exclude = {'_RNA_UI', 'rigify_parameters', 'rigify_type'}
+ exclude = {'rigify_parameters', 'rigify_type'}
for key, value in src.items():
if key.startswith(prefix) and key not in exclude:
new_key = dest_prefix + key[len(prefix):]
- info = rna_idprop_ui_prop_get(src, key, create=False)
+ ui_data_src = src.id_properties_ui(key)
+
if src != dest or new_key != key:
dest[new_key] = value
- if info:
- info2 = rna_idprop_ui_prop_get(dest, new_key, create=True)
- for ki, vi in info.items():
- info2[ki] = vi
+ dest.id_properties_ui(new_key).update_from(ui_data_src)
if link_driver:
make_driver(src, quote_property(key), variables=[(dest.id_data, dest, new_key)])
@@ -484,7 +483,7 @@ def copy_custom_properties(src, dest, *, prefix='', dest_prefix='', link_driver=
if overridable:
dest.property_overridable_library_set(quote_property(new_key), True)
- res.append((key, new_key, value, info))
+ res.append((key, new_key, value))
return res
@@ -500,7 +499,7 @@ def copy_custom_properties_with_ui(rig, src, dest_bone, *, ui_controls=None, **o
if mapping:
panel = rig.script.panel_with_selected_check(rig, ui_controls or rig.bones.flatten('ctrl'))
- for key,new_key,value,info in sorted(mapping, key=lambda item: item[1]):
+ for key,new_key,value in sorted(mapping, key=lambda item: item[1]):
name = new_key
# Replace delimiters with spaces
@@ -513,6 +512,7 @@ def copy_custom_properties_with_ui(rig, src, dest_bone, *, ui_controls=None, **o
if name.lower() == name:
name = name.title()
+ info = bone.id_properties_ui(new_key).as_dict()
slider = type(value) is float and info and info.get("min", None) == 0 and info.get("max", None) == 1
panel.custom_prop(dest_bone, new_key, text=name, slider=slider)