diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/space_toolsystem_toolbar.py')
-rw-r--r-- | release/scripts/startup/bl_ui/space_toolsystem_toolbar.py | 131 |
1 files changed, 120 insertions, 11 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index 5c6ca13776e..02abbd43986 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -1,7 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later -# <pep8 compliant> - # For documentation on tool definitions: see "bl_ui.space_toolsystem_common.ToolDef" # where there are comments for each field and their use. @@ -263,9 +261,15 @@ class _defs_annotate: class _defs_transform: + def draw_transform_sculpt_tool_settings(context, layout): + if context.mode != 'SCULPT': + return + layout.prop(context.tool_settings.sculpt, "transform_mode") + @ToolDef.from_fn def translate(): def draw_settings(context, layout, _tool): + _defs_transform.draw_transform_sculpt_tool_settings(context, layout) _template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 1) return dict( idname="builtin.move", @@ -281,6 +285,7 @@ class _defs_transform: @ToolDef.from_fn def rotate(): def draw_settings(context, layout, _tool): + _defs_transform.draw_transform_sculpt_tool_settings(context, layout) _template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 2) return dict( idname="builtin.rotate", @@ -296,6 +301,7 @@ class _defs_transform: @ToolDef.from_fn def scale(): def draw_settings(context, layout, _tool): + _defs_transform.draw_transform_sculpt_tool_settings(context, layout) _template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 3) return dict( idname="builtin.scale", @@ -351,6 +357,7 @@ class _defs_transform: props = tool.gizmo_group_properties("VIEW3D_GGT_xform_gizmo") layout.prop(props, "drag_action") + _defs_transform.draw_transform_sculpt_tool_settings(context, layout) _template_widget.VIEW3D_GGT_xform_gizmo.draw_settings_with_index(context, layout, 1) return dict( @@ -2316,14 +2323,103 @@ class _defs_gpencil_weight: class _defs_curves_sculpt: - @staticmethod - def generate_from_brushes(context): - return generate_from_enum_ex( - context, - idname_prefix="builtin_brush.", - icon_prefix="ops.curves.sculpt_", - type=bpy.types.Brush, - attr="curves_sculpt_tool", + @ToolDef.from_fn + def selection_paint(): + return dict( + idname="builtin_brush.selection_paint", + label="Selection Paint", + icon="ops.generic.select_paint", + data_block="SELECTION_PAINT" + ) + + @ToolDef.from_fn + def comb(): + return dict( + idname="builtin_brush.comb", + label="Comb", + icon="ops.curves.sculpt_comb", + data_block='COMB' + ) + + @ToolDef.from_fn + def add(): + return dict( + idname="builtin_brush.add", + label="Add", + icon="ops.curves.sculpt_add", + data_block='ADD' + ) + + @ToolDef.from_fn + def delete(): + return dict( + idname="builtin_brush.delete", + label="Delete", + icon="ops.curves.sculpt_delete", + data_block='DELETE' + ) + + @ToolDef.from_fn + def snake_hook(): + return dict( + idname="builtin_brush.snake_hook", + label="Snake Hook", + icon="ops.curves.sculpt_snake_hook", + data_block='SNAKE_HOOK' + ) + + @ToolDef.from_fn + def grow_shrink(): + return dict( + idname="builtin_brush.grow_shrink", + label="Grow/Shrink", + icon="ops.curves.sculpt_grow_shrink", + data_block='GROW_SHRINK' + ) + + @ToolDef.from_fn + def pinch(): + return dict( + idname="builtin_brush.pinch", + label="Pinch", + icon="ops.curves.sculpt_pinch", + data_block='PINCH' + ) + + @ToolDef.from_fn + def smooth(): + return dict( + idname="builtin_brush.smooth", + label="Smooth", + icon="ops.curves.sculpt_smooth", + data_block='SMOOTH' + ) + + @ToolDef.from_fn + def puff(): + return dict( + idname="builtin_brush.puff", + label="Puff", + icon="ops.curves.sculpt_puff", + data_block='PUFF' + ) + + @ToolDef.from_fn + def density(): + return dict( + idname="builtin_brush.density", + label="Density", + icon="ops.curves.sculpt_density", + data_block="DENSITY" + ) + + @ToolDef.from_fn + def slide(): + return dict( + idname="builtin_brush.slide", + label="Slide", + icon="ops.curves.sculpt_slide", + data_block="SLIDE" ) @@ -3076,7 +3172,20 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): ), ], 'SCULPT_CURVES': [ - _defs_curves_sculpt.generate_from_brushes, + _defs_curves_sculpt.selection_paint, + None, + _defs_curves_sculpt.comb, + _defs_curves_sculpt.add, + _defs_curves_sculpt.delete, + _defs_curves_sculpt.snake_hook, + _defs_curves_sculpt.grow_shrink, + _defs_curves_sculpt.pinch, + _defs_curves_sculpt.smooth, + _defs_curves_sculpt.puff, + _defs_curves_sculpt.density, + _defs_curves_sculpt.slide, + None, + *_tools_annotate, ], } |