Fix [#22271] N panel Lock icons not changing when pressed
authorMatt Ebb <matt@mke3.net>
Fri, 7 May 2010 04:52:10 +0000 (04:52 +0000)
committerMatt Ebb <matt@mke3.net>
Fri, 7 May 2010 04:52:10 +0000 (04:52 +0000)
source/blender/editors/space_view3d/view3d_buttons.c
source/blender/makesrna/intern/rna_object.c

index d159dc487a7886b551f662649cb6794e10fad630..c75b785aa11f405f4db40a1fbe68e4843fb1da5b 100644 (file)
@@ -746,7 +746,7 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr)
        uiItemR(colsub, ptr, "location", 0, "Location", 0);
        colsub = uiLayoutColumn(split, 1);
        uiItemL(colsub, "", 0);
-       uiItemR(colsub, ptr, "lock_location", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+       uiItemR(colsub, ptr, "lock_location", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
        
        split = uiLayoutSplit(layout, 0.8, 0);
        
@@ -757,10 +757,10 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr)
                        colsub = uiLayoutColumn(split, 1);
                        uiItemR(colsub, ptr, "lock_rotations_4d", UI_ITEM_R_TOGGLE, "4L", 0);
                        if (RNA_boolean_get(ptr, "lock_rotations_4d"))
-                               uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+                               uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
                        else
                                uiItemL(colsub, "", 0);
-                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
                        break;
                case ROT_MODE_AXISANGLE: /* axis angle */
                        colsub = uiLayoutColumn(split, 1);
@@ -768,17 +768,17 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr)
                        colsub = uiLayoutColumn(split, 1);
                        uiItemR(colsub, ptr, "lock_rotations_4d", UI_ITEM_R_TOGGLE, "4L", 0);
                        if (RNA_boolean_get(ptr, "lock_rotations_4d"))
-                               uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+                               uiItemR(colsub, ptr, "lock_rotation_w", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
                        else
                                uiItemL(colsub, "", 0);
-                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
                        break;
                default: /* euler rotations */
                        colsub = uiLayoutColumn(split, 1);
                        uiItemR(colsub, ptr, "rotation_euler", 0, "Rotation", 0);
                        colsub = uiLayoutColumn(split, 1);
                        uiItemL(colsub, "", 0);
-                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+                       uiItemR(colsub, ptr, "lock_rotation", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
                        break;
        }
        uiItemR(layout, ptr, "rotation_mode", 0, "", 0);
@@ -788,7 +788,7 @@ static void v3d_transform_butsR(uiLayout *layout, PointerRNA *ptr)
        uiItemR(colsub, ptr, "scale", 0, "Scale", 0);
        colsub = uiLayoutColumn(split, 1);
        uiItemL(colsub, "", 0);
-       uiItemR(colsub, ptr, "lock_scale", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", ICON_LOCKED);
+       uiItemR(colsub, ptr, "lock_scale", UI_ITEM_R_TOGGLE+UI_ITEM_R_ICON_ONLY, "", 0);
        
        if (ptr->type == &RNA_Object) {
                Object *ob = ptr->data;
index c16110b4c0a2d2a2a3a09a5e69b18ebbfa10f6c5..9972fa01a3436a28620dbf41ea33899be9a9ca7e 100644 (file)
@@ -1651,17 +1651,20 @@ static void rna_def_object(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_LOCX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Location", "Lock editing of location in the interface");
+       RNA_def_property_ui_icon(prop, ICON_UNLOCKED, 1);
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
        prop= RNA_def_property(srna, "lock_rotation", PROP_BOOLEAN, PROP_XYZ);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_ROTX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Rotation", "Lock editing of rotation in the interface");
+       RNA_def_property_ui_icon(prop, ICON_UNLOCKED, 1);
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
        
                // XXX this is sub-optimal - it really should be included above, but due to technical reasons we can't do this!
        prop= RNA_def_property(srna, "lock_rotation_w", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_ROTW);
+       RNA_def_property_ui_icon(prop, ICON_UNLOCKED, 1);
        RNA_def_property_ui_text(prop, "Lock Rotation (4D Angle)", "Lock editing of 'angle' component of four-component rotations in the interface");
                // XXX this needs a better name
        prop= RNA_def_property(srna, "lock_rotations_4d", PROP_BOOLEAN, PROP_NONE);
@@ -1672,6 +1675,7 @@ static void rna_def_object(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "protectflag", OB_LOCK_SCALEX);
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Lock Scale", "Lock editing of scale in the interface");
+       RNA_def_property_ui_icon(prop, ICON_UNLOCKED, 1);
        RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update");
 
        /* matrix */