Commit: 321c8232bc240a0e86a3fa2ed1a3f8871d53d8aa Author: Campbell Barton Date: Thu Oct 18 13:55:01 2018 +1100 Branches: blender2.8 https://developer.blender.org/rB321c8232bc240a0e86a3fa2ed1a3f8871d53d8aa
Tool System: expose shear tool x/y option =================================================================== M release/scripts/startup/bl_ui/space_toolsystem_toolbar.py M source/blender/editors/transform/transform.c M source/blender/editors/transform/transform_gizmo_3d.c M source/blender/editors/transform/transform_ops.c =================================================================== diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index eadd8145f0c..26a93866b7c 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -831,6 +831,10 @@ class _defs_edit_mesh: @ToolDef.from_fn def shear(): + def draw_settings(context, layout, tool): + props = tool.operator_properties("transform.shear") + layout.label(text="View Axis:") + layout.prop(props, "shear_axis", expand=True) return dict( text="Shear", icon="ops.transform.shear", @@ -839,6 +843,7 @@ class _defs_edit_mesh: ("transform.shear", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')), ), + draw_settings=draw_settings, ) @ToolDef.from_fn diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index d5f0502f8bc..6dad6e96819 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -2255,6 +2255,12 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) if ((prop = RNA_struct_find_property(op->ptr, "correct_uv"))) { RNA_property_boolean_set(op->ptr, prop, (t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) != 0); } + + if (t->mode == TFM_SHEAR) { + prop = RNA_struct_find_property(op->ptr, "shear_axis"); + t->custom.mode.data = POINTER_FROM_INT(RNA_property_enum_get(op->ptr, prop)); + RNA_property_enum_set(op->ptr, prop, POINTER_AS_INT(t->custom.mode.data)); + } } /** @@ -2477,6 +2483,8 @@ bool initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve initToSphere(t); break; case TFM_SHEAR: + prop = RNA_struct_find_property(op->ptr, "shear_axis"); + t->custom.mode.data = POINTER_FROM_INT(RNA_property_enum_get(op->ptr, prop)); initShear(t); break; case TFM_BEND: diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c index 4c1be88904d..480fe3429e0 100644 --- a/source/blender/editors/transform/transform_gizmo_3d.c +++ b/source/blender/editors/transform/transform_gizmo_3d.c @@ -2003,6 +2003,7 @@ static void WIDGETGROUP_xform_shear_setup(const bContext *UNUSED(C), wmGizmoGrou interp_v3_v3v3(gz->color, axis_color[i_ortho_a], axis_color[i_ortho_b], 0.75f); gz->color[3] = 0.5f; PointerRNA *ptr = WM_gizmo_operator_set(gz, 0, ot_shear, NULL); + RNA_enum_set(ptr, "shear_axis", 0); RNA_boolean_set(ptr, "release_confirm", 1); xgzgroup->gizmo[i][j] = gz; } diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index 9d928027882..1d4b112c597 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -839,6 +839,7 @@ static void TRANSFORM_OT_shear(struct wmOperatorType *ot) ot->poll_property = transform_poll_property; RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Offset", "", -FLT_MAX, FLT_MAX); + RNA_def_enum(ot->srna, "shear_axis", rna_enum_axis_xy_items, 0, "Shear Axis", ""); WM_operatortype_props_advanced_begin(ot); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs