diff options
Diffstat (limited to 'release/scripts/startup/bl_ui/space_view3d.py')
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 291 |
1 files changed, 147 insertions, 144 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 582d4fe1258..65619ffd285 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -761,6 +761,8 @@ class VIEW3D_MT_editor_menus(Menu): layout.menu("VIEW3D_MT_paint_gpencil") elif obj and obj.mode == 'EDIT_GPENCIL': layout.menu("VIEW3D_MT_edit_gpencil") + layout.menu("VIEW3D_MT_edit_gpencil_stroke") + layout.menu("VIEW3D_MT_edit_gpencil_point") elif obj and obj.mode == 'WEIGHT_GPENCIL': layout.menu("VIEW3D_MT_weight_gpencil") @@ -779,10 +781,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'}: - layout.menu("VIEW3D_MT_brush") - if mode_string == 'SCULPT': - layout.menu("VIEW3D_MT_hide_mask") + else: layout.menu("VIEW3D_MT_object") @@ -2643,63 +2642,6 @@ class VIEW3D_MT_make_links(Menu): layout.operator("object.join_uvs") # stupid place to add this! -class VIEW3D_MT_brush(Menu): - bl_label = "Brush" - - def draw(self, context): - layout = self.layout - - tool_settings = context.tool_settings - settings = UnifiedPaintPanel.paint_settings(context) - brush = getattr(settings, "brush", None) - - ups = tool_settings.unified_paint_settings - layout.prop(ups, "use_unified_size", text="Unified Size") - layout.prop(ups, "use_unified_strength", text="Unified Strength") - if context.image_paint_object or context.vertex_paint_object: - layout.prop(ups, "use_unified_color", text="Unified Color") - layout.separator() - - # skip if no active brush - if not brush: - layout.label(text="No Brushes currently available", icon='INFO') - return - - # brush paint modes - layout.menu("VIEW3D_MT_brush_paint_modes") - - # brush tool - if context.sculpt_object: - layout.operator("brush.reset") - layout.prop_menu_enum(brush, "sculpt_tool") - elif context.image_paint_object: - layout.prop_menu_enum(brush, "image_tool") - elif context.vertex_paint_object: - layout.prop_menu_enum(brush, "vertex_tool") - elif context.weight_paint_object: - layout.prop_menu_enum(brush, "weight_tool") - - # TODO: still missing a lot of brush options here - - # sculpt options - if context.sculpt_object: - - sculpt_tool = brush.sculpt_tool - - layout.separator() - layout.prop_menu_enum(brush, "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") - class VIEW3D_MT_brush_paint_modes(Menu): bl_label = "Enabled Modes" @@ -2788,6 +2730,27 @@ class VIEW3D_MT_vertex_group(Menu): layout.operator("object.vertex_group_remove", text="Remove All Groups").all = True +class VIEW3D_MT_gpencil_vertex_group(Menu): + bl_label = "Vertex Groups" + + def draw(self, context): + layout = self.layout + + layout.operator_context = 'EXEC_AREA' + ob = context.active_object + + layout.operator("object.vertex_group_add", text="Add New Group") + ob = context.active_object + if ob.vertex_groups.active: + layout.separator() + + layout.operator("gpencil.vertex_group_assign", text="Assign") + layout.operator("gpencil.vertex_group_remove_from", text="Remove") + + layout.operator("gpencil.vertex_group_select", text="Select") + layout.operator("gpencil.vertex_group_deselect", text="Deselect") + + class VIEW3D_MT_paint_weight(Menu): bl_label = "Weights" @@ -2839,38 +2802,6 @@ class VIEW3D_MT_sculpt(Menu): def draw(self, context): layout = self.layout - tool_settings = context.tool_settings - sculpt = tool_settings.sculpt - - layout.operator("sculpt.dynamic_topology_toggle", text="Toggle Dynamic Topology") - - layout.separator() - - layout.prop(sculpt, "use_symmetry_x") - layout.prop(sculpt, "use_symmetry_y") - layout.prop(sculpt, "use_symmetry_z") - - layout.separator() - - layout.prop(sculpt, "lock_x") - layout.prop(sculpt, "lock_y") - layout.prop(sculpt, "lock_z") - - layout.separator() - - layout.prop(sculpt, "use_threaded", text="Threaded Sculpt") - layout.prop(sculpt, "show_low_resolution") - layout.prop(sculpt, "show_brush") - layout.prop(sculpt, "use_deform_only") - layout.prop(sculpt, "show_mask") - - -class VIEW3D_MT_hide_mask(Menu): - bl_label = "Hide/Mask" - - def draw(self, _context): - layout = self.layout - props = layout.operator("paint.hide_show", text="Show All") props.action = 'SHOW' props.area = 'ALL' @@ -2885,7 +2816,6 @@ class VIEW3D_MT_hide_mask(Menu): props = layout.operator("paint.hide_show", text="Hide Masked") props.area = 'MASKED' - props.action = 'HIDE' layout.separator() @@ -4447,6 +4377,7 @@ class VIEW3D_MT_gpencil_simplify(Menu): layout = self.layout layout.operator("gpencil.stroke_simplify_fixed", text="Fixed") layout.operator("gpencil.stroke_simplify", text="Adaptive") + layout.operator("gpencil.stroke_sample", text="Sample") class VIEW3D_MT_paint_gpencil(Menu): @@ -4457,7 +4388,6 @@ class VIEW3D_MT_paint_gpencil(Menu): layout = self.layout layout.menu("VIEW3D_MT_gpencil_animation") - layout.menu("VIEW3D_MT_edit_gpencil_interpolate") layout.separator() @@ -4501,46 +4431,58 @@ class VIEW3D_MT_gpencil_copy_layer(Menu): class VIEW3D_MT_edit_gpencil(Menu): - bl_label = "Strokes" + bl_label = "Grease Pencil" def draw(self, _context): layout = self.layout layout.menu("VIEW3D_MT_edit_gpencil_transform") - - layout.separator() + layout.menu("VIEW3D_MT_mirror") layout.menu("GPENCIL_MT_snap") layout.separator() layout.menu("VIEW3D_MT_gpencil_animation") - layout.menu("VIEW3D_MT_edit_gpencil_interpolate") layout.separator() # Cut, Copy, Paste layout.operator("gpencil.duplicate_move", text="Duplicate") + layout.operator("gpencil.stroke_split", text="Split") layout.operator("gpencil.copy", text="Copy", icon='COPYDOWN') layout.operator("gpencil.paste", text="Paste", icon='PASTEDOWN').type = 'COPY' layout.operator("gpencil.paste", text="Paste & Merge").type = 'MERGE' layout.separator() - layout.operator("gpencil.stroke_smooth", text="Smooth") - layout.operator("gpencil.stroke_subdivide", text="Subdivide") + layout.menu("VIEW3D_MT_weight_gpencil") + + layout.separator() + + layout.menu("VIEW3D_MT_edit_gpencil_showhide") + + layout.operator_menu_enum("gpencil.stroke_separate", "mode") + layout.menu("GPENCIL_MT_cleanup") + + layout.separator() + + # Remove + layout.menu("VIEW3D_MT_edit_gpencil_delete") + + +class VIEW3D_MT_edit_gpencil_stroke(Menu): + bl_label = "Stroke" + + def draw(self, _context): + layout = self.layout + + layout.operator("gpencil.stroke_subdivide", text="Subdivide").only_selected = False layout.menu("VIEW3D_MT_gpencil_simplify") layout.operator("gpencil.stroke_trim", text="Trim") layout.separator() - layout.operator_menu_enum("gpencil.stroke_separate", "mode", text="Separate...") - layout.operator("gpencil.stroke_split", text="Split") - layout.operator("gpencil.stroke_merge", text="Merge") - op = layout.operator("gpencil.stroke_cyclical_set", text="Close") - op.type = 'CLOSE' - op.geometry = True layout.operator_menu_enum("gpencil.stroke_join", "type", text="Join...") - layout.operator("gpencil.stroke_flip", text="Flip Direction") layout.separator() @@ -4551,14 +4493,35 @@ class VIEW3D_MT_edit_gpencil(Menu): layout.separator() # Convert + op = layout.operator("gpencil.stroke_cyclical_set", text="Close") + op.type = 'CLOSE' + op.geometry = True layout.operator("gpencil.stroke_cyclical_set", text="Toggle Cyclic").type = 'TOGGLE' layout.operator_menu_enum("gpencil.stroke_caps_set", text="Toggle Caps...", property="type") + layout.operator("gpencil.stroke_flip", text="Switch Direction") + + +class VIEW3D_MT_edit_gpencil_point(Menu): + bl_label = "Point" + + def draw(self, _context): + layout = self.layout + + layout.operator("gpencil.extrude_move", text="Extrude Points") layout.separator() - # Remove - layout.menu("GPENCIL_MT_cleanup") - layout.menu("VIEW3D_MT_edit_gpencil_delete") + layout.operator("gpencil.stroke_smooth", text="Smooth Points").only_selected = True + + layout.separator() + + layout.operator("gpencil.stroke_merge", text="Merge Points") + + # TODO: add new RIP operator + + layout.separator() + + layout.menu("VIEW3D_MT_gpencil_vertex_group") class VIEW3D_MT_weight_gpencil(Menu): @@ -4571,10 +4534,12 @@ class VIEW3D_MT_weight_gpencil(Menu): layout.operator("gpencil.vertex_group_normalize", text="Normalize") layout.separator() + layout.operator("gpencil.vertex_group_invert", text="Invert") layout.operator("gpencil.vertex_group_smooth", text="Smooth") layout.separator() + layout.menu("VIEW3D_MT_gpencil_autoweights") @@ -4590,12 +4555,17 @@ class VIEW3D_MT_gpencil_animation(Menu): layout = self.layout layout.operator("gpencil.blank_frame_add") - layout.operator("gpencil.active_frames_delete_all", text="Delete Frame(s)") layout.separator() + layout.operator("gpencil.frame_duplicate", text="Duplicate Active Frame") layout.operator("gpencil.frame_duplicate", text="Duplicate All Layers").mode = 'ALL' + layout.separator() + + layout.operator("gpencil.delete", text="Delete Active Frame").type = 'FRAME' + layout.operator("gpencil.active_frames_delete_all", text="Delete All Active Frames") + class VIEW3D_MT_edit_gpencil_transform(Menu): bl_label = "Transform" @@ -4615,14 +4585,17 @@ class VIEW3D_MT_edit_gpencil_transform(Menu): layout.operator("transform.transform", text="Shrink Fatten").mode = 'GPENCIL_SHRINKFATTEN' -class VIEW3D_MT_edit_gpencil_interpolate(Menu): - bl_label = "Interpolate" + layout.operator("gpencil.interpolate", text="Interpolate") + layout.operator("gpencil.interpolate_sequence", text="Sequence") + +class VIEW3D_MT_edit_gpencil_showhide(Menu): + bl_label = "Show/hide" def draw(self, _context): layout = self.layout - layout.operator("gpencil.interpolate", text="Interpolate") - layout.operator("gpencil.interpolate_sequence", text="Sequence") + layout.operator("gpencil.hide", text="Hide Active Layer") + layout.operator("gpencil.reveal", text="Show All Layers") class VIEW3D_MT_object_mode_pie(Menu): @@ -5801,23 +5774,36 @@ class VIEW3D_PT_overlay_pose(Panel): row.prop(overlay, "show_xray_bone") -class VIEW3D_PT_overlay_paint(Panel): +class VIEW3D_PT_overlay_texture_paint(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'HEADER' bl_parent_id = 'VIEW3D_PT_overlay' - bl_label = "" + bl_label = "Texture Paint" @classmethod def poll(cls, context): - return context.mode in {'PAINT_WEIGHT', 'PAINT_VERTEX', 'PAINT_TEXTURE'} + return context.mode == 'PAINT_TEXTURE' - def draw_header(self, context): + def draw(self, context): layout = self.layout - layout.label(text={ - 'PAINT_TEXTURE': "Texture Paint", - 'PAINT_VERTEX': "Vertex Paint", - 'PAINT_WEIGHT': "Weight Paint", - }[context.mode]) + view = context.space_data + overlay = view.overlay + display_all = overlay.show_overlays + + col = layout.column() + col.active = display_all + col.prop(overlay, "texture_paint_mode_opacity") + + +class VIEW3D_PT_overlay_vertex_paint(Panel): + bl_space_type = 'VIEW_3D' + bl_region_type = 'HEADER' + bl_parent_id = 'VIEW3D_PT_overlay' + bl_label = "Vertex Paint" + + @classmethod + def poll(cls, context): + return context.mode == 'PAINT_VERTEX' def draw(self, context): layout = self.layout @@ -5828,22 +5814,37 @@ class VIEW3D_PT_overlay_paint(Panel): col = layout.column() col.active = display_all - col.prop(overlay, { - 'PAINT_TEXTURE': "texture_paint_mode_opacity", - 'PAINT_VERTEX': "vertex_paint_mode_opacity", - 'PAINT_WEIGHT': "weight_paint_mode_opacity", - }[context.mode], text="Opacity") + col.prop(overlay, "vertex_paint_mode_opacity", text="Opacity") + col.prop(overlay, "show_paint_wire") - if context.mode == 'PAINT_WEIGHT': - row = col.split(factor=0.33) - row.label(text="Zero Weights") - sub = row.row() - sub.prop(context.tool_settings, "vertex_group_user", expand=True) - col.prop(overlay, "show_wpaint_contours") +class VIEW3D_PT_overlay_weight_paint(Panel): + bl_space_type = 'VIEW_3D' + bl_region_type = 'HEADER' + bl_parent_id = 'VIEW3D_PT_overlay' + bl_label = "Weight Paint" - if context.mode in {'PAINT_WEIGHT', 'PAINT_VERTEX'}: - col.prop(overlay, "show_paint_wire") + @classmethod + def poll(cls, context): + return context.mode == 'PAINT_WEIGHT' + + def draw(self, context): + layout = self.layout + view = context.space_data + overlay = view.overlay + display_all = overlay.show_overlays + + col = layout.column() + col.active = display_all + + col.prop(overlay, "weight_paint_mode_opacity", text="Opacity") + row = col.split(factor=0.33) + row.label(text="Zero Weights") + sub = row.row() + sub.prop(context.tool_settings, "vertex_group_user", expand=True) + + col.prop(overlay, "show_wpaint_contours") + col.prop(overlay, "show_paint_wire") class VIEW3D_PT_pivot_point(Panel): @@ -6306,8 +6307,7 @@ class VIEW3D_MT_gpencil_edit_context_menu(Menu): if is_3d_view: layout.menu("GPENCIL_MT_cleanup") - layout.operator("gpencil.stroke_simplify_fixed", text="Simplify") - layout.operator("gpencil.stroke_simplify", text="Simplify Adaptive") + layout.menu("VIEW3D_MT_gpencil_simplify") layout.operator("gpencil.stroke_merge", text="Merge") layout.menu("VIEW3D_MT_edit_gpencil_delete") @@ -6552,14 +6552,13 @@ classes = ( VIEW3D_MT_object_showhide, VIEW3D_MT_make_single_user, VIEW3D_MT_make_links, - VIEW3D_MT_brush, VIEW3D_MT_brush_paint_modes, VIEW3D_MT_paint_vertex, VIEW3D_MT_hook, VIEW3D_MT_vertex_group, + VIEW3D_MT_gpencil_vertex_group, VIEW3D_MT_paint_weight, VIEW3D_MT_sculpt, - VIEW3D_MT_hide_mask, VIEW3D_MT_particle, VIEW3D_MT_particle_context_menu, VIEW3D_MT_particle_showhide, @@ -6601,7 +6600,10 @@ classes = ( VIEW3D_MT_paint_gpencil, VIEW3D_MT_assign_material, VIEW3D_MT_edit_gpencil, + VIEW3D_MT_edit_gpencil_stroke, + VIEW3D_MT_edit_gpencil_point, VIEW3D_MT_edit_gpencil_delete, + VIEW3D_MT_edit_gpencil_showhide, VIEW3D_MT_weight_gpencil, VIEW3D_MT_gpencil_animation, VIEW3D_MT_gpencil_simplify, @@ -6628,7 +6630,6 @@ classes = ( VIEW3D_MT_edit_armature_names, VIEW3D_MT_edit_armature_delete, VIEW3D_MT_edit_gpencil_transform, - VIEW3D_MT_edit_gpencil_interpolate, VIEW3D_MT_object_mode_pie, VIEW3D_MT_view_pie, VIEW3D_MT_transform_gizmo_pie, @@ -6668,7 +6669,9 @@ classes = ( VIEW3D_PT_overlay_edit_mesh_normals, VIEW3D_PT_overlay_edit_mesh_freestyle, VIEW3D_PT_overlay_edit_curve, - VIEW3D_PT_overlay_paint, + VIEW3D_PT_overlay_texture_paint, + VIEW3D_PT_overlay_vertex_paint, + VIEW3D_PT_overlay_weight_paint, VIEW3D_PT_overlay_pose, VIEW3D_PT_overlay_sculpt, VIEW3D_PT_pivot_point, |