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:
authorNicholas Bishop <nicholasbishop@gmail.com>2012-02-16 22:06:38 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2012-02-16 22:06:38 +0400
commit7cbd4d3576da49bbee71afac4214730bf164d848 (patch)
tree334a24aa455320be44af991aa22535eeb8223289
parentcbe14f3400d77fa75e8383789e9d4254f74c24bc (diff)
Sculpt/Paint UI: Add a new menu for brush options.
For vertex/weight/texture paint, this has only the flags for using unified size/strength. (Addresses TODO in code, before only sculpt menu had these settings.) For sculpt, moved the brush-related settings from the sculpt menu to the brush menu. Note that these menus are still very out of date (missing lots of options), will address that in a different commit.
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py64
1 files changed, 42 insertions, 22 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 05d6ca7b337..4627a4ed6a2 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -19,6 +19,7 @@
# <pep8 compliant>
import bpy
from bpy.types import Header, Menu, Panel
+from .properties_paint_common import UnifiedPaintPanel
class VIEW3D_HT_header(Header):
@@ -51,6 +52,8 @@ class VIEW3D_HT_header(Header):
elif obj:
if mode_string not in {'PAINT_TEXTURE'}:
sub.menu("VIEW3D_MT_%s" % mode_string.lower())
+ if mode_string in {'SCULPT', 'PAINT_VERTEX', 'PAINT_WEIGHT', 'PAINT_TEXTURE'}:
+ sub.menu("VIEW3D_MT_brush")
else:
sub.menu("VIEW3D_MT_object")
@@ -1013,6 +1016,45 @@ class VIEW3D_MT_object_game(Menu):
layout.operator("object.game_property_clear")
+
+# ********** Brush menu **********
+class VIEW3D_MT_brush(Menu):
+ bl_label = "Brush"
+
+ def draw(self, context):
+ layout = self.layout
+
+ settings = UnifiedPaintPanel.paint_settings(context)
+ brush = settings.brush
+
+ ups = context.tool_settings.unified_paint_settings
+ layout.prop(ups, "use_unified_size", text="Unified Size")
+ layout.prop(ups, "use_unified_strength", text="Unified Strength")
+
+ # skip if no active brush
+ if not brush:
+ return
+
+ # TODO: still missing a lot of brush options here
+
+ # sculpt options
+ if context.sculpt_object:
+
+ sculpt_tool = brush.sculpt_tool
+
+ layout.separator()
+ layout.operator_menu_enum("brush.curve_preset", "shape", text='Curve Preset')
+ layout.separator()
+
+ if sculpt_tool != 'GRAB':
+ layout.prop_menu_enum(brush, "stroke_method")
+
+ if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
+ layout.prop_menu_enum(brush, "direction")
+
+ if sculpt_tool == 'LAYER':
+ layout.prop(brush, "use_persistent")
+ layout.operator("sculpt.set_persistent_base")
# ********** Vertex paint menu **********
@@ -1116,7 +1158,6 @@ class VIEW3D_MT_sculpt(Menu):
toolsettings = context.tool_settings
sculpt = toolsettings.sculpt
- brush = toolsettings.sculpt.brush
layout.operator("ed.undo")
layout.operator("ed.redo")
@@ -1130,22 +1171,6 @@ class VIEW3D_MT_sculpt(Menu):
layout.prop(sculpt, "lock_x")
layout.prop(sculpt, "lock_y")
layout.prop(sculpt, "lock_z")
- layout.separator()
- layout.operator_menu_enum("brush.curve_preset", "shape")
- layout.separator()
-
- if brush is not None: # unlikely but can happen
- sculpt_tool = brush.sculpt_tool
-
- if sculpt_tool != 'GRAB':
- layout.prop_menu_enum(brush, "stroke_method")
-
- if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
- layout.prop_menu_enum(brush, "direction")
-
- if sculpt_tool == 'LAYER':
- layout.prop(brush, "use_persistent")
- layout.operator("sculpt.set_persistent_base")
layout.separator()
layout.prop(sculpt, "use_threaded", text="Threaded Sculpt")
@@ -1153,11 +1178,6 @@ class VIEW3D_MT_sculpt(Menu):
layout.prop(sculpt, "show_brush")
layout.prop(sculpt, "use_deform_only")
- # TODO, make available from paint menu!
- ups = context.tool_settings.unified_paint_settings
- layout.separator()
- layout.prop(ups, "use_unified_size")
- layout.prop(ups, "use_unified_strength")
# ********** Particle menu **********