Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'space_view3d_pie_menus/pie_select_menu.py')
-rw-r--r--space_view3d_pie_menus/pie_select_menu.py69
1 files changed, 31 insertions, 38 deletions
diff --git a/space_view3d_pie_menus/pie_select_menu.py b/space_view3d_pie_menus/pie_select_menu.py
index 585e28dc..091e18ed 100644
--- a/space_view3d_pie_menus/pie_select_menu.py
+++ b/space_view3d_pie_menus/pie_select_menu.py
@@ -21,8 +21,8 @@
bl_info = {
"name": "Hotkey: 'A'",
"description": "Object/Edit mode Selection Menu",
- # "author": "pitiwazou, meta-androcto",
- # "version": (0, 1, 0),
+ "author": "pitiwazou, meta-androcto",
+ "version": (0, 1, 1),
"blender": (2, 77, 0),
"location": "3D View",
"warning": "",
@@ -31,14 +31,10 @@ bl_info = {
}
import bpy
-from bpy.types import (
- Menu,
- Operator,
- )
-
-# Pie Selection Object Mode - A
+from bpy.types import Menu
+# Pie Selection Object Mode - A
class PieSelectionsMore(Menu):
bl_idname = "pie.selectionsmore"
bl_label = "Pie Selections Object Mode"
@@ -47,15 +43,13 @@ class PieSelectionsMore(Menu):
layout = self.layout
pie = layout.menu_pie()
box = pie.split().column()
- row = box.row(align=True)
box.operator("object.select_by_type", text="Select By Type", icon='SNAP_VOLUME')
box.operator("object.select_grouped", text="Select Grouped", icon='ROTATE')
box.operator("object.select_linked", text="Select Linked", icon='CONSTRAINT_BONE')
box.menu("VIEW3D_MT_select_object_more_less", text="More/Less")
-# Pie Selection Object Mode - A
-
+# Pie Selection Object Mode - A
class PieSelectionsOM(Menu):
bl_idname = "pie.selectionsom"
bl_label = "Pie Selections Object Mode"
@@ -68,9 +62,11 @@ class PieSelectionsOM(Menu):
# 6 - RIGHT
pie.operator("object.select_random", text="Select Random", icon='GROUP_VERTEX')
# 2 - BOTTOM
- pie.operator("object.select_all", text="Invert Selection", icon='ZOOM_PREVIOUS').action = 'INVERT'
+ pie.operator("object.select_all", text="Invert Selection",
+ icon='ZOOM_PREVIOUS').action = 'INVERT'
# 8 - TOP
- pie.operator("object.select_all", text="Select All Toggle", icon='RENDER_REGION').action = 'TOGGLE'
+ pie.operator("object.select_all", text="Select All Toggle",
+ icon='RENDER_REGION').action = 'TOGGLE'
# 7 - TOP - LEFT
pie.operator("view3d.select_circle", text="Circle Select", icon='BORDER_LASSO')
# 9 - TOP - RIGHT
@@ -80,9 +76,8 @@ class PieSelectionsOM(Menu):
# 3 - BOTTOM - RIGHT
pie.menu("pie.selectionsmore", text="Select Menu", icon='RESTRICT_SELECT_OFF')
-# Pie Selection Edit Mode
-
+# Pie Selection Edit Mode
class PieSelectionsEM(Menu):
bl_idname = "pie.selectionsem"
bl_label = "Pie Selections Edit Mode"
@@ -91,25 +86,30 @@ class PieSelectionsEM(Menu):
layout = self.layout
pie = layout.menu_pie()
# 4 - LEFT
- pie.operator("view3d.select_border", text="Border Select", icon='BORDER_RECT')
+ pie.operator("view3d.select_border", text="Border Select",
+ icon='BORDER_RECT')
# 6 - RIGHT
pie.menu("object.selectloopselection", text="Select Loop Menu", icon='LOOPSEL')
# 2 - BOTTOM
- pie.operator("mesh.select_all", text="Select None", icon='RESTRICT_SELECT_ON').action = 'DESELECT'
+ pie.operator("mesh.select_all", text="Select None",
+ icon='RESTRICT_SELECT_ON').action = 'DESELECT'
# 8 - TOP
- pie.operator("mesh.select_all", text="Select All", icon='RESTRICT_SELECT_OFF').action = 'SELECT'
+ pie.operator("mesh.select_all", text="Select All",
+ icon='RESTRICT_SELECT_OFF').action = 'SELECT'
# 7 - TOP - LEFT
- pie.operator("mesh.select_all", text="Select All Toggle", icon='ARROW_LEFTRIGHT').action = 'TOGGLE'
+ pie.operator("mesh.select_all", text="Select All Toggle",
+ icon='ARROW_LEFTRIGHT').action = 'TOGGLE'
# 9 - TOP - RIGHT
- pie.operator("mesh.select_all", text="Invert Selection", icon='FULLSCREEN_EXIT').action = 'INVERT'
+ pie.operator("mesh.select_all", text="Invert Selection",
+ icon='FULLSCREEN_EXIT').action = 'INVERT'
# 1 - BOTTOM - LEFT
- pie.operator("view3d.select_circle", text="Circle Select", icon='BORDER_LASSO')
+ pie.operator("view3d.select_circle", text="Circle Select",
+ icon='BORDER_LASSO')
# 3 - BOTTOM - RIGHT
pie.menu("object.selectallbyselection", text="Multi Select Menu", icon='SNAP_EDGE')
-# Select All By Selection
-
+# Select All By Selection
class SelectAllBySelection(Menu):
bl_idname = "object.selectallbyselection"
bl_label = "Verts Edges Faces"
@@ -140,6 +140,7 @@ class SelectAllBySelection(Menu):
prop.value = "(True, True, True)"
prop.data_path = "tool_settings.mesh_select_mode"
+
class SelectLoopSelection(Menu):
bl_idname = "object.selectloopselection"
bl_label = "Verts Edges Faces"
@@ -153,12 +154,13 @@ class SelectLoopSelection(Menu):
layout.operator("mesh.loop_multi_select", text="Select Ring", icon='EDGESEL').ring = True
layout.operator("mesh.loop_to_region", text="Select Loop Inner Region", icon='FACESEL')
+
classes = (
PieSelectionsOM,
PieSelectionsEM,
SelectAllBySelection,
PieSelectionsMore,
- SelectLoopSelection
+ SelectLoopSelection,
)
addon_keymaps = []
@@ -167,8 +169,8 @@ addon_keymaps = []
def register():
for cls in classes:
bpy.utils.register_class(cls)
- wm = bpy.context.window_manager
+ wm = bpy.context.window_manager
if wm.keyconfigs.addon:
# Selection Object Mode
km = wm.keyconfigs.addon.keymaps.new(name='Object Mode')
@@ -186,23 +188,14 @@ def register():
def unregister():
for cls in classes:
bpy.utils.unregister_class(cls)
- wm = bpy.context.window_manager
+ wm = bpy.context.window_manager
kc = wm.keyconfigs.addon
if kc:
- km = kc.keymaps['Object Mode']
- for kmi in km.keymap_items:
- if kmi.idname == 'wm.call_menu_pie':
- if kmi.properties.name == "pie.selectionsom":
- km.keymap_items.remove(kmi)
+ for km, kmi in addon_keymaps:
+ km.keymap_items.remove(kmi)
+ addon_keymaps.clear()
- kc = wm.keyconfigs.addon
- if kc:
- km = kc.keymaps['Mesh']
- for kmi in km.keymap_items:
- if kmi.idname == 'wm.call_menu_pie':
- if kmi.properties.name == "pie.selectionsem":
- km.keymap_items.remove(kmi)
if __name__ == "__main__":
register()