diff options
Diffstat (limited to 'space_view3d_spacebar_menu/__init__.py')
-rw-r--r-- | space_view3d_spacebar_menu/__init__.py | 612 |
1 files changed, 241 insertions, 371 deletions
diff --git a/space_view3d_spacebar_menu/__init__.py b/space_view3d_spacebar_menu/__init__.py index 2cf797ef..201b9506 100644 --- a/space_view3d_spacebar_menu/__init__.py +++ b/space_view3d_spacebar_menu/__init__.py @@ -35,26 +35,23 @@ if "bpy" in locals(): importlib.reload(object_menus) importlib.reload(edit_mesh) importlib.reload(transform_menus) - importlib.reload(select_menus) importlib.reload(view_menus) importlib.reload(armature_menus) importlib.reload(curve_menus) importlib.reload(snap_origin_cursor) - importlib.reload(sculpt_brush_paint) importlib.reload(animation_menus) else: from . import object_menus from . import edit_mesh from . import transform_menus - from . import select_menus from . import view_menus from . import armature_menus from . import curve_menus from . import snap_origin_cursor - from . import sculpt_brush_paint from . import animation_menus + import bpy from bpy.types import ( Operator, @@ -66,8 +63,6 @@ from bpy.props import ( StringProperty, ) -from bl_ui.properties_paint_common import UnifiedPaintPanel - # Dynamic Context Sensitive Menu # # Main Menu based on Object Type & 3d View Editor Mode # @@ -81,6 +76,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.operator_context = 'INVOKE_REGION_WIN' obj = context.active_object view = context.space_data + # No Object Selected # ob = bpy.context.object if not ob or not ob.select_get(): @@ -95,8 +91,9 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("INFO_MT_area", icon='WORKSPACE') layout.menu("VIEW3D_MT_view_viewpoint", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_view_navigation", icon='PIVOT_BOUNDBOX') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') UseSeparator(self, context) layout.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin") @@ -118,34 +115,26 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') + layout.menu("VIEW3D_MT_InteractiveMode", icon='VIEW3D') UseSeparator(self, context) - layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') -# if context.gpencil_data and context.gpencil_data.use_stroke_edit_mode: -# layout.menu("VIEW3D_MT_Edit_Gpencil", icon='GREASEPENCIL') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Mesh Edit Mode # +# Mesh Edit Mode # if obj and obj.type == 'MESH' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -153,32 +142,29 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Edit_Mesh", icon='RESTRICT_SELECT_OFF') layout.menu("VIEW3D_MT_Edit_Multi", icon='VERTEXSEL') UseSeparator(self, context) - layout.menu("VIEW3D_MT_mesh_add", text="Add Mesh", icon='OUTLINER_OB_MESH') - layout.menu("VIEW3D_MT_Edit_Mesh", text="Mesh", icon='MESH_DATA') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_mesh", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_mesh_add", text="Add Mesh", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_edit_mesh", text="Mesh", icon='MESH_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenuEdit", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenuEM", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_EditCursorMenu", icon='PIVOT_CURSOR') + layout.menu("VIEW3D_MT_edit_mesh_vertices", icon='VERTEXSEL') + layout.menu("VIEW3D_MT_edit_mesh_edges", icon='EDGESEL') + layout.menu("VIEW3D_MT_edit_mesh_faces", icon='FACESEL') UseSeparator(self, context) - layout.menu("VIEW3D_MT_UV_Map", icon='MOD_UVPROJECT') - layout.menu("VIEW3D_MT_edit_mesh_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='XRAY') + layout.menu("VIEW3D_MT_uv_map", icon='MOD_UVPROJECT') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_EditCursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') UseSeparator(self, context) layout.menu("VIEW3D_MT_edit_mesh_delete", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Sculpt Mode # +# Sculpt Mode # if obj and obj.type == 'MESH' and obj.mode in {'SCULPT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -186,20 +172,13 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_Sculpts", icon='SCULPTMODE_HLT') - layout.menu("VIEW3D_MT_Angle_Control", text="Angle Control", icon='BRUSH_SCULPT_DRAW') - layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA') - layout.menu("VIEW3D_MT_Hide_Masks", icon='RESTRICT_VIEW_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_Sculpt_Specials", icon='SOLO_OFF') UseSeparator(self, context) + layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_sculpt", icon='SCULPTMODE_HLT') layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Vertex Paint # +# Vertex Paint # if obj and obj.type == 'MESH' and obj.mode in {'VERTEX_PAINT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -207,18 +186,13 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - UseSeparator(self, context) - # layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA') - layout.menu("VIEW3D_MT_Brush_Selection", - text="Vertex Paint Tool") - layout.menu("VIEW3D_MT_Vertex_Colors", icon='GROUP_VCOL') UseSeparator(self, context) + layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_paint_vertex", icon='VPAINT_HLT') layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Weight Paint Menu # +# Weight Paint Menu # if obj and obj.type == 'MESH' and obj.mode in {'WEIGHT_PAINT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -226,18 +200,13 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_Paint_Weights", icon='WPAINT_HLT') - # layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA') - layout.menu("VIEW3D_MT_Brush_Selection", - text="Weight Paint Tool", icon='BRUSH_TEXMASK') UseSeparator(self, context) + layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_paint_weight", icon='WPAINT_HLT') layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Texture Paint # +# Texture Paint # if obj and obj.type == 'MESH' and obj.mode in {'TEXTURE_PAINT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -245,16 +214,12 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - # layout.menu("VIEW3D_MT_Brush_Settings", icon='BRUSH_DATA') - layout.menu("VIEW3D_MT_Brush_Selection", - text="Texture Paint Tool", icon='SCULPTMODE_HLT') UseSeparator(self, context) + layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Curve Object Mode # +# Curve Object Mode # if obj and obj.type == 'CURVE' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -263,33 +228,26 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Edit Curve # +# Edit Curve # if obj and obj.type == 'CURVE' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -297,64 +255,54 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Edit_Curve", - icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_curve", + icon='RESTRICT_SELECT_OFF') layout.menu("VIEW3D_MT_curve_add", text="Add Curve", icon='OUTLINER_OB_CURVE') - layout.menu("VIEW3D_MT_Edit_Curve", icon='CURVE_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') + layout.menu("VIEW3D_MT_Edit_Curve", icon='CURVE_DATA') + layout.menu("VIEW3D_MT_transform", icon='EMPTY_ARROWS') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') - layout.menu("VIEW3D_MT_EditCurveCtrlpoints", + layout.menu("VIEW3D_MT_edit_curve_ctrlpoints", icon='CURVE_BEZCURVE') - layout.menu("VIEW3D_MT_EditCurveSpecials", - icon='SOLO_OFF') UseSeparator(self, context) - layout.operator("curve.delete", text="Delete Object", + layout.menu("VIEW3D_MT_edit_curve_delete", text="Delete", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Surface Object Mode # +# Surface Object Mode # if obj and obj.type == 'SURFACE' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Edit Surface # +# Edit Surface # if obj and obj.type == 'SURFACE' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -362,63 +310,54 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Edit_Surface", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_surface", icon='RESTRICT_SELECT_OFF') layout.menu("VIEW3D_MT_surface_add", text="Add Surface", icon='OUTLINER_OB_SURFACE') - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.prop_menu_enum(settings, "proportional_edit", - icon="PROP_CON") - layout.prop_menu_enum(settings, "proportional_edit_falloff", - icon="SMOOTHCURVE") - layout.menu("VIEW3D_MT_EditCurveSpecials", - icon='SOLO_OFF') + layout.menu("VIEW3D_MT_Edit_Curve", icon='CURVE_DATA') + layout.menu("VIEW3D_MT_transform", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') + layout.menu("VIEW3D_MT_edit_curve_ctrlpoints", + icon='CURVE_BEZCURVE') UseSeparator(self, context) - layout.operator("curve.delete", text="Delete Object", - icon='CANCEL') + layout.menu("VIEW3D_MT_edit_curve_delete", text="Delete", + icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Metaball Object Mode # + +# Metaball Object Mode # if obj and obj.type == 'META' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Edit Metaball # +# Edit Metaball # if obj and obj.type == 'META' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -426,181 +365,107 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_SelectMetaball", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_metaball", icon='RESTRICT_SELECT_OFF') layout.operator_menu_enum("object.metaball_add", "type", text="Add Metaball", icon='OUTLINER_OB_META') - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') - UseSeparator(self, context) - layout.prop_menu_enum(settings, "proportional_edit", - icon="PROP_CON") - layout.prop_menu_enum(settings, "proportional_edit_falloff", - icon="SMOOTHCURVE") - UseSeparator(self, context) - layout.operator("mball.delete_metaelems", text="Delete Object", - icon='CANCEL') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - - # Text Object Mode # - if obj and obj.type == 'FONT' and obj.mode in {'OBJECT'}: - - layout.operator_context = 'INVOKE_REGION_WIN' - layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') - layout.menu("VIEW3D_MT_Animation_Player", - text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') - layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) - layout.operator("view3d.interactive_mode_text", icon='VIEW3D') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') - UseSeparator(self, context) - layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') - UseSeparator(self, context) - layout.operator("object.delete", text="Delete Object", icon='X') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - - # Text Edit Mode # - # To Do: Space is already reserved for the typing tool - if obj and obj.type == 'FONT' and obj.mode in {'EDIT'}: - - layout.operator_context = 'INVOKE_REGION_WIN' - layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') - layout.menu("VIEW3D_MT_Animation_Player", - text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') - layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') + layout.menu("VIEW3D_MT_transform", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_mirror", icon='MOD_MIRROR') + layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') + layout.operator("mball.duplicate_metaelems", icon='OUTLINER_DATA_META') + layout.menu("VIEW3D_MT_edit_meta_showhide", icon='HIDE_OFF') UseSeparator(self, context) - layout.operator("object.editmode_toggle", text="Enter Object Mode", - icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_select_edit_text", icon='VIEW3D') - layout.menu("VIEW3D_MT_edit_font", icon='RESTRICT_SELECT_OFF') + layout.operator("mball.delete_metaelems", text="Delete", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Camera Object Mode # +# Camera Object Mode # if obj and obj.type == 'CAMERA' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_TransformMenuCamera", icon='EMPTY_ARROWS') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Lamp Object Mode # +# Lamp Object Mode # if obj and obj.type == 'LIGHT' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Armature Object Mode # +# Armature Object Mode # if obj and obj.type == 'ARMATURE' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Armature", icon='VIEW3D') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenuArmature", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Armature Edit # +# Armature Edit # if obj and obj.type == 'ARMATURE' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -608,10 +473,10 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Armature", icon='VIEW3D') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Edit_Armature", + UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_armature", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) layout.menu("VIEW3D_MT_armature_add", text="Add Armature", @@ -621,11 +486,10 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_EditArmatureTK", icon='ARMATURE_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenuArmatureEdit", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') + layout.menu("VIEW3D_MT_transform_armature", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_mirror", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_armature_context_menu", icon='SOLO_OFF') + layout.menu("VIEW3D_MT_object_parent") layout.menu("VIEW3D_MT_edit_armature_roll", icon='BONE_DATA') UseSeparator(self, context) @@ -634,7 +498,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Armature Pose # +# Armature Pose # if obj and obj.type == 'ARMATURE' and obj.mode in {'POSE'}: arm = context.active_object.data @@ -644,13 +508,13 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Armature", icon='VIEW3D') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Pose", icon='RESTRICT_SELECT_OFF') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_pose", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) layout.menu("VIEW3D_MT_Pose", icon='ARMATURE_DATA') - layout.menu("VIEW3D_MT_TransformMenuArmaturePose", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_transform_armature", icon='EMPTY_ARROWS') layout.menu("VIEW3D_MT_pose_transform", icon='EMPTY_DATA') UseSeparator(self, context) layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') @@ -662,8 +526,6 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("VIEW3D_MT_pose_apply", icon='AUTO') layout.operator("pose.relax", icon='ARMATURE_DATA') - layout.menu("VIEW3D_MT_KeyframeMenu", icon='KEY_HLT') - layout.menu("VIEW3D_MT_pose_context_menu", icon='SOLO_OFF') layout.menu("VIEW3D_MT_pose_group", icon='GROUP_BONE') UseSeparator(self, context) layout.operator_menu_enum("pose.constraint_add", @@ -671,42 +533,35 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Lattice Object Mode # +# Lattice Object Mode # if obj and obj.type == 'LATTICE' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Edit Lattice # +# Edit Lattice # if obj and obj.type == 'LATTICE' and obj.mode in {'EDIT'}: layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -714,59 +569,48 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Edit_Lattice", - icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') - layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_lattice", + icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.prop_menu_enum(settings, "proportional_edit", - icon="PROP_CON") - layout.prop_menu_enum(settings, "proportional_edit_falloff", - icon="SMOOTHCURVE") + layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_mirror", icon='MOD_MIRROR') + layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) layout.operator("lattice.make_regular") UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Empty Object Mode # +# Empty Object Mode # if obj and obj.type == 'EMPTY' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Speaker Object Mode # +# Speaker Object Mode # if obj and obj.type == 'SPEAKER' and obj.mode in {'OBJECT'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -776,26 +620,21 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_Object", icon='VIEW3D') - UseSeparator(self, context) layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Particle Menu # +# Particle Menu # if obj and context.mode == 'PARTICLE': layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') @@ -803,16 +642,16 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): text="Animation", icon='PLAY') layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_InteractiveMode", icon='VIEW3D') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_Select_Particle", icon='RESTRICT_SELECT_OFF') - layout.menu("VIEW3D_MT_Selection_Mode_Particle", + layout.menu("VIEW3D_MT_select_particle", text="Select and Display Mode", icon='PARTICLE_PATH') UseSeparator(self, context) layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') + layout.menu("VIEW3D_MT_mirror", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) # layout.prop_menu_enum(settings, "proportional_edit", @@ -827,42 +666,35 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Grease Pencil Object Mode # +# Grease Pencil Object Mode # if obj and obj.type == 'GPENCIL' and obj.mode in {'OBJECT'}: + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("VIEW3D_MT_Animation_Player", text="Animation", icon='PLAY') - layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') - UseSeparator(self, context) layout.menu("VIEW3D_MT_interactive_mode_gpencil", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - layout.menu("VIEW3D_MT_Object", icon='VIEW3D') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') - layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR') layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.menu("VIEW3D_MT_ParentMenu", icon='PIVOT_ACTIVE') - layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_object_context_menu", text="Specials", icon='SOLO_OFF') - layout.menu("VIEW3D_MT_Camera_Options", icon='OUTLINER_OB_CAMERA') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) - layout.operator_menu_enum("object.gpencil_modifier_add", "type", icon='MODIFIER') - layout.operator_menu_enum("object.shaderfx_add", "type", icon ='SHADERFX') - layout.operator_menu_enum("object.constraint_add", - "type", text="Add Constraint", icon='CONSTRAINT') + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') UseSeparator(self, context) layout.operator("object.delete", text="Delete Object", icon='X') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Grease Pencil Edit Mode # +# Grease Pencil Edit Mode # if obj and obj.type == 'GPENCIL' and obj.mode in {'EDIT_GPENCIL'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -873,12 +705,10 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) layout.menu("VIEW3D_MT_interactive_mode_gpencil", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_select_gpencil", icon='RESTRICT_SELECT_OFF') layout.menu("VIEW3D_MT_edit_gpencil", icon='GREASEPENCIL') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - UseSeparator(self, context) layout.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin", icon='CURSOR') layout.operator("view3d.snap_cursor_to_grid", @@ -886,7 +716,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Grease Pencil Sculpt Mode # +# Grease Pencil Sculpt Mode # if obj and obj.type == 'GPENCIL' and obj.mode in {'SCULPT_GPENCIL'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -897,10 +727,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) layout.menu("VIEW3D_MT_interactive_mode_gpencil", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_select_gpencil", icon='RESTRICT_SELECT_OFF') - UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') UseSeparator(self, context) layout.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin", icon='CURSOR') @@ -909,7 +736,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Grease Pencil Paint Mode # +# Grease Pencil Paint Mode # if obj and obj.type == 'GPENCIL' and obj.mode in {'PAINT_GPENCIL'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -920,11 +747,9 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) layout.menu("VIEW3D_MT_interactive_mode_gpencil", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_paint_gpencil", icon='RESTRICT_SELECT_OFF') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - UseSeparator(self, context) layout.operator("view3d.snap_cursor_to_center", text="Cursor to World Origin", icon='CURSOR') layout.operator("view3d.snap_cursor_to_grid", @@ -932,7 +757,7 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Grease Pencil Weight Mode # +# Grease Pencil Weight Mode # if obj and obj.type == 'GPENCIL' and obj.mode in {'WEIGHT_GPENCIL'}: layout.operator_context = 'INVOKE_REGION_WIN' @@ -943,14 +768,12 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) layout.menu("VIEW3D_MT_interactive_mode_gpencil", icon='EDITMODE_HLT') - layout.menu("VIEW3D_MT_view", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') layout.menu("VIEW3D_MT_weight_gpencil", icon="GPBRUSH_WEIGHT") UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') - UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') - # Light Probe Menu # +# Light Probe Menu # if obj and obj.type == 'LIGHT_PROBE': layout.operator_context = 'INVOKE_REGION_WIN' @@ -960,22 +783,67 @@ class VIEW3D_MT_Space_Dynamic_Menu(Menu): layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') UseSeparator(self, context) - layout.menu("INFO_MT_area", icon='WORKSPACE') - layout.menu("VIEW3D_MT_view_viewpoint", icon='ZOOM_ALL') - layout.menu("VIEW3D_MT_view_navigation", icon='PIVOT_BOUNDBOX') + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') UseSeparator(self, context) - layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_TransformMenuLite", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_CursorMenuLite", icon='PIVOT_CURSOR') UseSeparator(self, context) - layout.operator("view3d.snap_cursor_to_center", - text="Cursor to World Origin", icon='CURSOR') - layout.operator("view3d.snap_cursor_to_grid", - text="Cursor to Grid", icon='SNAP_GRID') + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') UseSeparator(self, context) layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') UseSeparator(self, context) layout.prop(view, "show_region_toolbar", icon='MENU_PANEL') layout.prop(view, "show_region_ui", icon='MENU_PANEL') +# Text Object Mode # + if obj and obj.type == 'FONT' and obj.mode in {'OBJECT'}: + + layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.operator("wm.toolbar", text="Tools", icon='TOOL_SETTINGS') + layout.menu("VIEW3D_MT_Animation_Player", + text="Animation", icon='PLAY') + layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') + layout.menu("VIEW3D_MT_Object_Interactive_Other", icon='OBJECT_DATA') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_object", icon='RESTRICT_SELECT_OFF') + layout.menu("VIEW3D_MT_add", icon='MESH_CUBE') + layout.menu("VIEW3D_MT_Camera_Options", icon='CAMERA_DATA') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_Object", icon='OBJECT_DATAMODE') + layout.menu("VIEW3D_MT_TransformMenu", icon='EMPTY_ARROWS') + layout.menu("VIEW3D_MT_CursorMenu", icon='PIVOT_CURSOR') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_object_collection", text = "Collections", icon='GROUP') + UseSeparator(self, context) + layout.operator_menu_enum("object.modifier_add", "type", icon='MODIFIER') + UseSeparator(self, context) + layout.operator("object.delete", text="Delete Object", icon='X') + UseSeparator(self, context) + layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') + + +# Text Edit Mode +def menu_func(self, context): + layout = self.layout + + layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL') + layout.menu("VIEW3D_MT_select_edit_text", icon='VIEW3D') + layout.separator() + layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM') + layout.menu("VIEW3D_MT_Animation_Player", + text="Animation", icon='PLAY') + layout.menu("SCREEN_MT_user_menu", text="Quick Favorites", icon='HEART') + layout.operator("object.editmode_toggle", text="Enter Object Mode", + icon='OBJECT_DATA') + layout.separator() + layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT') + # Preferences utility functions @@ -1017,6 +885,7 @@ class VIEW3D_MT_Space_Dynamic_Menu_Pref(AddonPreferences): row.prop(self, "use_separators", toggle=True) row.prop(self, "use_brushes_lists", toggle=True) + # List The Classes # classes = ( @@ -1031,17 +900,18 @@ def register(): for cls in classes: bpy.utils.register_class(cls) + bpy.types.VIEW3D_MT_edit_text_context_menu.append(menu_func) + object_menus.register() edit_mesh.register() transform_menus.register() - select_menus.register() view_menus.register() armature_menus.register() curve_menus.register() snap_origin_cursor.register() - sculpt_brush_paint.register() animation_menus.register() + wm = bpy.context.window_manager kc = wm.keyconfigs.addon if kc: @@ -1065,17 +935,17 @@ def unregister(): object_menus.unregister() edit_mesh.unregister() transform_menus.unregister() - select_menus.unregister() view_menus.unregister() armature_menus.unregister() curve_menus.unregister() snap_origin_cursor.unregister() - sculpt_brush_paint.unregister() animation_menus.unregister() + for cls in reversed(classes): bpy.utils.unregister_class(cls) + bpy.types.VIEW3D_MT_edit_text_context_menu.remove(menu_func) if __name__ == "__main__": register() |