From f173979b09fe0300a16c5effc36df79f2d9d505b Mon Sep 17 00:00:00 2001 From: Joshua Leung <aligorith@gmail.com> Date: Tue, 22 May 2018 20:23:13 +0200 Subject: [PATCH] Port the "View 3D Pie Menus" Addon's "Manipulator" Pie over to activate tools, as manipulators are no more * Spring team animator request * It's no longer possible to combinations of manipulators. Hence the reason they don't exist here * I've kept the basic/original layout to avoid muscle memory problems. However, as a result, the new pie doesn't make good use of space, and is unbalanced. --- .../pie_manipulator_menu.py | 126 +----------------- 1 file changed, 7 insertions(+), 119 deletions(-) diff --git a/space_view3d_pie_menus/pie_manipulator_menu.py b/space_view3d_pie_menus/pie_manipulator_menu.py index 2690c094f..bc447a201 100644 --- a/space_view3d_pie_menus/pie_manipulator_menu.py +++ b/space_view3d_pie_menus/pie_manipulator_menu.py @@ -37,111 +37,6 @@ from bpy.types import ( ) -class ManipTranslate(Operator): - bl_idname = "manip.translate" - bl_label = "Manip Translate" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Translate" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'TRANSLATE'} - if context.space_data.transform_manipulators != {'TRANSLATE'}: - context.space_data.transform_manipulators = {'TRANSLATE'} - return {'FINISHED'} - - -class ManipRotate(Operator): - bl_idname = "manip.rotate" - bl_label = "Manip Rotate" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Rotate" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'ROTATE'} - if context.space_data.transform_manipulators != {'ROTATE'}: - context.space_data.transform_manipulators = {'ROTATE'} - return {'FINISHED'} - - -class ManipScale(Operator): - bl_idname = "manip.scale" - bl_label = "Manip Scale" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Scale" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'SCALE'} - if context.space_data.transform_manipulators != {'SCALE'}: - context.space_data.transform_manipulators = {'SCALE'} - return {'FINISHED'} - - -class TranslateRotate(Operator): - bl_idname = "translate.rotate" - bl_label = "Translate Rotate" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Translate/Rotate" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'TRANSLATE', 'ROTATE'} - if context.space_data.transform_manipulators != {'TRANSLATE', 'ROTATE'}: - context.space_data.transform_manipulators = {'TRANSLATE', 'ROTATE'} - return {'FINISHED'} - - -class TranslateScale(Operator): - bl_idname = "translate.scale" - bl_label = "Translate Scale" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Translate/Scale" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'TRANSLATE', 'SCALE'} - if context.space_data.transform_manipulators != {'TRANSLATE', 'SCALE'}: - context.space_data.transform_manipulators = {'TRANSLATE', 'SCALE'} - return {'FINISHED'} - - -class RotateScale(Operator): - bl_idname = "rotate.scale" - bl_label = "Rotate Scale" - bl_options = {'REGISTER', 'UNDO'} - bl_description = " Show Rotate/Scale" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'ROTATE', 'SCALE'} - if context.space_data.transform_manipulators != {'ROTATE', 'SCALE'}: - context.space_data.transform_manipulators = {'ROTATE', 'SCALE'} - return {'FINISHED'} - - -class TranslateRotateScale(Operator): - bl_idname = "translate.rotatescale" - bl_label = "Translate Rotate Scale" - bl_options = {'REGISTER', 'UNDO'} - bl_description = "Show All" - - def execute(self, context): - if context.space_data.show_manipulator is False: - context.space_data.show_manipulator = True - context.space_data.transform_manipulators = {'TRANSLATE', 'ROTATE', 'SCALE'} - if context.space_data.transform_manipulators != {'TRANSLATE', 'ROTATE', 'SCALE'}: - context.space_data.transform_manipulators = {'TRANSLATE', 'ROTATE', 'SCALE'} - return {'FINISHED'} - - class WManupulators(Operator): bl_idname = "w.manupulators" bl_label = "W Manupulators" @@ -168,32 +63,25 @@ class PieManipulator(Menu): layout = self.layout pie = layout.menu_pie() # 4 - LEFT - pie.operator("rotate.scale", text="Rotate/Scale") + pie.separator() # Rotate/Scale # 6 - RIGHT - pie.operator("manip.rotate", text="Rotate", icon='MAN_ROT') + pie.operator("wm.tool_set_by_name", text="Rotate", icon='MAN_ROT').name = "Rotate" # 2 - BOTTOM - pie.operator("translate.rotatescale", text="Translate/Rotate/Scale") + pie.operator("wm.tool_set_by_name", text="Translate/Rotate/Scale").name = "Transform" # 8 - TOP pie.operator("w.manupulators", text="Show/Hide Toggle", icon='MANIPUL') # 7 - TOP - LEFT - pie.operator("translate.rotate", text="Translate/Rotate") + pie.separator() # Translate/Rotate # 9 - TOP - RIGHT - pie.operator("manip.translate", text="Translate", icon='MAN_TRANS') + pie.operator("wm.tool_set_by_name", text="Translate", icon='MAN_TRANS').name = "Move" # 1 - BOTTOM - LEFT - pie.operator("translate.scale", text="Translate/Scale") + pie.separator() # Translate/Scale # 3 - BOTTOM - RIGHT - pie.operator("manip.scale", text="Scale", icon='MAN_SCALE') + pie.operator("wm.tool_set_by_name", text="Scale", icon='MAN_SCALE').name = "Scale" classes = ( PieManipulator, - ManipTranslate, - ManipRotate, - ManipScale, - TranslateRotate, - TranslateScale, - RotateScale, - TranslateRotateScale, WManupulators, ) -- GitLab