[Bf-extensions-cvs] [1cc12d9a] master: update dynamic toolshelf menus to current spacebar menu addon

meta-androcto noreply at git.blender.org
Sat Feb 25 10:01:12 CET 2017


Commit: 1cc12d9aeb05cd91a09bad1ba7934472377d6d3d
Author: meta-androcto
Date:   Sat Feb 25 20:00:46 2017 +1100
Branches: master
https://developer.blender.org/rBAC1cc12d9aeb05cd91a09bad1ba7934472377d6d3d

update dynamic toolshelf menus to current spacebar menu addon

===================================================================

M	space_view3d_toolshelf_menu.py

===================================================================

diff --git a/space_view3d_toolshelf_menu.py b/space_view3d_toolshelf_menu.py
index 4aa6495e..6646834c 100644
--- a/space_view3d_toolshelf_menu.py
+++ b/space_view3d_toolshelf_menu.py
@@ -40,6 +40,7 @@ from bpy.types import (
         AddonPreferences,
         )
 
+from bl_ui.properties_paint_common import UnifiedPaintPanel
 
 class View3DPanel():
     bl_space_type = 'VIEW_3D'
@@ -54,947 +55,2450 @@ class VIEW3D_PT_Toolshelf_menu(View3DPanel, Panel):
         layout = self.layout
         settings = context.tool_settings
         layout.operator_context = 'INVOKE_REGION_WIN'
+        obj = context.object
 
-        ob = context
-        if ob.mode == 'OBJECT':
-            # Object mode
+# No Object Selected #
+        if not context.active_object:
 
-            # Search Menu
+            layout.operator_context = 'INVOKE_REGION_WIN'
             layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
-            layout.separator()
-
-            # Add Menu block
             layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
+            layout.menu("VIEW3D_MT_View_Directions", icon='ZOOM_ALL')
+            layout.menu("VIEW3D_MT_View_Navigation", icon='ROTATE')
+            layout.menu("VIEW3D_MT_View_Toggle", icon='SPLITSCREEN')
+            layout.operator("view3d.snap_cursor_to_center",
+                            text="Cursor to Center")
+            layout.operator("view3d.snap_cursor_to_grid",
+                            text="Cursor to Grid")
+            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+            UseSeparator(self, context)
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+            layout.operator("view3d.properties", icon='MENU_PANEL')
+            if context.gpencil_data and context.gpencil_data.use_stroke_edit_mode:
+                layout.menu("VIEW3D_MT_Edit_Gpencil", icon='GREASEPENCIL')
 
-            # Transform block
-            layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+# Mesh Object Mode #
+        if obj and obj.type == 'MESH' and obj.mode in {'OBJECT'}:
 
-            # Mirror block
+            layout.operator_context = 'INVOKE_REGION_WIN'
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_View_Menu", 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='MANIPUL')
             layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-
-            # Cursor Block
             layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
-
-            # Parent block
+            UseSeparator(self, context)
             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.operator("view3d.toolshelf", text="Tool Shelf", icon='MENU_PANEL')
-
-            # Properties block
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_object_specials", 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')
+            layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+            UseSeparator(self, context)
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
             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 and 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
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_View_Menu", 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("INFO_MT_mesh_add", text="Add Mesh", icon='OUTLINER_OB_MESH')
+            layout.menu("VIEW3D_MT_Edit_Mesh", text="Mesh", icon='MESH_DATA')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_TransformMenuEdit", icon='MANIPUL')
             layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
-
-            # Cursor block
             layout.menu("VIEW3D_MT_EditCursorMenu", icon='CURSOR')
+            UseSeparator(self, context)
+            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')
+            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')
+            layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+            UseSeparator(self, context)
+            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 and 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')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_View_Menu", icon='ZOOM_ALL')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_Sculpts", icon='SCULPTMODE_HLT')
+            layout.menu("VIEW3D_MT_Brush_Selection", text="Sculpt Tool", 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_TransformMenu", icon='MANIPUL')
+            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+            layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+            layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+            UseSeparator(self, context)
+            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 and obj.type == 'MESH' and obj.mode in {'VERTEX_PAINT'}:
 
-            # Extrude block
-            layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='MOD_WIREFRAME')
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_View_Menu", 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", icon='BRUSH_VERTEXDRAW')
+            layout.menu("VIEW3D_MT_Vertex_Colors", icon='GROUP_VCOL')
+            UseSeparator(self, context)
+            layout.menu("VIEW3D_MT_UndoS", icon='ARROW_LEFTRIGHT')
+            layout.menu("VIEW3D_MT_Object_Interactive_Mode", icon='EDIT')
+            UseSeparator(self, context)
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list