diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 3b6bd2255f2..1f1caeaa9b5 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -471,7 +471,8 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna) /* number values */ prop= RNA_def_property(srna, "text_size", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "fsize"); - RNA_def_property_range(prop, 0.1f, 10.0f); + RNA_def_property_range(prop, 0.0001f, 10000.0f); + RNA_def_property_ui_range(prop, 0.01, 10, 1, 1); RNA_def_property_ui_text(prop, "Font size", ""); RNA_def_property_update(prop, 0, "rna_Curve_update_data"); diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 611585c8809..46885b89f2c 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -508,6 +508,32 @@ static void rna_Object_rotation_mode_set(PointerRNA *ptr, int value) ob->rotmode= value; } +/* not called directly */ +static void rna_Object_scale_linked_set(Object *ob, float value, int axis) +{ + if(ob->size[axis]==0.0f || value==0.0f) { + ob->size[0]= ob->size[1]= ob->size[2]= value; + } + else { + VecMulf(ob->size, value / ob->size[axis]); + } +} + +static void rna_Object_scale_x_linked_set(PointerRNA *ptr, float value) +{ + rna_Object_scale_linked_set(ptr->data, value, 0); +} +static void rna_Object_scale_y_linked_set(PointerRNA *ptr, float value) +{ + rna_Object_scale_linked_set(ptr->data, value, 1); +} +static void rna_Object_scale_z_linked_set(PointerRNA *ptr, float value) +{ + rna_Object_scale_linked_set(ptr->data, value, 2); +} + + + static PointerRNA rna_MaterialSlot_material_get(PointerRNA *ptr) { Object *ob= (Object*)ptr->id.data; @@ -1276,6 +1302,26 @@ static void rna_def_object(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Scale", "Scaling of the object."); RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update"); + /* linked scale for the transform panel */ + prop= RNA_def_property(srna, "scale_linked_x", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "size[0]"); + RNA_def_property_float_funcs(prop, NULL, "rna_Object_scale_x_linked_set", NULL); + RNA_def_property_ui_text(prop, "Scale X", "Scaling of the objects X axis."); + RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update"); + + prop= RNA_def_property(srna, "scale_linked_y", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "size[1]"); + RNA_def_property_float_funcs(prop, NULL, "rna_Object_scale_y_linked_set", NULL); + RNA_def_property_ui_text(prop, "Scale Y", "Scaling of the objects X axis."); + RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update"); + + prop= RNA_def_property(srna, "scale_linked_z", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "size[2]"); + RNA_def_property_float_funcs(prop, NULL, "rna_Object_scale_z_linked_set", NULL); + RNA_def_property_ui_text(prop, "Scale Z", "Scaling of the objects Z axis."); + RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_update"); + + /* delta transforms */ prop= RNA_def_property(srna, "delta_location", PROP_FLOAT, PROP_TRANSLATION); RNA_def_property_float_sdna(prop, NULL, "dloc"); @@ -1494,25 +1540,27 @@ static void rna_def_object(BlenderRNA *brna) prop= RNA_def_property(srna, "dupli_frames_start", PROP_INT, PROP_NONE|PROP_UNIT_TIME); RNA_def_property_int_sdna(prop, NULL, "dupsta"); - RNA_def_property_range(prop, 1, 32767); + RNA_def_property_range(prop, -MAXFRAME, MAXFRAME); RNA_def_property_ui_text(prop, "Dupli Frames Start", "Start frame for DupliFrames."); RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update"); prop= RNA_def_property(srna, "dupli_frames_end", PROP_INT, PROP_NONE|PROP_UNIT_TIME); RNA_def_property_int_sdna(prop, NULL, "dupend"); - RNA_def_property_range(prop, 1, 32767); + RNA_def_property_range(prop, -MAXFRAME, MAXFRAME); RNA_def_property_ui_text(prop, "Dupli Frames End", "End frame for DupliFrames."); RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update"); prop= RNA_def_property(srna, "dupli_frames_on", PROP_INT, PROP_NONE|PROP_UNIT_TIME); RNA_def_property_int_sdna(prop, NULL, "dupon"); - RNA_def_property_range(prop, 1, 1500); + RNA_def_property_range(prop, 1, MAXFRAME); + RNA_def_property_ui_range(prop, 1, 1500, 1, 0); RNA_def_property_ui_text(prop, "Dupli Frames On", "Number of frames to use between DupOff frames."); RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update"); prop= RNA_def_property(srna, "dupli_frames_off", PROP_INT, PROP_NONE|PROP_UNIT_TIME); RNA_def_property_int_sdna(prop, NULL, "dupoff"); - RNA_def_property_range(prop, 0, 1500); + RNA_def_property_range(prop, 0, MAXFRAME); + RNA_def_property_ui_range(prop, 0, 1500, 1, 0); RNA_def_property_ui_text(prop, "Dupli Frames Off", "Recurring frames to exclude from the Dupliframes."); RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_update"); diff --git a/source/blender/makesrna/intern/rna_sequence.c b/source/blender/makesrna/intern/rna_sequence.c index 9404fb775c3..c48031d51b3 100644 --- a/source/blender/makesrna/intern/rna_sequence.c +++ b/source/blender/makesrna/intern/rna_sequence.c @@ -548,7 +548,7 @@ static void rna_def_sequence(BlenderRNA *brna) /* functions */ func= RNA_def_function(srna, "getStripElem", "give_stripelem"); RNA_def_function_ui_description(func, "Return the strip element from a given frame or None."); - prop= RNA_def_int(func, "frame", 0, INT_MIN, INT_MAX, "Frame", "The frame to get the strip element from", INT_MIN, INT_MAX); + prop= RNA_def_int(func, "frame", 0, -MAXFRAME, MAXFRAME, "Frame", "The frame to get the strip element from", -MAXFRAME, MAXFRAME); RNA_def_property_flag(prop, PROP_REQUIRED); RNA_def_function_return(func, RNA_def_pointer(func, "elem", "SequenceElement", "", "strip element of the current frame")); } diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c index a1b412c70f4..303511a2dca 100644 --- a/source/blender/makesrna/intern/rna_ui.c +++ b/source/blender/makesrna/intern/rna_ui.c @@ -343,7 +343,6 @@ static void menu_draw(const bContext *C, Menu *hdr) static void rna_Menu_unregister(const bContext *C, StructRNA *type) { - ARegionType *art; MenuType *mt= RNA_struct_blender_type_get(type); if(!mt) @@ -362,7 +361,6 @@ static void rna_Menu_unregister(const bContext *C, StructRNA *type) static StructRNA *rna_Menu_register(const bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) { - ARegionType *art; MenuType *mt, dummymt = {0}; Menu dummymenu= {0}; PointerRNA dummymtr;