bugfix [#22660] Text Boxes properties are not animateable.
authorCampbell Barton <ideasman42@gmail.com>
Fri, 30 Jul 2010 06:48:18 +0000 (06:48 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 30 Jul 2010 06:48:18 +0000 (06:48 +0000)
suggestion [#23093] Curve -> CurveMapping in brush...

source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_curve.c
source/blender/python/intern/bpy_rna.c

index 7a08e1403e3a976fdabcb9ad778f10f5c9e11208..b9664c556db9d0e1354ec9d761df3f5471ec8b50 100644 (file)
@@ -731,7 +731,7 @@ static void rna_def_brush(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "curve", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
 
        prop= RNA_def_property(srna, "curve", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
-       RNA_def_property_ui_text(prop, "Curve", "Editable falloff curve");
+       RNA_def_property_ui_text(prop, "CurveMapping", "Editable falloff curve");
        RNA_def_property_update(prop, 0, "rna_Brush_update");
 
        /* texture */
        RNA_def_property_update(prop, 0, "rna_Brush_update");
 
        /* texture */
index 84807446f5020d8986740a4c6463b1a2b7bdbf31..e006f3444b00fc7ae2a24dd76e198b9ddd5404f9 100644 (file)
@@ -510,6 +510,18 @@ static void rna_Curve_active_spline_set(PointerRNA *ptr, PointerRNA value)
                cu->actnu= BLI_findindex(nubase, nu);
 }
 
                cu->actnu= BLI_findindex(nubase, nu);
 }
 
+static char *rna_TextBox_path(PointerRNA *ptr)
+{
+       Curve *cu= (Curve*)ptr->id.data;
+       TextBox *tb= ptr->data;
+       int index= (int)(tb - cu->tb);
+
+       if (index >= 0 && index < cu->totbox)
+               return BLI_sprintfN("textboxes[%d]", index);
+       else
+               return BLI_strdup("");
+}
+
 #else
 
 static void rna_def_bpoint(BlenderRNA *brna)
 #else
 
 static void rna_def_bpoint(BlenderRNA *brna)
@@ -841,7 +853,6 @@ static void rna_def_textbox(BlenderRNA *brna)
        
        srna= RNA_def_struct(brna, "TextBox", NULL);
        RNA_def_struct_ui_text(srna, "Text Box", "Text bounding box for layout");
        
        srna= RNA_def_struct(brna, "TextBox", NULL);
        RNA_def_struct_ui_text(srna, "Text Box", "Text bounding box for layout");
-       // XXX: still needs path function
        
        /* number values */
        prop= RNA_def_property(srna, "x", PROP_FLOAT, PROP_NONE);
        
        /* number values */
        prop= RNA_def_property(srna, "x", PROP_FLOAT, PROP_NONE);
@@ -867,6 +878,8 @@ static void rna_def_textbox(BlenderRNA *brna)
        RNA_def_property_range(prop, 0.0f, 50.0f);
        RNA_def_property_ui_text(prop, "Textbox Height", "");
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
        RNA_def_property_range(prop, 0.0f, 50.0f);
        RNA_def_property_ui_text(prop, "Textbox Height", "");
        RNA_def_property_update(prop, 0, "rna_Curve_update_data");
+       
+       RNA_def_struct_path_func(srna, "rna_TextBox_path");
 }
 
 static void rna_def_charinfo(BlenderRNA *brna)
 }
 
 static void rna_def_charinfo(BlenderRNA *brna)
index 6b8c9a5e3a4a332c9bc6c4af0a0e0bb5fac1c7d7..2a708c826978935749bbb7b0d15af1323accdff5 100644 (file)
@@ -4803,7 +4803,7 @@ static PyObject *pyrna_basetype_register(PyObject *self, PyObject *py_class)
        reg= RNA_struct_register(srna);
 
        if(!reg) {
        reg= RNA_struct_register(srna);
 
        if(!reg) {
-               PyErr_SetString(PyExc_ValueError, "bpy.types.register(...): expected a Type subclassed from a registerable rna type (no register supported).");
+               PyErr_Format(PyExc_ValueError, "bpy.types.register(...): expected a subclass of a registerable rna type (%.200s does not support registration).", RNA_struct_identifier(srna));
                return NULL;
        }
        
                return NULL;
        }