Add some update notifiers for a few boolean paint properties (probably a
authorAntony Riakiotakis <kalast@gmail.com>
Wed, 30 Oct 2013 04:56:32 +0000 (04:56 +0000)
committerAntony Riakiotakis <kalast@gmail.com>
Wed, 30 Oct 2013 04:56:32 +0000 (04:56 +0000)
lot more needed) so that they get properly updated in UI when the
property is edited through python or a custom key binding to context
toggle operator.

source/blender/makesrna/intern/rna_sculpt_paint.c

index 89714e49ebfde532dfafd6e2f58df605d366f180..a9f84f1dcc7b38bf10603f1c98a482cc8310c041 100644 (file)
@@ -340,36 +340,44 @@ static void rna_def_sculpt(BlenderRNA  *brna)
        prop = RNA_def_property(srna, "use_symmetry_x", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_SYMM_X);
        RNA_def_property_ui_text(prop, "Symmetry X", "Mirror brush across the X axis");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_symmetry_y", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_SYMM_Y);
        RNA_def_property_ui_text(prop, "Symmetry Y", "Mirror brush across the Y axis");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_symmetry_z", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_SYMM_Z);
        RNA_def_property_ui_text(prop, "Symmetry Z", "Mirror brush across the Z axis");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "lock_x", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_LOCK_X);
        RNA_def_property_ui_text(prop, "Lock X", "Disallow changes to the X axis of vertices");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "lock_y", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_LOCK_Y);
        RNA_def_property_ui_text(prop, "Lock Y", "Disallow changes to the Y axis of vertices");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "lock_z", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_LOCK_Z);
        RNA_def_property_ui_text(prop, "Lock Z", "Disallow changes to the Z axis of vertices");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_symmetry_feather", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_SYMMETRY_FEATHER);
        RNA_def_property_ui_text(prop, "Symmetry Feathering",
                                 "Reduce the strength of the brush where it overlaps symmetrical daubs");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_threaded", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_USE_OPENMP);
        RNA_def_property_ui_text(prop, "Use OpenMP",
                                 "Take advantage of multiple CPU cores to improve sculpting performance");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_deform_only", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", SCULPT_ONLY_DEFORM);
@@ -400,6 +408,7 @@ static void rna_def_sculpt(BlenderRNA  *brna)
        RNA_def_property_ui_text(prop, "Collapse Short Edges",
                                 "In dynamic-topology mode, collapse short edges "
                                 "in addition to subdividing long ones");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "symmetrize_direction", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_items(prop, symmetrize_direction_items);
@@ -432,19 +441,23 @@ static void rna_def_vertex_paint(BlenderRNA *brna)
        prop = RNA_def_property(srna, "use_all_faces", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", VP_AREA);
        RNA_def_property_ui_text(prop, "All Faces", "Paint on all faces inside brush");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        prop = RNA_def_property(srna, "use_normal", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", VP_NORMALS);
        RNA_def_property_ui_text(prop, "Normals", "Apply the vertex normal before painting");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "use_spray", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", VP_SPRAY);
        RNA_def_property_ui_text(prop, "Spray", "Keep applying paint effect while holding mouse");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 
        /* weight paint only */
        prop = RNA_def_property(srna, "use_group_restrict", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", VP_ONLYVGROUP);
        RNA_def_property_ui_text(prop, "Restrict", "Restrict painting to vertices in the group");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
 }
 
 static void rna_def_image_paint(BlenderRNA *brna)
@@ -461,27 +474,33 @@ static void rna_def_image_paint(BlenderRNA *brna)
        prop = RNA_def_property(srna, "use_occlude", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_XRAY);
        RNA_def_property_ui_text(prop, "Occlude", "Only paint onto the faces directly under the brush (slower)");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "use_backface_culling", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_BACKFACE);
        RNA_def_property_ui_text(prop, "Cull", "Ignore faces pointing away from the view (faster)");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "use_normal_falloff", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_FLAT);
        RNA_def_property_ui_text(prop, "Normal", "Paint most on faces pointing towards the view");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "use_stencil_layer", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_LAYER_STENCIL);
        RNA_def_property_ui_text(prop, "Stencil Layer", "Set the mask layer from the UV map buttons");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "invert_stencil", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_LAYER_STENCIL_INV);
        RNA_def_property_ui_text(prop, "Invert", "Invert the stencil layer");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        prop = RNA_def_property(srna, "use_clone_layer", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", IMAGEPAINT_PROJECT_LAYER_CLONE);
        RNA_def_property_ui_text(prop, "Clone Map",
                                 "Use another UV map as clone source, otherwise use the 3D cursor as the source");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
        
        /* integers */