Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2010-01-11 08:10:57 +0300
committerMatt Ebb <matt@mke3.net>2010-01-11 08:10:57 +0300
commite0dd3fe5872ba37ff188e292b80b46fcf8df413c (patch)
treee19ba24ad589b30160a663e26a6ac00068c5a4f2 /source/blender/makesrna
parent9d67c720d5328f1918cc01d86a326c0aca3e0d06 (diff)
* Restored font selection functionality with open font and unlink font operators,
so you can change the font of 3D text objects.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_ID.c13
-rw-r--r--source/blender/makesrna/intern/rna_curve.c3
-rw-r--r--source/blender/makesrna/intern/rna_vfont.c2
3 files changed, 16 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index e931f08c3a3..ac354366c25 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -93,6 +93,18 @@ void rna_ID_name_set(PointerRNA *ptr, const char *value)
test_idbutton(id->name+2);
}
+static int rna_ID_name_editable(PointerRNA *ptr)
+{
+ ID *id= (ID*)ptr->data;
+
+ if (GS(id->name) == ID_VF) {
+ if (strcmp(id->name+2, "<builtin>")==0)
+ return 0;
+ }
+
+ return 1;
+}
+
short RNA_type_to_ID_code(StructRNA *type)
{
if(RNA_struct_is_a(type, &RNA_Action)) return ID_AC;
@@ -365,6 +377,7 @@ static void rna_def_ID(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Name", "Unique datablock ID name.");
RNA_def_property_string_funcs(prop, "rna_ID_name_get", "rna_ID_name_length", "rna_ID_name_set");
RNA_def_property_string_maxlength(prop, sizeof(((ID*)NULL)->name)-2);
+ RNA_def_property_editable_func(prop, "rna_ID_name_editable");
RNA_def_property_update(prop, NC_ID|NA_RENAME, NULL);
RNA_def_struct_name_property(srna, prop);
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index d3a56661813..98c2963a110 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -73,7 +73,7 @@ static StructRNA *rna_Curve_refine(PointerRNA *ptr)
{
Curve *cu= (Curve*)ptr->data;
short obtype= curve_type(cu);
-
+
if(obtype == OB_FONT) return &RNA_TextCurve;
else if(obtype == OB_SURF) return &RNA_SurfaceCurve;
else return &RNA_Curve;
@@ -634,6 +634,7 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
prop= RNA_def_property(srna, "font", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfont");
RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
prop= RNA_def_property(srna, "edit_format", PROP_POINTER, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_vfont.c b/source/blender/makesrna/intern/rna_vfont.c
index aa2aaaf6342..db576207eae 100644
--- a/source/blender/makesrna/intern/rna_vfont.c
+++ b/source/blender/makesrna/intern/rna_vfont.c
@@ -43,7 +43,7 @@ void RNA_def_vfont(BlenderRNA *brna)
srna= RNA_def_struct(brna, "VectorFont", "ID");
RNA_def_struct_ui_text(srna, "Vector Font", "Vector font for Text objects.");
RNA_def_struct_sdna(srna, "VFont");
- RNA_def_struct_ui_icon(srna, ICON_FONT_DATA);
+ RNA_def_struct_ui_icon(srna, ICON_FILE_FONT);
prop= RNA_def_property(srna, "filename", PROP_STRING, PROP_FILEPATH);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);