diff options
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 1 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_paint_common.py | 4 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 28 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d_toolbar.py | 32 |
4 files changed, 59 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index cc8921f1a8e..74b41b10192 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -149,6 +149,7 @@ class BRUSH_OT_active_index_set(Operator): "vertex_paint": "use_paint_vertex", "weight_paint": "use_paint_weight", "image_paint": "use_paint_image", + "hair_edit": "use_hair_edit", } def execute(self, context): diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index cca142b645c..d1f7c0f5e40 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -38,10 +38,10 @@ class UnifiedPaintPanel: elif context.image_paint_object: if (toolsettings.image_paint and toolsettings.image_paint.detect_data()): return toolsettings.image_paint - - return None elif context.particle_edit_object: return toolsettings.particle_edit + elif context.hair_edit_object: + return toolsettings.hair_edit return None diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 09e3bf38333..dbbb926e042 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -50,6 +50,8 @@ class VIEW3D_HT_header(Header): # Particle edit if mode == 'PARTICLE_EDIT': row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True) + elif mode == 'HAIR_EDIT': + row.prop(toolsettings.hair_edit, "select_mode", text="", expand=True) # Occlude geometry if ((view.viewport_shade not in {'BOUNDBOX', 'WIREFRAME'} and (mode == 'PARTICLE_EDIT' or (mode == 'EDIT' and obj.type == 'MESH'))) or @@ -169,7 +171,7 @@ class VIEW3D_MT_editor_menus(Menu): layout.menu("VIEW3D_MT_select_paint_mask") elif mesh.use_paint_mask_vertex and mode_string == 'PAINT_WEIGHT': layout.menu("VIEW3D_MT_select_paint_mask_vertex") - elif mode_string != 'SCULPT': + elif mode_string not in {'SCULPT'}: layout.menu("VIEW3D_MT_select_%s" % mode_string.lower()) if gp_edit: @@ -194,7 +196,7 @@ class VIEW3D_MT_editor_menus(Menu): elif obj: if mode_string != 'PAINT_TEXTURE': layout.menu("VIEW3D_MT_%s" % mode_string.lower()) - if mode_string in {'SCULPT', 'PAINT_VERTEX', 'PAINT_WEIGHT', 'PAINT_TEXTURE'}: + if mode_string in {'SCULPT', 'PAINT_VERTEX', 'PAINT_WEIGHT', 'PAINT_TEXTURE', 'HAIR'}: layout.menu("VIEW3D_MT_brush") if mode_string == 'SCULPT': layout.menu("VIEW3D_MT_hide_mask") @@ -1048,6 +1050,13 @@ class VIEW3D_MT_select_paint_mask_vertex(Menu): layout.operator("paint.vert_select_ungrouped", text="Ungrouped Verts") +class VIEW3D_MT_select_hair(Menu): + bl_label = "Select" + + def draw(self, context): + layout = self.layout + + class VIEW3D_MT_angle_control(Menu): bl_label = "Angle Control" @@ -1675,7 +1684,7 @@ class VIEW3D_MT_brush(Menu): layout.separator() # brush paint modes - layout.menu("VIEW3D_MT_brush_paint_modes") + layout.menu("VIEW3D_MT_brush_object_modes") # brush tool if context.sculpt_object: @@ -1685,6 +1694,8 @@ class VIEW3D_MT_brush(Menu): layout.prop_menu_enum(brush, "image_tool") elif context.vertex_paint_object or context.weight_paint_object: layout.prop_menu_enum(brush, "vertex_tool") + elif context.hair_edit_object: + layout.prop_menu_enum(brush, "hair_tool") # skip if no active brush if not brush: @@ -1712,7 +1723,7 @@ class VIEW3D_MT_brush(Menu): layout.operator("sculpt.set_persistent_base") -class VIEW3D_MT_brush_paint_modes(Menu): +class VIEW3D_MT_brush_object_modes(Menu): bl_label = "Enabled Modes" def draw(self, context): @@ -1725,6 +1736,7 @@ class VIEW3D_MT_brush_paint_modes(Menu): layout.prop(brush, "use_paint_vertex", text="Vertex Paint") layout.prop(brush, "use_paint_weight", text="Weight Paint") layout.prop(brush, "use_paint_image", text="Texture Paint") + layout.prop(brush, "use_hair_edit", text="Hair Edit") # ********** Vertex paint menu ********** @@ -1986,6 +1998,14 @@ class VIEW3D_MT_particle_specials(Menu): class VIEW3D_MT_particle_showhide(ShowHideMenu, Menu): _operator_name = "particle" +# ********** Hair menu ********** + +class VIEW3D_MT_hair(Menu): + bl_label = "Hair" + + def draw(self, context): + layout = self.layout + # ********** Pose Menu ********** diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index ca1ab4c37dd..b9dd401d309 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -966,6 +966,21 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): layout.prop(brush, "puff_mode", expand=True) layout.prop(brush, "use_puff_volume") + # Hair Mode # + + elif context.hair_edit_object and brush: + col = layout.column() + + row = col.row(align=True) + self.prop_unified_size(row, context, brush, "size", slider=True, text="Radius") + self.prop_unified_size(row, context, brush, "use_pressure_size") + + row = col.row(align=True) + self.prop_unified_strength(row, context, brush, "strength", text="Strength") + self.prop_unified_strength(row, context, brush, "use_pressure_strength") + + col.prop(brush, "hair_tool", text="Tool") + # Sculpt Mode # elif context.sculpt_object and brush: @@ -1948,6 +1963,23 @@ class VIEW3D_PT_tools_particlemode(View3DPanel, Panel): sub.prop(pe, "fade_frames", slider=True) +class VIEW3D_PT_tools_hairmode(View3DPanel, Panel): + """Tools for hair mode""" + bl_context = "hairmode" + bl_label = "Options" + bl_category = "Tools" + + def draw(self, context): + layout = self.layout + + settings = context.tool_settings.hair_edit + ob = context.active_object + + if ob.data: + col = layout.column(align=True) + col.prop(ob.data, "use_mirror_x") + + # Grease Pencil drawing tools class VIEW3D_PT_tools_grease_pencil_draw(GreasePencilDrawingToolsPanel, Panel): bl_space_type = 'VIEW_3D' |