diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-11-21 13:06:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-11-21 14:45:15 +0300 |
commit | f4a4ec84255a5f3a8d5566b1817114d2231be215 (patch) | |
tree | c67257d1e71f86ca0ac263cb73e10c480bb10cc2 /release | |
parent | 20620afc33cacd11429045f94ce27a8bc297c456 (diff) |
Tool System: make smooth & randomize modal operators
Previously these used a gizmo to redo the operator however this
complicated having on-screen gizmos to access tools (see T66304).
Replace this with a generic way to make an operator that only has an
execute function into a modal operator.
This is used for smooth and randomize tools.
Unlike operator gestures, this handles storing and resetting the data.
Currently this only handles edit-mode data, however it's can be
extended to other kinds of data.
Diffstat (limited to 'release')
3 files changed, 10 insertions, 4 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index f86b017806f..6b7fcccdcbb 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -5527,7 +5527,7 @@ def km_3d_view_tool_edit_mesh_smooth(params): {"space_type": 'VIEW_3D', "region_type": 'WINDOW'}, {"items": [ ("mesh.vertices_smooth", {"type": params.tool_tweak, "value": 'ANY'}, - {"properties": [("factor", 0.0)]}), + {"properties": [("factor", 0.0), ("wait_for_input", False)]}), ]}, ) @@ -5538,7 +5538,7 @@ def km_3d_view_tool_edit_mesh_randomize(params): {"space_type": 'VIEW_3D', "region_type": 'WINDOW'}, {"items": [ ("transform.vertex_random", {"type": params.tool_tweak, "value": 'ANY'}, - {"properties": [("offset", 0.0)]}), + {"properties": [("offset", 0.0), ("wait_for_input", False)]}), ]}, ) diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index 7d6ca5c9557..b431a50cb8a 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -698,7 +698,7 @@ class _defs_edit_mesh: idname="builtin.smooth", label="Smooth", icon="ops.mesh.vertices_smooth", - widget="WM_GGT_value_operator_redo", + widget=None, keymap=(), draw_settings=draw_settings, ) @@ -714,7 +714,7 @@ class _defs_edit_mesh: idname="builtin.randomize", label="Randomize", icon="ops.transform.vertex_random", - widget="WM_GGT_value_operator_redo", + widget=None, keymap=(), draw_settings=draw_settings, ) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index fce79fc115a..02015aee757 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -830,7 +830,9 @@ class VIEW3D_MT_transform_base(Menu): if context.mode != 'OBJECT': layout.operator("transform.vertex_warp", text="Warp") + layout.operator_context = 'EXEC_DEFAULT' layout.operator("transform.vertex_random", text="Randomize") + layout.operator_context = 'INVOKE_REGION_WIN' # Generic transform menu - geometry types @@ -3425,8 +3427,10 @@ class VIEW3D_MT_edit_mesh_context_menu(Menu): col.operator("transform.shrink_fatten", text="Shrink/Fatten") col.operator("transform.shear", text="Shear") col.operator("transform.vert_slide", text="Slide Vertices") + col.operator_context = 'EXEC_DEFAULT' col.operator("transform.vertex_random", text="Randomize Vertices") col.operator("mesh.vertices_smooth", text="Smooth Vertices") + col.operator_context = 'INVOKE_REGION_WIN' col.operator("mesh.vertices_smooth_laplacian", text="Smooth Laplacian") col.separator() @@ -3640,7 +3644,9 @@ class VIEW3D_MT_edit_mesh_vertices(Menu): layout.separator() layout.operator("transform.vert_slide", text="Slide Vertices") + layout.operator_context = 'EXEC_DEFAULT' layout.operator("mesh.vertices_smooth", text="Smooth Vertices") + layout.operator_context = 'INVOKE_REGION_WIN' layout.separator() |