Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-08-02 10:41:11 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-08-02 12:27:26 +0300
commit3a93314753cabe176bde1cdb084afa551323321b (patch)
tree1baa4080f94673450a1a744c42b23f5caad5b5f8 /release/scripts/startup
parentd79df6c0bc65e4c94a6fd24160445b98eb408949 (diff)
Tool System: initial particle system support
Diffstat (limited to 'release/scripts/startup')
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py44
1 files changed, 38 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index c1d417ef12d..5ccd3ee123b 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -40,9 +40,6 @@ def generate_from_brushes_ex(
brush_category_attr,
brush_category_layout,
):
- def draw_settings(context, layout, tool):
- _defs_gpencil_paint.draw_settings_common(context, layout, tool)
-
# Categories
brush_categories = {}
if context.mode != 'GPENCIL_PAINT':
@@ -60,6 +57,9 @@ def generate_from_brushes_ex(
)
)
else:
+ def draw_settings(context, layout, tool):
+ _defs_gpencil_paint.draw_settings_common(context, layout, tool)
+
for brush_type in brush_category_layout:
for brush in context.blend_data.brushes:
if getattr(brush, brush_test_attr) and brush.gpencil_settings.gp_icon == brush_type[0]:
@@ -141,6 +141,28 @@ def generate_from_brushes_ex(
return tool_defs
+def generate_from_enum_ex(
+ context, *,
+ icon_prefix,
+ data,
+ attr,
+):
+ tool_defs = []
+ for enum in data.rna_type.properties[attr].enum_items_static:
+ name = enum.name
+ identifier = enum.identifier
+ tool_defs.append(
+ ToolDef.from_dict(
+ dict(
+ text=name,
+ icon=icon_prefix + identifier.lower(),
+ data_block=identifier,
+ )
+ )
+ )
+ return tuple(tool_defs)
+
+
class _defs_view3d_generic:
@ToolDef.from_fn
def cursor():
@@ -832,6 +854,18 @@ class _defs_pose:
)
+class _defs_particle:
+
+ @staticmethod
+ def generate_from_brushes(context):
+ return generate_from_enum_ex(
+ context,
+ icon_prefix="brush.particle.",
+ data=context.tool_settings.particle_edit,
+ attr="tool",
+ )
+
+
class _defs_sculpt:
@staticmethod
@@ -1542,9 +1576,7 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
_defs_edit_curve.extrude_cursor,
],
'PARTICLE': [
- # TODO(campbell): use cursor click tool to allow paint tools to run,
- # we need to integrate particle system tools properly.
- _defs_view3d_generic.cursor_click,
+ _defs_particle.generate_from_brushes,
],
'SCULPT': [
_defs_sculpt.generate_from_brushes,