[Bf-blender-cvs] [bb69ff89434] greasepencil-object: UI: Replace Weight Paint menus
Antonioya
noreply at git.blender.org
Fri Jul 27 12:03:31 CEST 2018
Commit: bb69ff894342089af9bd75f628c064bb433b38a8
Author: Antonioya
Date: Fri Jul 27 11:26:40 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rBbb69ff894342089af9bd75f628c064bb433b38a8
UI: Replace Weight Paint menus
Also some preparation for other modes
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 355d07cabb7..480ea48d630 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -254,17 +254,17 @@ class VIEW3D_MT_editor_menus(Menu):
@staticmethod
def draw_menus(layout, context):
obj = context.active_object
- workspace = context.workspace
mode_string = context.mode
edit_object = context.edit_object
- gp_edit = context.active_object and \
- context.active_object.mode in {'GPENCIL_EDIT', 'GPENCIL_PAINT', 'GPENCIL_SCULPT', 'GPENCIL_WEIGHT'}
+ gp_edit = obj and obj.mode in {'GPENCIL_EDIT', 'GPENCIL_PAINT', 'GPENCIL_SCULPT', 'GPENCIL_WEIGHT'}
layout.menu("VIEW3D_MT_view")
# Select Menu
if gp_edit:
- layout.menu("VIEW3D_MT_select_gpencil")
+ if gp_edit:
+ if mode_string != 'GPENCIL_WEIGHT':
+ layout.menu("VIEW3D_MT_select_gpencil")
elif mode_string in {'PAINT_WEIGHT', 'PAINT_VERTEX', 'PAINT_TEXTURE'}:
mesh = obj.data
if mesh.use_paint_mask:
@@ -290,7 +290,15 @@ class VIEW3D_MT_editor_menus(Menu):
layout.menu("INFO_MT_edit_armature_add", text="Add")
if gp_edit:
- layout.menu("VIEW3D_MT_edit_gpencil")
+ if obj and obj.mode == 'GPENCIL_PAINT':
+ layout.menu("VIEW3D_MT_paint_gpencil")
+ elif obj and obj.mode == 'GPENCIL_EDIT':
+ layout.menu("VIEW3D_MT_edit_gpencil")
+ elif obj and obj.mode == 'GPENCIL_SCULPT':
+ layout.menu("VIEW3D_MT_sculpt_gpencil")
+ elif obj and obj.mode == 'GPENCIL_WEIGHT':
+ layout.menu("VIEW3D_MT_weight_gpencil")
+
layout.menu("VIEW3D_MT_gpencil_animation")
elif edit_object:
layout.menu("VIEW3D_MT_edit_%s" % edit_object.type.lower())
@@ -3511,6 +3519,70 @@ class VIEW3D_MT_edit_armature_delete(Menu):
# ********** Grease Pencil Stroke Edit menu **********
+class VIEW3D_MT_paint_gpencil(Menu):
+ bl_label = "Strokes"
+
+ def draw(self, context):
+ tool_settings = context.tool_settings
+
+ layout = self.layout
+
+ layout.menu("VIEW3D_MT_edit_gpencil_transform")
+
+ layout.separator()
+ layout.menu("GPENCIL_MT_snap")
+
+ layout.separator()
+
+ layout.menu("VIEW3D_MT_object_animation") # NOTE: provides keyingset access...
+ layout.menu("VIEW3D_MT_edit_gpencil_interpolate")
+
+ layout.separator()
+
+ layout.operator("gpencil.duplicate_move", text="Duplicate")
+ layout.operator("gpencil.stroke_subdivide", text="Subdivide")
+ layout.operator("gpencil.stroke_simplify_fixed", text="Simplify")
+ layout.operator("gpencil.stroke_simplify", text="Adaptative")
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.stroke_separate", "mode", text="Separate...")
+ layout.operator("gpencil.stroke_split", text="Split")
+ layout.operator_menu_enum("gpencil.stroke_join", "type", text="Join...")
+ layout.operator("gpencil.stroke_flip", text="Flip Direction")
+
+ layout.separator()
+
+ layout.operator("gpencil.copy", text="Copy")
+ layout.operator("gpencil.paste", text="Paste").type = 'COPY'
+ layout.operator("gpencil.paste", text="Paste & Merge").type = 'MERGE'
+
+ layout.separator()
+
+ layout.operator("gpencil.reveal")
+ layout.operator("gpencil.hide", text="Show Active Layer Only").unselected = True
+ layout.operator("gpencil.hide", text="Hide Active Layer").unselected = False
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.move_to_layer", "layer", text="Move to Layer")
+ layout.operator("gpencil.stroke_change_color", text="Move to Color")
+ layout.operator_menu_enum("gpencil.stroke_arrange", "direction", text="Arrange Strokes...")
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.convert", "type", text="Convert to Geometry...")
+
+ layout.separator()
+
+ layout.menu("VIEW3D_MT_edit_gpencil_delete")
+ layout.operator("gpencil.stroke_cyclical_set", text="Toggle Cyclic").type = 'TOGGLE'
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.frame_clean_fill", text="Clean Boundary Strokes...", property="mode")
+
+
class VIEW3D_MT_edit_gpencil(Menu):
bl_label = "Strokes"
@@ -3575,6 +3647,80 @@ class VIEW3D_MT_edit_gpencil(Menu):
layout.operator_menu_enum("gpencil.frame_clean_fill", text="Clean Boundary Strokes...", property="mode")
+class VIEW3D_MT_sculpt_gpencil(Menu):
+ bl_label = "Strokes"
+
+ def draw(self, context):
+ tool_settings = context.tool_settings
+
+ layout = self.layout
+
+ layout.menu("VIEW3D_MT_edit_gpencil_transform")
+
+ layout.separator()
+ layout.menu("GPENCIL_MT_snap")
+
+ layout.separator()
+
+ layout.menu("VIEW3D_MT_object_animation") # NOTE: provides keyingset access...
+ layout.menu("VIEW3D_MT_edit_gpencil_interpolate")
+
+ layout.separator()
+
+ layout.operator("gpencil.duplicate_move", text="Duplicate")
+ layout.operator("gpencil.stroke_subdivide", text="Subdivide")
+ layout.operator("gpencil.stroke_simplify_fixed", text="Simplify")
+ layout.operator("gpencil.stroke_simplify", text="Adaptative")
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.stroke_separate", "mode", text="Separate...")
+ layout.operator("gpencil.stroke_split", text="Split")
+ layout.operator_menu_enum("gpencil.stroke_join", "type", text="Join...")
+ layout.operator("gpencil.stroke_flip", text="Flip Direction")
+
+ layout.separator()
+
+ layout.operator("gpencil.copy", text="Copy")
+ layout.operator("gpencil.paste", text="Paste").type = 'COPY'
+ layout.operator("gpencil.paste", text="Paste & Merge").type = 'MERGE'
+
+ layout.separator()
+
+ layout.operator("gpencil.reveal")
+ layout.operator("gpencil.hide", text="Show Active Layer Only").unselected = True
+ layout.operator("gpencil.hide", text="Hide Active Layer").unselected = False
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.move_to_layer", "layer", text="Move to Layer")
+ layout.operator("gpencil.stroke_change_color", text="Move to Color")
+ layout.operator_menu_enum("gpencil.stroke_arrange", "direction", text="Arrange Strokes...")
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.convert", "type", text="Convert to Geometry...")
+
+ layout.separator()
+
+ layout.menu("VIEW3D_MT_edit_gpencil_delete")
+ layout.operator("gpencil.stroke_cyclical_set", text="Toggle Cyclic").type = 'TOGGLE'
+
+ layout.separator()
+
+ layout.operator_menu_enum("gpencil.frame_clean_fill", text="Clean Boundary Strokes...", property="mode")
+
+
+class VIEW3D_MT_weight_gpencil(Menu):
+ bl_label = "Weights"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("gpencil.vertex_group_invert", text="Invert")
+ layout.operator("gpencil.vertex_group_smooth", text="Smooth")
+
+
class VIEW3D_MT_gpencil_animation(Menu):
bl_label = "Animation"
@@ -4912,8 +5058,11 @@ classes = (
VIEW3D_MT_edit_mesh_clean,
VIEW3D_MT_edit_mesh_delete,
VIEW3D_MT_edit_mesh_showhide,
+ VIEW3D_MT_paint_gpencil,
VIEW3D_MT_edit_gpencil,
VIEW3D_MT_edit_gpencil_delete,
+ VIEW3D_MT_sculpt_gpencil,
+ VIEW3D_MT_weight_gpencil,
VIEW3D_MT_gpencil_animation,
VIEW3D_MT_edit_curve,
VIEW3D_MT_edit_curve_ctrlpoints,
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index cc2e1d659e5..fac4bb62cfa 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1697,34 +1697,6 @@ class VIEW3D_PT_tools_grease_pencil_weight_paint(View3DPanel, Panel):
col.prop(brush, "use_falloff")
-# Grease Pencil weight painting operators
-class VIEW3D_PT_tools_grease_pencil_weight_tools(Panel):
- bl_space_type = 'VIEW_3D'
- bl_category = "Tools"
- bl_region_type = 'TOOLS'
- bl_label = "Weight Tools"
-
- @classmethod
- def poll(cls, context):
- if context.gpencil_data is None:
- return False
-
- if context.active_object:
- return context.active_object.mode == 'GPENCIL_WEIGHT'
-
- return False
-
-
- @staticmethod
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
-
- col = layout.column()
- col.operator("gpencil.vertex_group_invert", text="Invert")
- col.operator("gpencil.vertex_group_smooth", text="Smooth")
-
-
# Grease Pencil Brush Appeareance (one for each mode)
class VIEW3D_PT_tools_grease_pencil_paint_appearance(GreasePencilAppearancePanel, View3DPanel, Panel):
bl_context = ".greasepencil_paint"
@@ -1779,7 +1751,6 @@ classes = (
VIEW3D_PT_tools_grease_pencil_shapes,
VIEW3D_PT_tools_grease_pencil_sculpt,
VIEW3D_PT_tools_grease_pencil_weight_paint,
- VIEW3D_PT_tools_grease_pencil_weight_tools,
VIEW3D_PT_tools_grease_pencil_paint_appearance,
VIEW3D_PT_tools_grease_pencil_sculpt_appearance,
VIEW3D_PT_tools_grease_pencil_weight_appearance,
More information about the Bf-blender-cvs
mailing list