[Bf-extensions-cvs] [9b4eb64d] master: space_view3d_brush_menus: initial update to 2.8 series : T68350
Ryan Inch
noreply at git.blender.org
Sun Aug 18 04:32:36 CEST 2019
Commit: 9b4eb64de707ba899f7c37b019ee4991f0917615
Author: Ryan Inch
Date: Sat Aug 17 03:33:43 2019 -0400
Branches: master
https://developer.blender.org/rBAC9b4eb64de707ba899f7c37b019ee4991f0917615
space_view3d_brush_menus: initial update to 2.8 series : T68350
===================================================================
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 891a22de..b07bfd65 100644
--- a/space_view3d_brush_menus/__init__.py
+++ b/space_view3d_brush_menus/__init__.py
@@ -24,7 +24,7 @@ bl_info = {
"description": "Fast access to brushes & tools in Sculpt and Paint Modes",
"author": "Ryan Inch (Imaginer)",
"version": (1, 1, 6),
- "blender": (2, 78, 0),
+ "blender": (2, 80, 0),
"location": "Alt V in Sculpt/Paint Modes",
"warning": '',
"wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
@@ -61,23 +61,21 @@ from bpy.props import (
)
+addon_files = (
+ brush_menu,
+ brushes,
+ curve_menu,
+ dyntopo_menu,
+ stroke_menu,
+ symmetry_menu,
+ texture_menu,
+ )
+
+
+
class VIEW3D_MT_Brushes_Pref(AddonPreferences):
bl_idname = __name__
-
- use_brushes_menu_type: EnumProperty(
- name="Choose Brushes Selection",
- description="",
- items=[('lists', "Use compact Menus",
- "Use more compact menus instead \n"
- "of thumbnails for displaying brushes"),
- ('template', "Template ID Preview",
- "Use Template ID preview menu (thumbnails) for brushes\n"
- "(Still part of the menu)"),
- ('popup', "Pop up menu",
- "Use a separate pop-up window for accessing brushes")
- ],
- default='lists'
- )
+
column_set: IntProperty(
name="Number of Columns",
description="Number of columns used for the brushes menu",
@@ -90,8 +88,6 @@ class VIEW3D_MT_Brushes_Pref(AddonPreferences):
layout = self.layout
col = layout.column(align=True)
- row = col.row(align=True)
- row.prop(self, "use_brushes_menu_type", expand=True)
col.prop(self, "column_set", slider=True)
@@ -101,11 +97,15 @@ addon_keymaps = []
def register():
- # register all blender classes
- bpy.utils.register_module(__name__)
-
+ # register all files
+ for addon_file in addon_files:
+ addon_file.register()
+
# set the add-on name variable to access the preferences
utils_core.get_addon_name = __name__
+
+ # register preferences
+ bpy.utils.register_class(VIEW3D_MT_Brushes_Pref)
# register hotkeys
wm = bpy.context.window_manager
@@ -119,13 +119,17 @@ def register():
def unregister():
+ # unregister all files
+ for addon_file in addon_files:
+ addon_file.unregister()
+
+ # unregister preferences
+ bpy.utils.unregister_class(VIEW3D_MT_Brushes_Pref)
+
for km, kmi in addon_keymaps:
km.keymap_items.remove(kmi)
addon_keymaps.clear()
- # unregister all blender classes
- bpy.utils.unregister_module(__name__)
-
if __name__ == "__main__":
register()
diff --git a/space_view3d_brush_menus/brush_menu.py b/space_view3d_brush_menus/brush_menu.py
index d4c6863f..c76a107a 100644
--- a/space_view3d_brush_menus/brush_menu.py
+++ b/space_view3d_brush_menus/brush_menu.py
@@ -22,18 +22,6 @@ class BrushOptionsMenu(Menu):
'PARTICLE_EDIT'
)
- def draw_brushes(self, layout, h_brush, ico, context):
- if utils_core.addon_settings(lists=True) == 'popup' or not h_brush:
- layout.row().operator(
- "view3d.sv3_brush_menu_popup", text="Brush",
- icon=ico
- )
- else:
- layout.row().menu(
- "VIEW3D_MT_sv3_brushes_menu", text="Brush",
- icon=ico
- )
-
def draw(self, context):
mode = utils_core.get_mode()
layout = self.layout
@@ -55,7 +43,8 @@ class BrushOptionsMenu(Menu):
icons = brushes.brush_icon[mode][has_brush.sculpt_tool] if \
has_brush else "BRUSH_DATA"
- self.draw_brushes(layout, has_brush, icons, context)
+ layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
+ icon=icons)
layout.row().menu(BrushRadiusMenu.bl_idname)
@@ -80,7 +69,8 @@ class BrushOptionsMenu(Menu):
layout.row().operator(ColorPickerPopup.bl_idname, icon="COLOR")
layout.row().separator()
- self.draw_brushes(layout, has_brush, icons, context)
+ layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
+ icon=icons)
if mode == 'VERTEX_PAINT':
layout.row().menu(BrushRadiusMenu.bl_idname)
@@ -106,21 +96,42 @@ class BrushOptionsMenu(Menu):
def texpaint(self, mode, layout, context):
toolsettings = context.tool_settings.image_paint
+
+ has_brush = utils_core.get_brush_link(context, types="brush")
+ icons = brushes.brush_icon[mode][has_brush.image_tool] if \
+ has_brush else "BRUSH_DATA"
if context.image_paint_object and not toolsettings.detect_data():
- layout.row().label(text="Missing Data", icon="INFO")
- layout.row().label(text="See Tool Shelf", icon="BACK")
+ if toolsettings.missing_uvs or toolsettings.missing_materials or \
+ toolsettings.missing_texture:
+ layout.row().label(text="Missing Data", icon='ERROR')
+ layout.row().operator_menu_enum("paint.add_texture_paint_slot", \
+ "type", \
+ icon='ADD', \
+ text="Add Texture Paint Slot")
+
+ return
+
+ elif toolsettings.missing_stencil:
+ layout.row().label(text="Missing Data", icon='ERROR')
+ layout.row().label(text="See Mask Properties", icon='FORWARD')
+ layout.row().separator()
+ layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
+ icon=icons)
+
+ return
+
+ else:
+ layout.row().label(text="Missing Data", icon="INFO")
+
else:
- has_brush = utils_core.get_brush_link(context, types="brush")
if has_brush and has_brush.image_tool in {'DRAW', 'FILL'} and \
has_brush.blend not in {'ERASE_ALPHA', 'ADD_ALPHA'}:
layout.row().operator(ColorPickerPopup.bl_idname, icon="COLOR")
layout.row().separator()
- icons = brushes.brush_icon[mode][has_brush.image_tool] if \
- has_brush else "BRUSH_DATA"
-
- self.draw_brushes(layout, has_brush, icons, context)
+ layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
+ icon=icons)
if has_brush:
# if the active brush is unlinked these menus don't do anything
@@ -144,34 +155,28 @@ class BrushOptionsMenu(Menu):
def particle(self, layout, context):
particle_edit = context.tool_settings.particle_edit
- if particle_edit.tool == 'NONE':
- layout.row().label(text="No Brush Selected", icon="INFO")
- layout.row().separator()
- layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
- text="Select Brush", icon="BRUSH_DATA")
- else:
- layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
- icon="BRUSH_DATA")
- layout.row().menu(BrushRadiusMenu.bl_idname)
+ layout.row().menu("VIEW3D_MT_sv3_brushes_menu",
+ icon="BRUSH_DATA")
+ layout.row().menu(BrushRadiusMenu.bl_idname)
- if particle_edit.tool != 'ADD':
- layout.row().menu(BrushStrengthMenu.bl_idname)
- else:
- layout.row().menu(ParticleCountMenu.bl_idname)
- layout.row().separator()
- layout.row().prop(particle_edit, "use_default_interpolate", toggle=True)
+ if particle_edit.tool != 'ADD':
+ layout.row().menu(BrushStrengthMenu.bl_idname)
+ else:
+ layout.row().menu(ParticleCountMenu.bl_idname)
+ layout.row().separator()
+ layout.row().prop(particle_edit, "use_default_interpolate", toggle=True)
- layout.row().prop(particle_edit.brush, "steps", slider=True)
- layout.row().prop(particle_edit, "default_key_count", slider=True)
+ layout.row().prop(particle_edit.brush, "steps", slider=True)
+ layout.row().prop(particle_edit, "default_key_count", slider=True)
- if particle_edit.tool == 'LENGTH':
- layout.row().separator()
- layout.row().menu(ParticleLengthMenu.bl_idname)
+ if particle_edit.tool == 'LENGTH':
+ layout.row().separator()
+ layout.row().menu(ParticleLengthMenu.bl_idname)
- if particle_edit.tool == 'PUFF':
- layout.row().separator()
- layout.row().menu(ParticlePuffMenu.bl_idname)
- layout.row().prop(particle_edit.brush, "use_puff_volume", toggle=True)
+ if particle_edit.tool == 'PUFF':
+ layout.row().separator()
+ layout.row().menu(ParticlePuffMenu.bl_idname)
+ layout.row().prop(particle_edit.brush, "use_puff_volume", toggle=True)
class BrushRadiusMenu(Menu):
@@ -288,14 +293,14 @@ class BrushModeMenu(Menu):
path = "tool_settings.sculpt.brush.sculpt_plane"
elif mode == 'VERTEX_PAINT':
- enum = has_brush.bl_rna.properties['vertex_tool'].enum_items if \
+ enum = has_brush.bl_rna.properties['blend'].enum_items if \
has_brush else None
- path = "tool_settings.vertex_paint.brush.vertex_tool"
+ path = "tool_settings.vertex_paint.brush.blend"
elif mode == 'WEIGHT_PAINT':
- enum = has_brush.bl_rna.properties['vertex_tool'].enum_items if \
+ enum = has_brush.bl_rna.properties['blend'].enum_items if \
has_brush else None
- path = "tool_settings.weight_pain
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list