[Bf-extensions-cvs] [3cc8407] master: Update Dynamic Spacebar Menu: Context Sensitive cleanup, code rewrite
meta-androcto
noreply at git.blender.org
Tue Apr 19 05:01:45 CEST 2016
Commit: 3cc840752b1871a77b8250ae22a56a2be1c72710
Author: meta-androcto
Date: Tue Apr 19 13:01:23 2016 +1000
Branches: master
https://developer.blender.org/rBA3cc840752b1871a77b8250ae22a56a2be1c72710
Update Dynamic Spacebar Menu: Context Sensitive cleanup, code rewrite
===================================================================
M space_view3d_spacebar_menu.py
===================================================================
diff --git a/space_view3d_spacebar_menu.py b/space_view3d_spacebar_menu.py
index 53e9ade..fd0e802 100644
--- a/space_view3d_spacebar_menu.py
+++ b/space_view3d_spacebar_menu.py
@@ -1,5 +1,3 @@
-#3d_cursor_menu.py (c) 2011 Jonathan Smith (JayDez)
-#
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
@@ -17,14 +15,15 @@
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
+# Contributed to by: meta-androcto, JayDez, sim88, sam #
bl_info = {
- "name": "Dynamic Spacebar Menu",
- "author": "meta-androcto, JayDez, sim88, sam",
- "version": (1, 7, 4),
- "blender": (2, 72, 0),
- "location": "View3D > Spacebar for menu then 's' key for Search",
- "description": "Context Sensitive Spacebar Menu",
+ "name": "Dynamic Context Menu",
+ "author": "meta-androcto",
+ "version": (1, 8, 0),
+ "blender": (2, 77, 0),
+ "location": "View3D > Double right click",
+ "description": "Object Context Sensitive double right click Menu",
"warning": "",
"wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
"Scripts/3D_interaction/Dynamic_Spacebar_Menu",
@@ -32,610 +31,578 @@ bl_info = {
}
import bpy
+from bpy.types import Operator, Menu
+
+### Dynamic Context Sensitive Menu ###
+### Main Menu based on Object Type & 3d View Editor Mode ###
-# Dynamic Menu
class VIEW3D_MT_Space_Dynamic_Menu(bpy.types.Menu):
- bl_label = "Dynamic Spacebar Menu"
+ bl_label = "Dynamic Context Menu"
def draw(self, context):
layout = self.layout
settings = context.tool_settings
layout.operator_context = 'INVOKE_REGION_WIN'
+ scene = context.scene
+ obj = context.object
- ob = context
- if ob.mode == 'OBJECT':
- # Object mode
-
- # Search Menu
+### Mesh Object Mode ###
+ if obj.type == 'MESH' and obj.mode in {'OBJECT'}:
+ layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
layout.separator()
-
- # Add Menu block
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_Select_Object", icon='RESTRICT_SELECT_OFF')
layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
-
- # Transform block
+ layout.menu("VIEW3D_MT_Object", icon='VIEW3D')
layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
-
- # Mirror block
layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-
- # Cursor Block
layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
-
- # Parent block
layout.menu("VIEW3D_MT_ParentMenu", icon='ROTACTIVE')
-
- # Group block
layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP')
-
- # Modifier block
- layout.operator_menu_enum("object.modifier_add", "type",
- icon='MODIFIER')
-
- # Align block
- layout.menu("VIEW3D_MT_AlignMenu", icon='ALIGN')
-
- # Select block
- layout.menu("VIEW3D_MT_SelectMenu", icon='RESTRICT_SELECT_OFF')
-
- # Toolshelf block
+ layout.menu("VIEW3D_MT_object_specials", 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("object.delete", text="Delete Object", icon='X_VEC')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
layout.operator("view3d.toolshelf", icon='MENU_PANEL')
-
- # Properties block
layout.operator("view3d.properties", icon='MENU_PANEL')
- #TODO: Add if statement to test whether editmode switch needs to
- #be added to the menu, since certain object can't enter edit mode
- #In which case we don't need the toggle
- # Toggle Editmode
- layout.operator("object.editmode_toggle", text="Enter Edit Mode",
- icon='EDITMODE_HLT')
-
- # Delete block
- layout.operator("object.delete", text="Delete Object",
- icon='CANCEL')
-
-
- elif ob.mode == 'EDIT_MESH':
- # Edit mode
-
- # Search Menu
+## Mesh Edit Mode ##
+ if obj.type == 'MESH' and obj.mode in {'EDIT'}:
layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
layout.separator()
-
- # Add block
- layout.menu("INFO_MT_mesh_add", text="Add Mesh",
- icon='OUTLINER_OB_MESH')
-
- # Transform block
- layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
-
- # Mirror block
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_Select_Edit_Mesh", icon='RESTRICT_SELECT_OFF')
+ layout.menu("INFO_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_TransformMenuEdit", icon='MANIPUL')
layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-
- # Cursor block
layout.menu("VIEW3D_MT_EditCursorMenu", icon='CURSOR')
+ layout.menu("VIEW3D_MT_UV_Map", icon='MOD_UVPROJECT')
+ layout.menu("VIEW3D_MT_edit_mesh_specials", icon='SOLO_OFF')
+ layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='ORTHO')
+ layout.menu("VIEW3D_MT_Edit_Multi", icon='VERTEXSEL')
+ layout.menu("VIEW3D_MT_edit_mesh_delete", icon='X_VEC')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+ layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+ layout.operator("view3d.properties", icon='MENU_PANEL')
- # Proportional block
- layout.prop_menu_enum(settings, "proportional_edit",
- icon="PROP_CON")
- layout.prop_menu_enum(settings, "proportional_edit_falloff",
- icon="SMOOTHCURVE")
+## Sculpt Mode ##
+ if obj.type == 'MESH' and obj.mode in {'SCULPT'}:
- # Edit block
- layout.menu("VIEW3D_MT_edit_TK", icon='EDITMODE_HLT')
+ layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+ layout.separator()
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_sculpt", icon='SCULPTMODE_HLT')
+ layout.menu("VIEW3D_MT_brush", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_hide_mask", icon='SCULPTMODE_HLT')
+ layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+ layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+ layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+ layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+ layout.operator("view3d.properties", icon='MENU_PANEL')
- # Multi Select
- layout.menu("VIEW3D_MT_edit_multi", icon='VERTEXSEL')
+## Vertex Paint ##
+ if obj.type == 'MESH' and obj.mode in {'VERTEX_PAINT'}:
- # Extrude block
- layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='EDIT_VEC')
+ layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+ layout.separator()
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_paint_vertex", icon='VPAINT_HLT')
+ layout.menu("VIEW3D_MT_brush", icon='BRUSH_DATA')
+ layout.operator("paint.vertex_color_set", icon='GROUP_VCOL')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+ layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+ layout.operator("view3d.properties", icon='MENU_PANEL')
- # Tools block
- layout.menu("VIEW3D_MT_edit_mesh_specials", icon='MODIFIER')
+## Weight Paint Menu ##
+ if obj.type == 'MESH' and obj.mode in {'WEIGHT_PAINT'}:
- # UV Map block
- layout.menu("VIEW3D_MT_uv_map", icon='MOD_UVPROJECT')
+ layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+ layout.separator()
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_paint_weight", icon='WPAINT_HLT')
+ layout.menu("VIEW3D_MT_brush", icon='BRUSH_DATA')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+ layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+ layout.operator("view3d.properties", icon='MENU_PANEL')
- # Select block
- layout.menu("VIEW3D_MT_SelectEditMenu",
- icon='RESTRICT_SELECT_OFF')
+## Texture Paint ##
+ if obj.type == 'MESH' and obj.mode in {'TEXTURE_PAINT'}:
- # Toolshelf block
+ layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+ layout.separator()
+ layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+ layout.menu("VIEW3D_MT_brush", icon='BRUSH_DATA')
+ layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+ layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
layout.operator("view3d.toolshelf", icon='MENU_PANEL')
-
- # Properties block
layout.operator("view3d.properties", icon='MENU_PANEL')
- # Toggle Object Mode
- layout.o
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list