[Bf-extensions-cvs] [e70b309d] master: brush menus: bug fixes/update by imaginer T52124
meta-androcto
noreply at git.blender.org
Thu Jul 20 08:26:08 CEST 2017
Commit: e70b309dac3f6aae5cb42a7a90ce0f407350060f
Author: meta-androcto
Date: Thu Jul 20 16:25:36 2017 +1000
Branches: master
https://developer.blender.org/rBAe70b309dac3f6aae5cb42a7a90ce0f407350060f
brush menus: bug fixes/update by imaginer T52124
===================================================================
M space_view3d_brush_menus/__init__.py
M space_view3d_brush_menus/brush_menu.py
M space_view3d_brush_menus/brushes.py
M space_view3d_brush_menus/curve_menu.py
M space_view3d_brush_menus/dyntopo_menu.py
M space_view3d_brush_menus/stroke_menu.py
M space_view3d_brush_menus/symmetry_menu.py
M space_view3d_brush_menus/texture_menu.py
M space_view3d_brush_menus/utils_core.py
===================================================================
diff --git a/space_view3d_brush_menus/__init__.py b/space_view3d_brush_menus/__init__.py
index a591187c..9446083a 100644
--- a/space_view3d_brush_menus/__init__.py
+++ b/space_view3d_brush_menus/__init__.py
@@ -23,8 +23,8 @@ bl_info = {
"name": "Sculpt/Paint Brush Menus",
"description": "Fast access to brushes & tools in Sculpt and Paint Modes",
"author": "Ryan Inch (Imaginer)",
- "version": (1, 1, 4),
- "blender": (2, 7, 8),
+ "version": (1, 1, 5),
+ "blender": (2, 78, 0),
"location": "Alt V in Sculpt/Paint Modes",
"warning": '',
"wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
@@ -109,7 +109,7 @@ def register():
# register hotkeys
wm = bpy.context.window_manager
- modes = ['Sculpt', 'Vertex Paint', 'Weight Paint', 'Image Paint', 'Particle']
+ modes = ('Sculpt', 'Vertex Paint', 'Weight Paint', 'Image Paint', 'Particle')
for mode in modes:
km = wm.keyconfigs.addon.keymaps.new(name=mode)
diff --git a/space_view3d_brush_menus/brush_menu.py b/space_view3d_brush_menus/brush_menu.py
index 6940304e..4568c225 100644
--- a/space_view3d_brush_menus/brush_menu.py
+++ b/space_view3d_brush_menus/brush_menu.py
@@ -7,62 +7,9 @@ from bpy.types import (
)
from bpy.props import BoolProperty
from . import utils_core
+from . import brushes
from bl_ui.properties_paint_common import UnifiedPaintPanel
-
-def get_current_brush_icon(tool):
- if utils_core.get_mode() == utils_core.sculpt:
- icons = {"BLOB": 'BRUSH_BLOB',
- "CLAY": 'BRUSH_CLAY',
- "CLAY_STRIPS": 'BRUSH_CLAY_STRIPS',
- "CREASE": 'BRUSH_CREASE',
- "DRAW": 'BRUSH_SCULPT_DRAW',
- "FILL": 'BRUSH_FILL',
- "FLATTEN": 'BRUSH_FLATTEN',
- "GRAB": 'BRUSH_GRAB',
- "INFLATE": 'BRUSH_INFLATE',
- "LAYER": 'BRUSH_LAYER',
- "MASK": 'BRUSH_MASK',
- "NUDGE": 'BRUSH_NUDGE',
- "PINCH": 'BRUSH_PINCH',
- "ROTATE": 'BRUSH_ROTATE',
- "SCRAPE": 'BRUSH_SCRAPE',
- "SIMPLIFY": 'BRUSH_SUBTRACT',
- "SMOOTH": 'BRUSH_SMOOTH',
- "SNAKE_HOOK": 'BRUSH_SNAKE_HOOK',
- "THUMB": 'BRUSH_THUMB'}
-
- elif utils_core.get_mode() == utils_core.vertex_paint:
- icons = {"ADD": 'BRUSH_ADD',
- "BLUR": 'BRUSH_BLUR',
- "DARKEN": 'BRUSH_DARKEN',
- "LIGHTEN": 'BRUSH_LIGHTEN',
- "MIX": 'BRUSH_MIX',
- "MUL": 'BRUSH_MULTIPLY',
- "SUB": 'BRUSH_SUBTRACT'}
-
- elif utils_core.get_mode() == utils_core.weight_paint:
- icons = {"ADD": 'BRUSH_ADD',
- "BLUR": 'BRUSH_BLUR',
- "DARKEN": 'BRUSH_DARKEN',
- "LIGHTEN": 'BRUSH_LIGHTEN',
- "MIX": 'BRUSH_MIX',
- "MUL": 'BRUSH_MULTIPLY',
- "SUB": 'BRUSH_SUBTRACT'}
-
- elif utils_core.get_mode() == utils_core.texture_paint:
- icons = {"CLONE": 'BRUSH_CLONE',
- "DRAW": 'BRUSH_TEXDRAW',
- "FILL": 'BRUSH_TEXFILL',
- "MASK": 'BRUSH_TEXMASK',
- "SMEAR": 'BRUSH_SMEAR',
- "SOFTEN": 'BRUSH_SOFTEN'}
-
- icon = icons[tool]
-
- return icon
-
-
class BrushOptionsMenu(Menu):
bl_label = "Brush Options"
bl_idname = "VIEW3D_MT_sv3_brush_options"
@@ -70,163 +17,161 @@ class BrushOptionsMenu(Menu):
@classmethod
def poll(self, context):
return utils_core.get_mode() in (
- utils_core.sculpt, utils_core.vertex_paint,
- utils_core.weight_paint, utils_core.texture_paint,
- utils_core.particle_edit
+ 'SCULPT', 'VERTEX_PAINT',
+ 'WEIGHT_PAINT', 'TEXTURE_PAINT',
+ 'PARTICLE_EDIT'
)
- def draw_brushes(self, menu, h_brush, ico, context):
+ def draw_brushes(self, layout, h_brush, ico, context):
if utils_core.addon_settings(lists=True) == 'popup' or not h_brush:
- menu.add_item().operator(
+ layout.row().operator(
"view3d.sv3_brush_menu_popup", text="Brush",
icon=ico
)
else:
- menu.add_item().menu(
+ layout.row().menu(
"VIEW3D_MT_sv3_brushes_menu", text="Brush",
icon=ico
)
def draw(self, context):
- menu = utils_core.Menu(self)
+ mode = utils_core.get_mode()
+ layout = self.layout
- if utils_core.get_mode() == utils_core.sculpt:
- self.sculpt(menu, context)
+ if mode == 'SCULPT':
+ self.sculpt(mode, layout, context)
- elif utils_core.get_mode() in (utils_core.vertex_paint,
- utils_core.weight_paint):
- self.vw_paint(menu, context)
+ elif mode in ('VERTEX_PAINT', 'WEIGHT_PAINT'):
+ self.vw_paint(mode, layout, context)
- elif utils_core.get_mode() == utils_core.texture_paint:
- self.texpaint(menu, context)
+ elif mode == 'TEXTURE_PAINT':
+ self.texpaint(mode, layout, context)
else:
- self.particle(menu, context)
+ self.particle(layout, context)
- def sculpt(self, menu, context):
+ def sculpt(self, mode, layout, context):
has_brush = utils_core.get_brush_link(context, types="brush")
- icons = get_current_brush_icon(has_brush.sculpt_tool) if \
+ icons = brushes.brush_icon[mode][has_brush.sculpt_tool] if \
has_brush else "BRUSH_DATA"
- self.draw_brushes(menu, has_brush, icons, context)
+ self.draw_brushes(layout, has_brush, icons, context)
- menu.add_item().menu(BrushRadiusMenu.bl_idname)
+ layout.row().menu(BrushRadiusMenu.bl_idname)
if has_brush:
# if the active brush is unlinked these menus don't do anything
- menu.add_item().menu(BrushStrengthMenu.bl_idname)
- menu.add_item().menu(BrushAutosmoothMenu.bl_idname)
- menu.add_item().menu(BrushModeMenu.bl_idname)
- menu.add_item().menu("VIEW3D_MT_sv3_texture_menu")
- menu.add_item().menu("VIEW3D_MT_sv3_stroke_options")
- menu.add_item().menu("VIEW3D_MT_sv3_brush_curve_menu")
+ layout.row().menu(BrushStrengthMenu.bl_idname)
+ layout.row().menu(BrushAutosmoothMenu.bl_idname)
+ layout.row().menu(BrushModeMenu.bl_idname)
+ layout.row().menu("VIEW3D_MT_sv3_texture_menu")
+ layout.row().menu("VIEW3D_MT_sv3_stroke_options")
+ layout.row().menu("VIEW3D_MT_sv3_brush_curve_menu")
- menu.add_item().menu("VIEW3D_MT_sv3_dyntopo")
- menu.add_item().menu("VIEW3D_MT_sv3_master_symmetry_menu")
+ layout.row().menu("VIEW3D_MT_sv3_dyntopo")
+ layout.row().menu("VIEW3D_MT_sv3_master_symmetry_menu")
- def vw_paint(self, menu, context):
+ def vw_paint(self, mode, layout, context):
has_brush = utils_core.get_brush_link(context, types="brush")
- icons = get_current_brush_icon(has_brush.vertex_tool) if \
+ icons = brushes.brush_icon[mode][has_brush.vertex_tool] if \
has_brush else "BRUSH_DATA"
- if utils_core.get_mode() == utils_core.vertex_paint:
- menu.add_item().operator(ColorPickerPopup.bl_idname, icon="COLOR")
- menu.add_item().separator()
+ if mode == 'VERTEX_PAINT':
+ layout.row().operator(ColorPickerPopup.bl_idname, icon="COLOR")
+ layout.row().separator()
- self.draw_brushes(menu, has_brush, icons, context)
+ self.draw_brushes(layout, has_brush, icons, context)
- if utils_core.get_mode() == utils_core.vertex_paint:
- menu.add_item().menu(BrushRadiusMenu.bl_idname)
+ if mode == 'VERTEX_PAINT':
+ layout.row().menu(BrushRadiusMenu.bl_idname)
if has_brush:
# if the active brush is unlinked these menus don't do anything
- menu.add_item().menu(BrushStrengthMenu.bl_idname)
- menu.add_item().menu(BrushModeMenu.bl_idname)
- menu.add_item().menu("VIEW3D_MT_sv3_texture_menu")
- menu.add_item().menu("VIEW3D_MT_sv3_stroke_options")
- menu.add_item().menu("VIEW3D_MT_sv3_brush_curve_menu")
+ layout.row().menu(BrushStrengthMenu.bl_idname)
+ layout.row().menu(BrushModeMenu.bl_idname)
+ layout.row().menu("VIEW3D_MT_sv3_texture_menu")
+ layout.row().menu("VIEW3D_MT_sv3_stroke_options")
+ layout.row().menu("VIEW3D_MT_sv3_brush_curve_menu")
- if utils_core.get_mode() == utils_core.weight_paint:
- menu.add_item().menu(BrushWeightMenu.bl_idname)
- menu.add_item().menu(BrushRadiusMenu.bl_idname)
+ if mode == 'WEIGHT_PAINT':
+ layout.row().menu(BrushWeightMenu.bl_idname)
+ layout.row().menu(BrushRadiusMenu.bl_idname)
if has_brush:
# if the active brush is unlinked these menus don't do anything
- menu.add_item().menu(BrushStrengthMenu.bl_idname)
- menu.add_item().menu(BrushModeMenu.bl_idname)
- menu.add_item().menu("VIEW3D_MT_sv3_stroke_options")
- menu.add_item().menu("VIEW3D_MT_sv3_brush_curve_menu")
+ layout.row().menu(BrushStrengthMenu.bl_idname)
+ layout.row().menu(BrushModeMenu.bl_idname)
+ layout.row().menu("VIEW3D_MT_sv3_stroke_options")
+ layout.row().menu("VIEW3D_MT_sv3_brush_curve_menu")
- def texpaint(self, menu, context):
+ def texpaint(self, mode, layout, context):
toolsettings = context.tool_settings.image_paint
if context.image_paint_object and not toolsettings.detect_data():
- menu.add_item().label("Missing Data", icon="INFO")
- menu.add_item().label("Se
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list