[Bf-blender-cvs] [bdf78435714] master: UI: Make Brush Display panel consistent between Image Editor and 3D View texture painting
William Reynish
noreply at git.blender.org
Tue Mar 19 19:03:53 CET 2019
Commit: bdf78435714819d36dcc0b36b693c390ab5cb1db
Author: William Reynish
Date: Tue Mar 19 19:03:51 2019 +0100
Branches: master
https://developer.blender.org/rBbdf78435714819d36dcc0b36b693c390ab5cb1db
UI: Make Brush Display panel consistent between Image Editor and 3D View texture painting
-Slightly simplify in both places too
===================================================================
M release/scripts/startup/bl_ui/space_image.py
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index c9684c95130..aa782278071 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -997,6 +997,9 @@ class IMAGE_PT_tools_brush_display(BrushButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
tool_settings = context.tool_settings.image_paint
brush = tool_settings.brush
tex_slot = brush.texture_slot
@@ -1004,52 +1007,98 @@ class IMAGE_PT_tools_brush_display(BrushButtonsPanel, Panel):
col = layout.column()
- col.label(text="Curve:")
-
row = col.row(align=True)
- row.prop(
- brush,
- "use_cursor_overlay",
- text="",
- toggle=True,
- icon='RESTRICT_VIEW_ON' if brush.use_cursor_overlay else 'RESTRICT_VIEW_OFF',
- )
sub = row.row(align=True)
- sub.prop(brush, "cursor_overlay_alpha", text="Alpha")
+ sub.prop(brush, "cursor_overlay_alpha", text="Curve Alpha")
sub.prop(brush, "use_cursor_overlay_override", toggle=True, text="", icon='BRUSH_DATA')
+ row.prop(
+ brush, "use_cursor_overlay", text="", toggle=True,
+ icon='HIDE_OFF' if brush.use_cursor_overlay else 'HIDE_ON',
+ )
col.active = brush.brush_capabilities.has_overlay
- col.label(text="Texture:")
+
row = col.row(align=True)
- if tex_slot.map_mode != 'STENCIL':
- row.prop(
- brush,
- "use_primary_overlay",
- text="",
- toggle=True,
- icon='RESTRICT_VIEW_ON' if brush.use_primary_overlay else 'RESTRICT_VIEW_OFF',
- )
sub = row.row(align=True)
- sub.prop(brush, "texture_overlay_alpha", text="Alpha")
+ sub.prop(brush, "texture_overlay_alpha", text="Texture Alpha")
sub.prop(brush, "use_primary_overlay_override", toggle=True, text="", icon='BRUSH_DATA')
-
- col.label(text="Mask Texture:")
+ if tex_slot.map_mode != 'STENCIL':
+ row.prop(
+ brush, "use_primary_overlay", text="", toggle=True,
+ icon='HIDE_OFF' if brush.use_primary_overlay else 'HIDE_ON',
+ )
row = col.row(align=True)
+
+ sub = row.row(align=True)
+ sub.prop(brush, "mask_overlay_alpha", text="Mask Texture Alpha")
+ sub.prop(brush, "use_secondary_overlay_override", toggle=True, text="", icon='BRUSH_DATA')
if tex_slot_mask.map_mode != 'STENCIL':
row.prop(
- brush,
- "use_secondary_overlay",
- text="",
- toggle=True,
- icon='RESTRICT_VIEW_ON' if brush.use_secondary_overlay else 'RESTRICT_VIEW_OFF',
+ brush, "use_secondary_overlay", text="", toggle=True,
+ icon='HIDE_OFF' if brush.use_secondary_overlay else 'HIDE_ON',
)
- sub = row.row(align=True)
- sub.prop(brush, "mask_overlay_alpha", text="Alpha")
- sub.prop(brush, "use_secondary_overlay_override", toggle=True, text="", icon='BRUSH_DATA')
+
+class IMAGE_PT_tools_brush_display_show_brush(BrushButtonsPanel, Panel):
+ bl_context = ".paint_common_2d" # dot on purpose (access from topbar)
+ bl_label = "Show Brush"
+ bl_parent_id = "IMAGE_PT_tools_brush_display"
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw_header(self, context):
+ settings = context.tool_settings.image_paint
+
+ self.layout.prop(settings, "show_brush", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ settings = context.tool_settings.image_paint
+ brush = settings.brush
+
+ col = layout.column()
+ col.active = settings.show_brush
+
+ if context.sculpt_object and context.tool_settings.sculpt:
+ if brush.sculpt_capabilities.has_secondary_color:
+ col.prop(brush, "cursor_color_add", text="Add")
+ col.prop(brush, "cursor_color_subtract", text="Subtract")
+ else:
+ col.prop(brush, "cursor_color_add", text="Color")
+ else:
+ col.prop(brush, "cursor_color_add", text="Color")
+
+
+class IMAGE_PT_tools_brush_display_custom_icon(BrushButtonsPanel, Panel):
+ bl_context = ".paint_common_2d" # dot on purpose (access from topbar)
+ bl_label = "Custom Icon"
+ bl_parent_id = "IMAGE_PT_tools_brush_display"
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw_header(self, context):
+ settings = context.tool_settings.image_paint
+ brush = settings.brush
+
+ self.layout.prop(brush, "use_custom_icon", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ settings = context.tool_settings.image_paint
+ brush = settings.brush
+
+ col = layout.column()
+ col.active = brush.use_custom_icon
+ col.prop(brush, "icon_filepath", text="")
class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel):
@@ -1212,38 +1261,6 @@ class IMAGE_PT_tools_imagepaint_symmetry(BrushButtonsPanel, Panel):
row.prop(ipaint, "tile_y", text="Y", toggle=True)
-class IMAGE_PT_tools_brush_appearance(BrushButtonsPanel, Panel):
- bl_label = "Appearance"
- bl_context = ".paint_common_2d"
- bl_options = {'DEFAULT_CLOSED'}
- bl_category = "Options"
- bl_parent_id = "IMAGE_PT_tools_brush_display"
-
- def draw(self, context):
- layout = self.layout
-
- tool_settings = context.tool_settings.image_paint
- brush = tool_settings.brush
-
- if brush is None: # unlikely but can happen.
- layout.label(text="Brush Unset")
- return
-
- col = layout.column(align=True)
-
- col.prop(tool_settings, "show_brush")
- sub = col.column()
- sub.active = tool_settings.show_brush
- sub.prop(brush, "cursor_color_add", text="")
-
- col.separator()
-
- col.prop(brush, "use_custom_icon")
- sub = col.column()
- sub.active = brush.use_custom_icon
- sub.prop(brush, "icon_filepath", text="")
-
-
class IMAGE_PT_uv_sculpt_curve(Panel):
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
@@ -1511,8 +1528,9 @@ classes = (
IMAGE_PT_paint_stroke_smooth_stroke,
IMAGE_PT_paint_curve,
IMAGE_PT_tools_brush_display,
+ IMAGE_PT_tools_brush_display_show_brush,
+ IMAGE_PT_tools_brush_display_custom_icon,
IMAGE_PT_tools_imagepaint_symmetry,
- IMAGE_PT_tools_brush_appearance,
IMAGE_PT_uv_sculpt,
IMAGE_PT_uv_sculpt_curve,
IMAGE_PT_view_histogram,
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index b343825631b..aa7b37aa965 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1220,33 +1220,10 @@ class VIEW3D_PT_sculpt_symmetry(Panel, View3DPaintPanel):
layout.column().prop(sculpt, "tile_offset", text="Tile Offset")
-# TODO, move to space_view3d.py
-class VIEW3D_PT_tools_brush_appearance(Panel, View3DPaintPanel):
- bl_context = ".paint_common" # dot on purpose (access from topbar)
- bl_label = "Appearance"
- bl_parent_id = "VIEW3D_PT_tools_brush_display"
- bl_options = {'DEFAULT_CLOSED'}
-
- @classmethod
- def poll(cls, context):
- settings = cls.paint_settings(context)
- return (settings is not None) and (not isinstance(settings, bpy.types.ParticleEdit))
-
- def draw(self, context):
- layout = self.layout
-
- settings = self.paint_settings(context)
- brush = settings.brush
-
- if brush is None: # unlikely but can happen
- layout.label(text="Brush Unset")
- return
-
-
-class VIEW3D_PT_tools_brush_appearance_show_brush(Panel, View3DPaintPanel):
+class VIEW3D_PT_tools_brush_display_show_brush(Panel, View3DPaintPanel):
bl_context = ".paint_common" # dot on purpose (access from topbar)
bl_label = "Show Brush"
- bl_parent_id = "VIEW3D_PT_tools_brush_appearance"
+ bl_parent_id = "VIEW3D_PT_tools_brush_display"
bl_options = {'DEFAULT_CLOSED'}
def draw_header(self, context):
@@ -1276,10 +1253,10 @@ class VIEW3D_PT_tools_brush_appearance_show_brush(Panel, View3DPaintPanel):
col.prop(brush, "cursor_color_add", text="Color")
-class VIEW3D_PT_tools_brush_appearance_custom_icon(Panel, View3DPaintPanel):
+class VIEW3D_PT_tools_brush_display_custom_icon(Panel, View3DPaintPanel):
bl_context = ".paint_common" # dot on purpose (access from topbar)
bl_label = "Custom Icon"
- bl_parent_id = "VIEW3D_PT_tools_brush_appearance"
+ bl_parent_id = "VIEW3D_PT_tools_brush_display"
bl_options = {'DEFAULT_CLOSED'}
def draw_header(self, context):
@@ -2021,15 +1998,14 @@ classes = (
VIEW3D_PT_tools_brush_falloff_frontface,
VIEW3D_PT_tools_brush_falloff_normal,
VIEW3D_PT_tools_brush_display,
+ VIEW3D_PT_tools_brush_display_show_brush,
+ VIEW3D_PT_tools_brush_display_custom_icon,
VIEW3D_PT_sculpt_dyntopo,
VIEW3D_PT_sculpt_dyntopo_remesh,
VIEW3D_PT_sculpt_options,
VIEW3D_PT_sculpt_options_unified,
VIEW3D_PT_sculpt_options_gravity,
VIEW3D_PT_sculpt_symmetry,
- VIEW3D_PT_tools_brush_appearance,
- VIEW3D_PT_tools_brush_appearance_show_brush,
- VIEW3D_PT_tools_brush_appearance_custom_icon,
VIEW3D_PT_tools_weightpaint_symmetry,
VIEW3D_PT_tools_weightpaint_options,
VIEW3D_PT_tools_vertexpaint,
More information about the Bf-blender-cvs
mailing list