[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [599] trunk/py/scripts/addons/ space_view3d_spacebar_menu.py: spacebar menu is complete enough for release to add ons.

Brendon Murphy meta.androcto1 at gmail.com
Sat Apr 17 18:35:45 CEST 2010


Revision: 599
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=599
Author:   meta-androcto
Date:     2010-04-17 18:35:44 +0200 (Sat, 17 Apr 2010)

Log Message:
-----------
spacebar menu is complete enough for release to add ons.
this will allow more user feedback for any required updates.

Added Paths:
-----------
    trunk/py/scripts/addons/space_view3d_spacebar_menu.py

Added: trunk/py/scripts/addons/space_view3d_spacebar_menu.py
===================================================================
--- trunk/py/scripts/addons/space_view3d_spacebar_menu.py	                        (rev 0)
+++ trunk/py/scripts/addons/space_view3d_spacebar_menu.py	2010-04-17 16:35:44 UTC (rev 599)
@@ -0,0 +1,1259 @@
+#3d_cursor_menu.py (c) 2010 Jonathan Smith (JayDez)
+#Original Script by: Mariano Hidalgo (uselessdreamer)
+#contributed to by: Crouch, sim88, sam, meta-androcto
+#
+#Tested with r28146
+#
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+bl_addon_info = {
+    'name': '3D View: Dynamic Spacebar Menu',
+    'author': 'JayDez, sim88, meta-androcto',
+    'version': '1.3',
+    'blender': (2, 5, 3),
+    'location': 'View3D > Mouse > Menu ',
+    'description': 'Dynamic Menu Object/Edit mode in the 3D View',
+    'url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/' \
+        'Scripts/3D_interaction/Dynamic_Menu',
+    'category': '3D View'}
+"Add Dynamic Menu (Right click in View3D)"
+
+"""
+Name: 'Dynamic Spacebar Menu'
+Blender: 253
+"""
+
+__author__ = ["JayDez, sim88, meta-androcto, sam"]
+__version__ = '1.5'
+__url__ = [""]
+__bpydoc__ = """
+Dynamic Menu
+This adds a the Dynamic Spacebar Menu in the 3DView.
+
+Usage:
+* Right click in an empty space in the 3D View(that means nothing
+selectable is there). If your select mouse is set to left then left
+click in the 3D View.
+
+* Choose your function from the menu.
+
+Version history:
+v1.5 - (meta-androcto) - adding context sensitive menus.
+v1.3 - (JayDez) - Changed toggle editmode to an if statement, so that
+    if you are in editmode it will show change to object mode but
+    otherwise it shows change to edit mode. Also added separate icons
+    for change to edit mode and to object mode.
+v1.2 - (JayDez) - Editing docs, changing 3D cursor to dynamic menu,
+    reorganizing menu.
+v1.1 - (meta-androcto) - added editmode menu
+v1.0 - (meta-androcto) - initial final revision (commited to contrib)
+v0.1 through 0.9 - various tests/contributions by various people and scripts
+    Devs: JayDez, Crouch, sim88, meta-androcto, Sam
+    Scripts: 3D Cursor Menu, Original Dynamic Menu
+"""
+import bpy
+from bpy import *
+
+
+# Classes for VIEW3D_MT_CursorMenu()
+class pivot_cursor(bpy.types.Operator):
+    bl_idname = "view3d.pivot_cursor"
+    bl_label = "Cursor as Pivot Point"
+
+    def poll(self, context):
+        return bpy.context.space_data.pivot_point != 'CURSOR'
+
+    def execute(self, context):
+        bpy.context.space_data.pivot_point = 'CURSOR'
+        return {'FINISHED'}
+
+
+class revert_pivot(bpy.types.Operator):
+    bl_idname = "view3d.revert_pivot"
+    bl_label = "Reverts Pivot Point to median"
+
+    def poll(self, context):
+        return bpy.context.space_data.pivot_point != 'MEDIAN_POINT'
+
+    def execute(self, context):
+        bpy.context.space_data.pivot_point = 'MEDIAN_POINT'
+        # @todo Change this to 'BOUDNING_BOX_CENTER' if needed...
+        return{'FINISHED'}
+
+
+# Dynamic Menu
+class VIEW3D_MT_Space_Dynamic_Menu(bpy.types.Menu):
+    bl_label = "Dynamic Spacebar Menu"
+
+    def draw(self, context):
+        layout = self.layout
+        settings = context.tool_settings
+        layout.operator_context = 'INVOKE_REGION_WIN'
+
+        ob = context
+        if ob.mode == 'OBJECT':
+            # Object mode
+
+            # Search Menu
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+            layout.separator()
+
+            # Add Menu block
+            layout.menu("VIEW3D_MT_AddMenu", icon='OBJECT_DATAMODE')
+            layout.separator()
+
+            # Transform block
+            layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+
+            # Mirror block
+            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+            layout.separator()
+
+            # Parent block
+            layout.menu("VIEW3D_MT_ParentMenu", icon='ROTACTIVE')
+
+            # Group block
+            layout.menu("VIEW3D_MT_GroupMenu", icon='GROUP')
+            layout.separator()
+
+            # Modifier block
+            layout.operator("object.modifier_add", icon='MODIFIER')
+            layout.separator()
+
+            # Cursor Block
+            layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+            layout.separator()
+
+            # Align block
+            layout.menu("VIEW3D_MT_AlignMenu", icon='ALIGN')
+            layout.separator()
+
+            # Select block
+            layout.menu("VIEW3D_MT_SelectMenu", icon='RESTRICT_SELECT_OFF')
+
+            # Toolshelf block
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+            layout.separator()
+
+            # 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
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+
+            # Add block
+            bl_label = "Create"
+            layout.menu("INFO_MT_mesh_add", text="Add Mesh",
+                icon='EDITMODE_HLT')
+            layout.separator()
+
+            # Transform block
+            layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+            layout.separator()
+
+            # Mirror block
+            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+            layout.separator()
+
+            # Cursor block
+            layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+            layout.separator()
+
+            # Edit block
+            layout.menu("VIEW3D_MT_edit_TK", icon='OUTLINER_OB_MESH')
+            layout.separator()
+
+            # Extrude block
+            layout.menu("VIEW3D_MT_edit_mesh_extrude", icon='EDITMODE_HLT')
+            layout.separator()
+
+            # Tools block
+            layout.menu("VIEW3D_MT_edit_mesh_specials", icon='MODIFIER')
+            layout.menu("VIEW3D_MT_uv_map", icon='MOD_UVPROJECT')
+			
+            # Select block
+            layout.menu("VIEW3D_MT_SelectMenu", icon='RESTRICT_SELECT_OFF')
+
+            # Toolshelf block
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+            layout.separator()
+
+            # Toggle Object Mode
+            layout.operator("object.editmode_toggle", text="Enter Object Mode",
+                icon='OBJECT_DATAMODE')
+
+            # Delete Block
+            layout.operator("mesh.delete", icon='CANCEL')
+
+        if ob.mode == 'EDIT_CURVE':
+            # Curve menu
+
+            # Search Menu
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+
+            # Transform block
+            layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+            layout.separator()
+
+            # Mirror block
+            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+            layout.separator()
+
+            # Proportional block
+            layout.prop_menu_enum(settings, "proportional_editing", icon= "PROP_CON")
+            layout.prop_menu_enum(settings, "proportional_editing_falloff", icon= "SMOOTHCURVE")
+            layout.separator()
+
+            # Edit Control Points
+            layout.menu("VIEW3D_MT_EditCurveCtrlpoints",
+                icon='CURVE_BEZCURVE')
+            layout.separator()
+
+            # Edit Curve Specials
+            layout.menu("VIEW3D_MT_EditCurveSpecials",
+                icon='MODIFIER')
+            layout.separator()
+
+            # Cursor block
+            layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+            layout.separator()
+
+			# Select Curve Block
+            layout.menu("VIEW3D_MT_SelectCurveMenu", icon='RESTRICT_SELECT_OFF')
+            layout.separator()
+
+            # Toolshelf block
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+            layout.separator()
+
+            # Toggle Objectmode
+            layout.operator("object.editmode_toggle", text="Enter Object Mode",
+                icon='OBJECT_DATA')
+
+            # Delete block
+            layout.operator("object.delete", text="Delete Object",
+                icon='CANCEL')
+
+        if ob.mode == 'EDIT_SURFACE':
+            # Surface menu
+
+            # Search Menu
+            layout.operator("wm.search_menu", text="Search", icon='VIEWZOOM')
+
+            # Transform block
+            layout.menu("VIEW3D_MT_TransformMenu", icon='MANIPUL')
+            layout.separator()
+
+            # Mirror block
+            layout.menu("VIEW3D_MT_MirrorMenu", icon='MOD_MIRROR')
+            layout.separator()
+
+            # Proportional block
+            layout.prop_menu_enum(settings, "proportional_editing", icon= "PROP_CON")
+            layout.prop_menu_enum(settings, "proportional_editing_falloff", icon= "SMOOTHCURVE")
+
+            # Edit Curve Specials
+            layout.menu("VIEW3D_MT_EditCurveSpecials",
+                icon='MODIFIER')
+            layout.separator()
+
+            # Cursor block
+            layout.menu("VIEW3D_MT_CursorMenu", icon='CURSOR')
+            layout.separator()
+
+            # Select Surface
+            layout.menu("VIEW3D_MT_SelectSurface", icon='RESTRICT_SELECT_OFF')
+            layout.separator()
+
+            # Toolshelf block
+            layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+            layout.separator()
+
+            # Toggle Objectmode
+            layout.operator("object.editmode_toggle", text="Enter Object Mode",

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list