Fix T39563: Tiny unit-display problem in constraint panels.
[blender.git] / source / blender / makesrna / intern / rna_constraint.c
index c0ad4fecc393bf3e1cc413c74dc89a618236ba93..6d6ea80fec8010e9c71c7f26b2a20b7c54a8628f 100644 (file)
@@ -1581,9 +1581,9 @@ static void rna_def_constraint_transform(BlenderRNA *brna)
        PropertyRNA *prop;
 
        static EnumPropertyItem transform_items[] = {
-               {0, "LOCATION", 0, "Loc", ""},
-               {1, "ROTATION", 0, "Rot", ""},
-               {2, "SCALE", 0, "Scale", ""},
+               {TRANS_LOCATION, "LOCATION", 0, "Loc", ""},
+               {TRANS_ROTATION, "ROTATION", 0, "Rot", ""},
+               {TRANS_SCALE, "SCALE", 0, "Scale", ""},
                {0, NULL, 0, NULL, NULL}
        };
 
@@ -1644,6 +1644,7 @@ static void rna_def_constraint_transform(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Extrapolate Motion", "Extrapolate ranges");
        RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
 
+       /* Loc */
        prop = RNA_def_property(srna, "from_min_x", PROP_FLOAT, PROP_DISTANCE);
        RNA_def_property_float_sdna(prop, NULL, "from_min[0]");
        RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
@@ -1715,6 +1716,152 @@ static void rna_def_constraint_transform(BlenderRNA *brna)
        RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
        RNA_def_property_ui_text(prop, "To Maximum Z", "Top range of Z axis destination motion");
        RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       /* Rot */
+       prop = RNA_def_property(srna, "from_min_x_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[0]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum X", "Bottom range of X axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_min_y_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[1]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum Y", "Bottom range of Y axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_min_z_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[2]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum Z", "Bottom range of Z axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_x_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[0]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum X", "Top range of X axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_y_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[1]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum Y", "Top range of Y axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_z_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[2]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum Z", "Top range of Z axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_x_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[0]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum X", "Bottom range of X axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_y_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[1]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum Y", "Bottom range of Y axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_z_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[2]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum Z", "Bottom range of Z axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_x_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[0]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum X", "Top range of X axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_y_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[1]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum Y", "Top range of Y axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_z_rot", PROP_FLOAT, PROP_ANGLE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[2]");
+       RNA_def_property_ui_range(prop, DEG2RADF(-180.0f), DEG2RADF(180.0f), 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum Z", "Top range of Z axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       /* Scale */
+       prop = RNA_def_property(srna, "from_min_x_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[0]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum X", "Bottom range of X axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_min_y_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[1]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum Y", "Bottom range of Y axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_min_z_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_min[2]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Minimum Z", "Bottom range of Z axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_x_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[0]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum X", "Top range of X axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_y_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[1]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum Y", "Top range of Y axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "from_max_z_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "from_max[2]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "From Maximum Z", "Top range of Z axis source motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_x_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[0]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum X", "Bottom range of X axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_y_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[1]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum Y", "Bottom range of Y axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_min_z_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_min[2]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Minimum Z", "Bottom range of Z axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_x_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[0]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum X", "Top range of X axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_y_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[1]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum Y", "Top range of Y axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
+
+       prop = RNA_def_property(srna, "to_max_z_scale", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "to_max[2]");
+       RNA_def_property_ui_range(prop, -1000.0f, 1000.0f, 10, 3);
+       RNA_def_property_ui_text(prop, "To Maximum Z", "Top range of Z axis destination motion");
+       RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update");
 }
 
 static void rna_def_constraint_location_limit(BlenderRNA *brna)