diff options
author | meta-androcto <meta.androcto1@gmail.com> | 2019-08-16 05:00:22 +0300 |
---|---|---|
committer | meta-androcto <meta.androcto1@gmail.com> | 2019-08-16 05:00:22 +0300 |
commit | 7f0a723d309a04160c2a3bb755e5dd080124c128 (patch) | |
tree | d6f6e705bc2a47ac5bc6be570ffdf184df380ce2 /space_view3d_pie_menus | |
parent | af291e44f861f2adc6fbbcff038e7dcb94862a10 (diff) |
pie_editor_switch_menu: rewrite, match built in: T67995
Diffstat (limited to 'space_view3d_pie_menus')
-rw-r--r-- | space_view3d_pie_menus/pie_editor_switch_menu.py | 96 |
1 files changed, 43 insertions, 53 deletions
diff --git a/space_view3d_pie_menus/pie_editor_switch_menu.py b/space_view3d_pie_menus/pie_editor_switch_menu.py index 075083bb..0b07ea9e 100644 --- a/space_view3d_pie_menus/pie_editor_switch_menu.py +++ b/space_view3d_pie_menus/pie_editor_switch_menu.py @@ -39,28 +39,7 @@ from bpy.props import ( StringProperty, ) - -class PIE_MT_AreaPieMenu(Menu): - bl_idname = "TOPBAR_MT_window_pie" - bl_label = "Pie Menu" - bl_description = "Window Pie Menus" - - def draw(self, context): - self.layout.operator(PIE_OT_AreaTypePieOperator.bl_idname, icon="PLUGIN") - - -class PIE_OT_AreaTypePieOperator(Operator): - bl_idname = "wm.area_type_pie_operator" - bl_label = "Editor Type" - bl_description = "This is pie menu of editor type change" - bl_options = {'REGISTER', 'UNDO'} - - def execute(self, context): - bpy.ops.wm.call_menu_pie(name=PIE_MT_AreaPieEditor.bl_idname) - - return {'FINISHED'} - - +# Pie Menu class PIE_MT_AreaPieEditor(Menu): bl_idname = "PIE_MT_editor" bl_label = "Editor Switch" @@ -69,36 +48,65 @@ class PIE_MT_AreaPieEditor(Menu): layout = self.layout pie = layout.menu_pie() # 4 - LEFT - pie.operator(PIE_OT_SetAreaType.bl_idname, text="Text Editor", icon="TEXT").types = "TEXT_EDITOR" + pie.operator(PIE_OT_SetAreaType.bl_idname, + text="Video Sequence Editor", icon="SEQUENCE").types = "SEQUENCE_EDITOR" # 6 - RIGHT - pie.menu(PIE_MT_AreaTypePieAnim.bl_idname, text="Animation Editors", icon="ACTION") + pie.menu(PIE_MT_AreaTypePieNode.bl_idname, text="Node Editors", icon="NODETREE") # 2 - BOTTOM - pie.operator(PIE_OT_SetAreaType.bl_idname, text="Property", icon="PROPERTIES").types = "PROPERTIES" + pie.menu(PIE_MT_AreaTypePieOther.bl_idname, text="Script/Data Editors", icon="PREFERENCES") # 8 - TOP - pie.operator(PIE_OT_SetAreaType.bl_idname, text="3D View", icon="MESH_CUBE").types = "VIEW_3D" + pie.operator(PIE_OT_SetAreaType.bl_idname, text="3D View", icon="VIEW3D").types = "VIEW_3D" # 7 - TOP - LEFT - pie.operator(PIE_OT_SetAreaType.bl_idname, text="UV/Image Editor", icon="UV").types = "IMAGE_EDITOR" + pie.operator(PIE_OT_SetAreaType.bl_idname, text="Image Editor", icon="IMAGE").types = "VIEW" # 9 - TOP - RIGHT - pie.operator(PIE_OT_SetAreaType.bl_idname, text="Node Editor", icon="NODETREE").types = "NODE_EDITOR" + pie.operator(PIE_OT_SetAreaType.bl_idname, text="UV Editor", icon="UV").types = "UV" # 1 - BOTTOM - LEFT - pie.operator(PIE_OT_SetAreaType.bl_idname, text="Outliner", icon="OUTLINER").types = "OUTLINER" + pie.operator(PIE_OT_SetAreaType.bl_idname, + text="Movie Clip Editor", icon="TRACKER").types = "CLIP_EDITOR" # 3 - BOTTOM - RIGHT - pie.menu(PIE_MT_AreaTypePieOther.bl_idname, text="More Editors", icon="QUESTION") - + pie.menu(PIE_MT_AreaTypePieAnim.bl_idname, text="Animation Editors", icon="ACTION") +# Sub Menu Script/Data Editors class PIE_MT_AreaTypePieOther(Menu): bl_idname = "TOPBAR_MT_window_pie_area_type_other" bl_label = "Editor Type (other)" bl_description = "Is pie menu change editor type (other)" def draw(self, context): + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Outliner", icon="OUTLINER").types = "OUTLINER" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Properties", icon="PROPERTIES").types = "PROPERTIES" self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="File Browser", icon="FILEBROWSER").types = "FILE_BROWSER" - self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Python Console", icon="CONSOLE").types = "CONSOLE" self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Preferences", icon="PREFERENCES").types = "PREFERENCES" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Text Editor", icon="TEXT").types = "TEXT_EDITOR" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Python Console", icon="CONSOLE").types = "CONSOLE" self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Info", icon="INFO").types = "INFO" +# Sub Menu Node editors +class PIE_MT_AreaTypePieNode(Menu): + bl_idname = "TOPBAR_MT_window_pie_area_type_node" + bl_label = "Editor Type (Node)" + bl_description = "Menu to change node editor types" + + def draw(self, context): + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Shader", icon="NODE_MATERIAL").types = "ShaderNodeTree" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Compositor", icon="NODE_COMPOSITING").types = "CompositorNodeTree" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Texture", icon="NODE_TEXTURE").types = "TextureNodeTree" + +# Sub Menu animation Editors +class PIE_MT_AreaTypePieAnim(Menu): + bl_idname = "TOPBAR_MT_window_pie_area_type_anim" + bl_label = "Editor Type (Animation)" + bl_description = "Menu for changing editor type (animation related)" + + def draw(self, context): + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="DopeSheet", icon="ACTION").types = "DOPESHEET" + self.layout.operator(PIE_OT_Timeline.bl_idname, text="Timeline", icon="TIME") + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Graph Editor", icon="GRAPH").types = "FCURVES" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Drivers", icon="DRIVER").types = "DRIVERS" + self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="NLA Editor", icon="NLA").types = "NLA_EDITOR" +# Operators class PIE_OT_SetAreaType(Operator): bl_idname = "wm.set_area_type" bl_label = "Change Editor Type" @@ -108,7 +116,7 @@ class PIE_OT_SetAreaType(Operator): types: StringProperty(name="Area Type") def execute(self, context): - context.area.type = self.types + context.area.ui_type = self.types return {'FINISHED'} class PIE_OT_Timeline(Operator): @@ -121,31 +129,13 @@ class PIE_OT_Timeline(Operator): bpy.context.area.ui_type = 'TIMELINE' return {'FINISHED'} - -class PIE_MT_AreaTypePieAnim(Menu): - bl_idname = "TOPBAR_MT_window_pie_area_type_anim" - bl_label = "Editor Type (Animation)" - bl_description = "Menu for changing editor type (animation related)" - - def draw(self, context): - self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="NLA Editor", icon="NLA").types = "NLA_EDITOR" - self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="DopeSheet", icon="ACTION").types = "DOPESHEET_EDITOR" - self.layout.operator(PIE_OT_SetAreaType.bl_idname, text="Graph Editor", icon="GRAPH").types = "GRAPH_EDITOR" - self.layout.operator(PIE_OT_Timeline.bl_idname, text="Timeline", icon="TIME") - self.layout.operator(PIE_OT_SetAreaType.bl_idname, - text="Video Sequence Editor", icon="SEQUENCE").types = "SEQUENCE_EDITOR" - self.layout.operator(PIE_OT_SetAreaType.bl_idname, - text="Video Clip Editor", icon="RENDER_ANIMATION").types = "CLIP_EDITOR" - - classes = ( - PIE_MT_AreaPieMenu, - PIE_OT_AreaTypePieOperator, PIE_MT_AreaPieEditor, PIE_MT_AreaTypePieOther, PIE_OT_SetAreaType, PIE_MT_AreaTypePieAnim, - PIE_OT_Timeline + PIE_OT_Timeline, + PIE_MT_AreaTypePieNode ) addon_keymaps = [] |