[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