diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-10-15 15:52:43 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-10-15 15:54:21 +0400 |
commit | b6f0ad5d9744d963d005a9d723033dd29616a056 (patch) | |
tree | f8f53cb018e79002890eb8b95f96a1a8396d53a6 | |
parent | 2db117aa6c83c3e02c84ba15270b4fd1e61d8200 (diff) |
Disable color editing for bone group color sets unless custom colors is
selected.
The bone group colors are not actually used _unless_ when the set is
"custom colors". But they were still editable, which is very confusing.
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_armature.py | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_internal.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_pose.c | 12 |
3 files changed, 14 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index c6823f17153..6a8f9c586ed 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -144,6 +144,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): if group.color_set: col = split.column() sub = col.row(align=True) + sub.enabled = group.is_custom_color_set # only custom colors are editable sub.prop(group.colors, "normal", text="") sub.prop(group.colors, "select", text="") sub.prop(group.colors, "active", text="") diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 83b7a81c649..051e7277425 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -207,6 +207,7 @@ void rna_def_render_layer_common(struct StructRNA *srna, int scene); void rna_def_actionbone_group_common(struct StructRNA *srna, int update_flag, const char *update_cb); void rna_ActionGroup_colorset_set(struct PointerRNA *ptr, int value); +int rna_ActionGroup_is_custom_colorset_get(struct PointerRNA *ptr); void rna_ID_name_get(struct PointerRNA *ptr, char *value); int rna_ID_name_length(struct PointerRNA *ptr); diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c index 9f05d61eeff..f9d0e86183e 100644 --- a/source/blender/makesrna/intern/rna_pose.c +++ b/source/blender/makesrna/intern/rna_pose.c @@ -179,6 +179,13 @@ void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value) } } +int rna_ActionGroup_is_custom_colorset_get(PointerRNA *ptr) +{ + bActionGroup *grp = ptr->data; + + return (bool)(grp->customCol < 0); +} + static void rna_BoneGroup_name_set(PointerRNA *ptr, const char *value) { Object *ob = ptr->id.data; @@ -675,6 +682,11 @@ void rna_def_actionbone_group_common(StructRNA *srna, int update_flag, const cha RNA_def_property_ui_text(prop, "Color Set", "Custom color set to use"); RNA_def_property_update(prop, update_flag, update_cb); + prop = RNA_def_property(srna, "is_custom_color_set", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_ActionGroup_is_custom_colorset_get", NULL); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Custom Color Set", "Color set is user-defined instead of a fixed theme color set"); + /* TODO: editing the colors for this should result in changes to the color type... */ prop = RNA_def_property(srna, "colors", PROP_POINTER, PROP_NONE); RNA_def_property_flag(prop, PROP_NEVER_NULL); |