Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/modules/rna_prop_ui.py
| Show First 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | |||||
| def rna_idprop_has_properties(rna_item): | def rna_idprop_has_properties(rna_item): | ||||
| keys = rna_item.keys() | keys = rna_item.keys() | ||||
| nbr_props = len(keys) | nbr_props = len(keys) | ||||
| return (nbr_props > 1) or (nbr_props and '_RNA_UI' not in keys) | return (nbr_props > 1) or (nbr_props and '_RNA_UI' not in keys) | ||||
| def rna_idprop_ui_prop_default_set(item, prop, value): | |||||
| defvalue = None | |||||
| try: | |||||
| prop_type = type(item[prop]) | |||||
| if prop_type in {int, float}: | |||||
| defvalue = prop_type(value) | |||||
| except KeyError: | |||||
| pass | |||||
| if defvalue: | |||||
| rna_ui = rna_idprop_ui_prop_get(item, prop, True) | |||||
| rna_ui["default"] = defvalue | |||||
| else: | |||||
| rna_ui = rna_idprop_ui_prop_get(item, prop) | |||||
| if rna_ui and "default" in rna_ui: | |||||
| del rna_ui["default"] | |||||
| def draw(layout, context, context_member, property_type, use_edit=True): | def draw(layout, context, context_member, property_type, use_edit=True): | ||||
| def assign_props(prop, val, key): | def assign_props(prop, val, key): | ||||
| prop.data_path = context_member | prop.data_path = context_member | ||||
| prop.property = key | prop.property = key | ||||
| try: | try: | ||||
| prop.value = str(val) | prop.value = str(val) | ||||
| ▲ Show 20 Lines • Show All 115 Lines • Show Last 20 Lines | |||||