[Bf-blender-cvs] [9aef2d961da] blender2.8: UI: add weight paint brushes to toolbar
Campbell Barton
noreply at git.blender.org
Mon Apr 30 16:08:23 CEST 2018
Commit: 9aef2d961da7668e6984719856832f6136a2a8ce
Author: Campbell Barton
Date: Mon Apr 30 16:06:51 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB9aef2d961da7668e6984719856832f6136a2a8ce
UI: add weight paint brushes to toolbar
===================================================================
M release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M release/scripts/startup/bl_ui/space_topbar.py
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index db22b02b41b..8aba8daa5f5 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -203,33 +203,6 @@ class _defs_view3d_select:
# -----------------------------------------------------------------------------
# Object Modes (named based on context.mode)
-class _defs_weight_paint:
-
- @ToolDef.from_fn
- def gradient_linear():
- return dict(
- text="Linear Gradient",
- icon=None,
- widget=None,
- keymap=(
- ("paint.weight_gradient", dict(type='LINEAR'),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ),
- )
-
- @ToolDef.from_fn
- def gradient_radial():
- return dict(
- text="Radial Gradient",
- icon=None,
- widget=None,
- keymap=(
- ("paint.weight_gradient",
- dict(type='RADIAL'),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ),
- )
-
class _defs_edit_armature:
@ToolDef.from_fn
@@ -571,13 +544,14 @@ class _defs_sculpt:
)
)
-class _defs_vertexpaint:
+
+class _defs_vertex_paint:
@staticmethod
def generate_from_brushes(context):
return generate_from_brushes_ex(
context,
- icon_prefix="brush.vertexpaint.",
+ icon_prefix="brush.paint_vertex.",
brush_test_attr="use_paint_vertex",
brush_category_attr="vertex_tool",
brush_category_layout=(
@@ -594,6 +568,54 @@ class _defs_vertexpaint:
)
+class _defs_weight_paint:
+
+ @staticmethod
+ def generate_from_brushes(context):
+ return generate_from_brushes_ex(
+ context,
+ icon_prefix="brush.paint_weight.",
+ brush_test_attr="use_paint_weight",
+ brush_category_attr="vertex_tool",
+ brush_category_layout=(
+ ('MIX',),
+ ('BLUR', 'AVERAGE'),
+ ('SMEAR',),
+ (
+ 'ADD', 'SUB', 'MUL', 'LIGHTEN', 'DARKEN',
+ 'COLORDODGE', 'DIFFERENCE', 'SCREEN', 'HARDLIGHT',
+ 'OVERLAY', 'SOFTLIGHT', 'EXCLUSION', 'LUMINOCITY',
+ 'SATURATION', 'HUE',
+ ),
+ )
+ )
+
+ @ToolDef.from_fn
+ def gradient_linear():
+ return dict(
+ text="Linear Gradient",
+ icon=None,
+ widget=None,
+ keymap=(
+ ("paint.weight_gradient", dict(type='LINEAR'),
+ dict(type='EVT_TWEAK_A', value='ANY')),
+ ),
+ )
+
+ @ToolDef.from_fn
+ def gradient_radial():
+ return dict(
+ text="Radial Gradient",
+ icon=None,
+ widget=None,
+ keymap=(
+ ("paint.weight_gradient",
+ dict(type='RADIAL'),
+ dict(type='EVT_TWEAK_A', value='ANY')),
+ ),
+ )
+
+
class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'TOOLS'
@@ -653,15 +675,6 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
*_tools_select,
*_tools_transform,
],
- 'PAINT_WEIGHT': [
- *_tools_select,
-
- # TODO, override brush events
- (
- _defs_weight_paint.gradient_linear,
- _defs_weight_paint.gradient_radial,
- ),
- ],
'EDIT_ARMATURE': [
*_tools_select,
None,
@@ -735,7 +748,17 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_sculpt.generate_from_brushes,
],
'PAINT_VERTEX': [
- _defs_vertexpaint.generate_from_brushes,
+ _defs_vertex_paint.generate_from_brushes,
+ ],
+ 'PAINT_WEIGHT': [
+ *_tools_select,
+
+ # TODO, override brush events
+ _defs_weight_paint.generate_from_brushes,
+ (
+ _defs_weight_paint.gradient_linear,
+ _defs_weight_paint.gradient_radial,
+ ),
],
}
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 9c0acfd7a6a..458dc571bbb 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -150,7 +150,8 @@ class TOPBAR_HT_lower_bar(Header):
layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context=".dummy", category="")
layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context=".vertexpaint", category="")
elif mode == 'PAINT_WEIGHT':
- layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context=".dummy", category="")
+ layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context="", category="")
+ layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context=".weightpaint", category="")
elif mode == 'PAINT_TEXTURE':
layout.popover_group(space_type='VIEW_3D', region_type='TOOLS', context="", category="")
@@ -203,6 +204,18 @@ class _draw_left_context_mode:
UnifiedPaintPanel.prop_unified_size(layout, context, brush, "size", slider=True, text="Radius")
UnifiedPaintPanel.prop_unified_strength(layout, context, brush, "strength", slider=True, text="Strength")
+ def PAINT_WEIGHT(context, layout):
+ brush = context.tool_settings.weight_paint.brush
+ if brush is None:
+ return
+
+ from .properties_paint_common import UnifiedPaintPanel
+
+ layout.prop(brush, "weight")
+ UnifiedPaintPanel.prop_unified_size(layout, context, brush, "size", slider=True, text="Radius")
+ UnifiedPaintPanel.prop_unified_strength(layout, context, brush, "strength", slider=True, text="Strength")
+
+
class TOPBAR_PT_redo(Panel):
bl_label = "Redo"
bl_space_type = 'TOPBAR'
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 577cd465ff1..5e39be27021 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1050,7 +1050,7 @@ class VIEW3D_PT_tools_brush_appearance(Panel, View3DPaintPanel):
class VIEW3D_PT_tools_weightpaint_symmetry(Panel, View3DPaintPanel):
bl_category = "Tools"
- bl_context = "weightpaint"
+ bl_context = ".weightpaint"
bl_options = {'DEFAULT_CLOSED'}
bl_label = "Symmetry"
@@ -1063,7 +1063,7 @@ class VIEW3D_PT_tools_weightpaint_symmetry(Panel, View3DPaintPanel):
class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel):
bl_category = "Options"
- bl_context = "weightpaint"
+ bl_context = ".weightpaint"
bl_label = "Options"
def draw(self, context):
More information about the Bf-blender-cvs
mailing list