use static functions where possible for some local functions.
[blender.git] / source / blender / makesrna / intern / rna_armature.c
index cf20e92b2892a862bcfadc0e789d5778fd633533..dcf89b7ac1e319a8245aedc91117e1a62b7064cb 100644 (file)
 
 static void rna_Armature_update_data(bContext *C, PointerRNA *ptr)
 {
-       Main *bmain= CTX_data_main(C);
-       Scene *scene= CTX_data_scene(C);
        ID *id= ptr->id.data;
-       Object *ob;
 
-       for(ob=bmain->object.first; ob; ob= ob->id.next) {
-               if(ob->data == id) {
-                       /* XXX this will loop over all objects again (slow) */
-                       DAG_object_flush_update(scene, ob, OB_RECALC_DATA);
-                       WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_DATA, ob);
-               }
-       }
+       DAG_id_flush_update(id, OB_RECALC_DATA);
+       WM_event_add_notifier(C, NC_GEOM|ND_DATA, id);
 }
 
 static void rna_Armature_redraw_data(bContext *C, PointerRNA *ptr)
 {
-       Main *bmain= CTX_data_main(C);
        ID *id= ptr->id.data;
-       Object *ob;
 
-       for(ob=bmain->object.first; ob; ob= ob->id.next)
-               if(ob->data == id)
-                       WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_DATA, ob);
+       WM_event_add_notifier(C, NC_GEOM|ND_DATA, id);
 }
 
 static void rna_bone_layer_set(short *layer, const int *values)
@@ -337,7 +325,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone)
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
 
        /* flags */
-       prop= RNA_def_property(srna, "layer", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "layer", PROP_BOOLEAN, PROP_LAYER_MEMBER);
        RNA_def_property_boolean_sdna(prop, NULL, "layer", 1);
        RNA_def_property_array(prop, 16);
        if(editbone) RNA_def_property_boolean_funcs(prop, "rna_EditBone_layer_get", "rna_EditBone_layer_set");
@@ -495,13 +483,13 @@ static void rna_def_edit_bone(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Roll", "Bone rotation around head-tail axis.");
        RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
 
-       prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "head");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Head", "Location of head end of the bone.");
        RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
 
-       prop= RNA_def_property(srna, "tail", PROP_FLOAT, PROP_VECTOR);
+       prop= RNA_def_property(srna, "tail", PROP_FLOAT, PROP_TRANSLATION);
        RNA_def_property_float_sdna(prop, NULL, "tail");
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Tail", "Location of tail end of the bone.");
@@ -532,7 +520,7 @@ static void rna_def_edit_bone(BlenderRNA *brna)
        RNA_define_verify_sdna(1);
 }
 
-void rna_def_armature(BlenderRNA *brna)
+static void rna_def_armature(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
@@ -581,7 +569,7 @@ void rna_def_armature(BlenderRNA *brna)
        
        /* Boolean values */
                /* layer */
-       prop= RNA_def_property(srna, "layer", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "layer", PROP_BOOLEAN, PROP_LAYER_MEMBER);
        RNA_def_property_boolean_sdna(prop, NULL, "layer", 1);
        RNA_def_property_array(prop, 16);
        RNA_def_property_ui_text(prop, "Visible Layers", "Armature layer visibility.");
@@ -590,7 +578,7 @@ void rna_def_armature(BlenderRNA *brna)
        RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
        
                /* layer protection */
-       prop= RNA_def_property(srna, "layer_protection", PROP_BOOLEAN, PROP_NONE);
+       prop= RNA_def_property(srna, "layer_protection", PROP_BOOLEAN, PROP_LAYER);
        RNA_def_property_boolean_sdna(prop, NULL, "layer_protected", 1);
        RNA_def_property_array(prop, 16);
        RNA_def_property_ui_text(prop, "Layer Proxy Protection", "Protected layers in Proxy Instances are restored to Proxy settings on file reload and undo.");        
@@ -708,13 +696,13 @@ void rna_def_armature(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Ghosting Frame Step", "Frame step for Ghosts (not for 'On Keyframes' Onion-skining method).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "ghost_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "ghost_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "ghostsf");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_ghost_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Ghosting Start Frame", "Starting frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "ghost_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "ghost_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "ghostef");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_ghost_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Ghosting End Frame", "End frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method).");
@@ -727,13 +715,13 @@ void rna_def_armature(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Paths Frame Step", "Number of frames between 'dots' on Bone Paths (when drawing).");
        RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
        
-       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_start_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathsf");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_path_start_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Paths Calculation Start Frame", "Starting frame of range of frames to use for Bone Path calculations.");
        RNA_def_property_update(prop, 0, "rna_Armature_update_data");
        
-       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "path_end_frame", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "pathef");
        RNA_def_property_int_funcs(prop, NULL, "rna_Armature_path_end_frame_set", NULL);
        RNA_def_property_ui_text(prop, "Paths Calculation End Frame", "End frame of range of frames to use for Bone Path calculations.");