Pie menu pour changer la disposition d'ecran

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Pie menu pour changer la disposition d'ecran

Message par Ron » 06 Sep 2015, 10:04

Bonjour à tous,
Je vous propose un script permettant la navigation entre les différentes configuration d'écran (3D View Full, Compositing, UV Editing, Scripting, etc...)
Le script récupére, en pressant Shift + Alt + Space, le nom de vos écrans dans Blender et propose uniquement les Pie_menu correspondant.

Image

Image


Code : Tout sélectionner
# ##### 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_info = {
    "name": "Ron_Screens_Pie_Menu",
    "author": "Ronny Pouchin",
    "version": (0, 0, 3),
    "blender": (2, 75, 0),
    "description": "Screens Pie Menus",
    "category": "3D View",}

import bpy
from bpy.types import Menu

#Pie ScreensViews - Shift + Alt + Spacebar
class RonPieScreensViews(Menu):
    bl_idname = "RonPieScreensViews"
    bl_label = "Pie Screens Views"

    def draw(self, context):
        layout = self.layout
        pie = layout.menu_pie()
        size_list_screen = len(bpy.data.screens)
       
        if size_list_screen <= 8 :
            for i in range(size_list_screen):
                if bpy.data.screens[i].name != "temp":
                    pie.operator("screen.set_layout", bpy.data.screens[i].name).layoutName = bpy.data.screens[i].name
                 
        else:   
            for i in range(0,7):
                pie.operator("screen.set_layout", bpy.data.screens[i].name).layoutName = bpy.data.screens[i].name
            box = pie.split().column()
            row = box.row(align=True)     
            for i in range(7,size_list_screen):
                if bpy.data.screens[i].name != "temp":
                    box.operator("screen.set_layout", bpy.data.screens[i].name).layoutName = bpy.data.screens[i].name
                   

class ScreenSetLayout(bpy.types.Operator):
    bl_idname="screen.set_layout"
    bl_label="Switch to Screen Layout"
    layoutName=bpy.props.StringProperty()   
   
    def execute(self,context):
        bpy.context.window.screen=bpy.data.screens[self.layoutName]
        return{'FINISHED'}             

# store keymaps here to access after registration
addon_keymaps = []
# Register / Unregister Classes
def register():   
    bpy.utils.register_module(__name__)   
   
#addon_keymaps = [] #put on out of register()
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name = 'Window', space_type = 'EMPTY')
    kmi = km.keymap_items.new("wm.call_menu_pie", 'SPACE', 'PRESS', shift=True, alt=True)
    kmi.properties.name = "RonPieScreensViews"
    addon_keymaps.append((km, kmi))

def unregister():
    bpy.utils.unregister_module(__name__)
       
# handle the keymap
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()
   
if __name__ == "__main__":
    register()

#bpy.ops.wm.call_menu_pie(name="RonPieScreensViews")


Merci à Cédric pour ses "Wazou Pie menu" et ses tutos qui m'ont inspiré ce script.

Petite rectification faite, ça devrais être bon.
Dernière édition par Ron le 06 Sep 2015, 13:43, édité 2 fois.
Ron
 
Message(s) : 1
Inscription : 06 Sep 2015, 09:47

Re: Pie menu pour changer la disposition d'ecran

Message par cedric » 06 Sep 2015, 10:41

Yop, j'ai ce message quand je lance le raccourcis.

Image
Cédric Lepiller, Freelance 3D Pitiwazou.com, Mes Addons, Asset Management, Speedflow
Avatar de l’utilisateur
cedric
Administrateur
 
Message(s) : 7060
Inscription : 03 Août 2013, 21:36


Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron