Revision: 19018 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19018 Author: blendix Date: 2009-02-17 22:07:01 +0100 (Tue, 17 Feb 2009)
Log Message: ----------- RNA: * Added Particle wrapping patch by Roelf de Kock. It's not complete yet and I haven't reviewed it, but committing anyway, will get to it later. * Added "Percentage" subtype for floats. Doesn't really do much besides making auto rna buttons into sliders rather than numeric inputs, but can later display in % rather than 0.0-1.0. Modified Paths: -------------- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c branches/blender2.5/blender/source/blender/makesrna/RNA_define.h branches/blender2.5/blender/source/blender/makesrna/RNA_types.h branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_main.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_particle.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_rna.c Modified: branches/blender2.5/blender/source/blender/editors/curve/editcurve.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/curve/editcurve.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -1077,7 +1077,7 @@ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; /* properties */ - RNA_def_float(ot->srna, "weight", 1.0f, 0.0f, 1.0f, "Weight", "", 0.0f, 1.0f); + RNA_def_float_percentage(ot->srna, "weight", 1.0f, 0.0f, 1.0f, "Weight", "", 0.0f, 1.0f); } /******************* set radius operator ******************/ @@ -4195,7 +4195,7 @@ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; /* properties */ - RNA_def_float(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f); + RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f); } /********************** select every nth *********************/ Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -249,6 +249,8 @@ if(RNA_property_subtype(ptr, prop) == PROP_COLOR) but= uiDefButR(block, COL, 0, name, x1, y1, x2, y2, ptr, propname, 0, 0, 0, -1, -1, NULL); } + else if(RNA_property_subtype(ptr, prop) == PROP_PERCENTAGE) + but= uiDefButR(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL); else but= uiDefButR(block, NUM, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL); break; Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -3448,10 +3448,10 @@ ot->poll= ED_operator_editmesh; /* flags */ - ot->flag= OPTYPE_REGISTER/*|OPTYPE_UNDO*/; + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; /* props */ - RNA_def_float(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f); + RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f); } void editmesh_select_by_material(EditMesh *em, int index) Modified: branches/blender2.5/blender/source/blender/editors/object/object_edit.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -1770,7 +1770,7 @@ { float percent; - percent = RNA_float_get(op->ptr, "percent") / 100.0f; + percent = RNA_float_get(op->ptr, "percent"); CTX_DATA_BEGIN(C, Base*, base, visible_bases) { if ((!base->flag & SELECT && BLI_frand() < percent)) { @@ -1798,7 +1798,7 @@ /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; - RNA_def_float(ot->srna, "percent", 50.0f, 0.0f, 100.0f, "Percent", "percentage of objects to randomly select", 0.01f, 100.0f); + RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "percentage of objects to randomly select", 0.0001f, 1.0f); } /* ******** Clear object Translation *********** */ Modified: branches/blender2.5/blender/source/blender/editors/space_image/space_image.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/space_image/space_image.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/space_image/space_image.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -282,8 +282,6 @@ float x1, y1, w, h; int width, height, winx, winy; - ED_space_image_size(sima, &width, &height); - #if 0 if(image_preview_active(curarea, &width, &height)); #endif @@ -293,15 +291,19 @@ ED_image_aspect(sima->image, &xuser_asp, &yuser_asp); if(ibuf) { - width= ibuf->x * xuser_asp; - width= ibuf->y * yuser_asp; + width= ibuf->x*xuser_asp; + height= ibuf->y*yuser_asp; } - else if( sima->image->type==IMA_TYPE_R_RESULT ) { + else if(sima->image->type==IMA_TYPE_R_RESULT) { /* not very important, just nice */ width= (scene->r.xsch*scene->r.size)/100; height= (scene->r.ysch*scene->r.size)/100; } + else + ED_space_image_size(sima, &width, &height); } + else + ED_space_image_size(sima, &width, &height); w= width; h= height; Modified: branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -390,7 +390,7 @@ /* properties */ RNA_def_boolean(ot->srna, "fill_holes", 1, "Fill Holes", "Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry."); - RNA_def_float(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", "Blend factor between stretch minimized and original.", 0.0f, 1.0f); + RNA_def_float_percentage(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", "Blend factor between stretch minimized and original.", 0.0f, 1.0f); RNA_def_int(ot->srna, "iterations", 0, 0, INT_MAX, "Iterations", "Number of iterations to run, 0 is unlimited when run interactively.", 0, 100); } Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_define.h =================================================================== --- branches/blender2.5/blender/source/blender/makesrna/RNA_define.h 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/makesrna/RNA_define.h 2009-02-17 21:07:01 UTC (rev 19018) @@ -87,6 +87,8 @@ float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax); PropertyRNA *RNA_def_float_array(StructRNA *srna, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax); +PropertyRNA *RNA_def_float_percentage(StructRNA *srna, const char *identifier, float default_value, float hardmin, float hardmax, + const char *ui_name, const char *ui_description, float softmin, float softmax); PropertyRNA *RNA_def_pointer_runtime(StructRNA *srna, const char *identifier, StructRNA *type, const char *ui_name, const char *ui_description); Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_types.h =================================================================== --- branches/blender2.5/blender/source/blender/makesrna/RNA_types.h 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/makesrna/RNA_types.h 2009-02-17 21:07:01 UTC (rev 19018) @@ -67,7 +67,8 @@ PROP_VECTOR = 5, PROP_MATRIX = 6, PROP_ROTATION = 7, - PROP_NEVER_NULL = 8 + PROP_NEVER_NULL = 8, + PROP_PERCENTAGE = 9 } PropertySubType; typedef enum PropertyFlag { Modified: branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c =================================================================== --- branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -959,6 +959,7 @@ case PROP_MATRIX: return "PROP_MATRIX"; case PROP_ROTATION: return "PROP_ROTATION"; case PROP_NEVER_NULL: return "PROP_NEVER_NULL"; + case PROP_PERCENTAGE: return "PROP_PERCENTAGE"; default: return "PROP_UNKNOWN"; } } Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c =================================================================== --- branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -75,6 +75,7 @@ case ID_NT: return &RNA_NodeTree; case ID_ME: return &RNA_Mesh; case ID_OB: return &RNA_Object; + case ID_PA: return &RNA_ParticleSettings; case ID_SCE: return &RNA_Scene; case ID_SCR: return &RNA_Screen; case ID_SO: return &RNA_Sound; Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c =================================================================== --- branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c 2009-02-17 20:37:23 UTC (rev 19017) +++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c 2009-02-17 21:07:01 UTC (rev 19018) @@ -584,6 +584,10 @@ fprop->softmin= 0.0f; fprop->softmax= 1.0f; } + else if(subtype == PROP_PERCENTAGE) { + fprop->softmin= fprop->hardmin= 0.0f; + fprop->softmax= fprop->hardmax= 1.0f; + } else { fprop->softmin= (subtype == PROP_UNSIGNED)? 0.0f: -10000.0f; /* rather arbitrary .. */ fprop->softmax= 10000.0f; @@ -1712,6 +1716,20 @@ return prop; } +PropertyRNA *RNA_def_float_percentage(StructRNA *srna, const char *identifier, float default_value, + float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax) +{ + PropertyRNA *prop; + + prop= RNA_def_property(srna, identifier, PROP_FLOAT, PROP_PERCENTAGE); + RNA_def_property_float_default(prop, default_value); + if(hardmin != hardmax) RNA_def_property_range(prop, hardmin, hardmax); + RNA_def_property_ui_text(prop, ui_name, ui_description); + RNA_def_property_ui_range(prop, softmin, softmax, 1, 3); + + return prop; +} + PropertyRNA *RNA_def_pointer_runtime(StructRNA *srna, const char *identifier, StructRNA *type, @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs