Position de pies et region_type

Ici on parle des scripts

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

Position de pies et region_type

Message par VincentG » 02 Mai 2016, 14:26

Bonjour bonjour,
ça fait un moment que je ne passe plus, plus beaucoup le temps pour le moment mais j'ai quand même besoin de vos lumières car j'ai deux petites questions par rapport à la création de pie menus!

Comment faire pour choisir où sont placé les items?

pie = self.layout.menu_pie()
pie.operator("A.btn")
pie.operator("B.btn")

Par défaut, ils apparaissent à gauche et à droite. Comment faire pour que ce soit par exemple en haut et en bas?


Ma deuxième question concerne le context. J'aimerais créer ces pies pour le VSE.
Je rajoute donc une keymap pour le sequencer de cette manière: kc.keymaps.new(name="Sequencer", space_type="SEQUENCE_EDITOR")

Mais le keymap n'est actif uniquement dans la zone de montage. J'aimerais qu'il soit aussi active dans celle avec la preview des vidéos. Du coup je rajoute region_type="PREVIEW", et je les ai tous essayé ("UI", etc) mais ce n'est pas plus actif. Une idée?

Merci! :mrgreen:
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par pistiwique » 02 Mai 2016, 14:31

Il me semble que pour pouvoir "passer" les positions dans un pie tu peux mettre
Code : Tout sélectionner
pie.separator()
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Position de pies et region_type

Message par VincentG » 02 Mai 2016, 15:12

Super merci!
Par contre c'est pas évident à setuper :lol:
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par Olive » 02 Mai 2016, 17:53

pistiwique a écrit :Il me semble que pour pouvoir "passer" les positions dans un pie tu peux mettre
Code : Tout sélectionner
pie.separator()


Yeah, ça marche, merci pisti !
Avatar de l’utilisateur
Olive
 
Message(s) : 695
Inscription : 30 Sep 2013, 15:20
Localisation : Chaon (41)

Re: Position de pies et region_type

Message par VincentG » 03 Mai 2016, 13:11

Personne ne sait pour trouver le space_type du VSE? D'ailleurs, j'ai aussi essayé avec TIMELINE et je n'ai rien non plus.
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par VincentG » 03 Mai 2016, 13:27

J'ai trouvé une manière de le faire partout avec kc.keymaps.new(name="Window", space_type="EMPTY"). Ça me dépanne mais c'est pas encore top car du coup le pie apparait dans la plupart des fenêtres.
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par Olive » 03 Mai 2016, 18:14

Essayes ça :
Code : Tout sélectionner
if bpy.context.space_data.view_type == 'PREVIEW' or bpy.context.space_data.view_type == 'SEQUENCER' or bpy.context.space_data.view_type == 'SEQUENCER_PREVIEW':

# les commandes qui affichent ton pie


Tu vois l'idée, t'enlèves le type où tu veux pas afficher ton pie. J'ai pas essayé car j'ai pas l'utilité, c'est pas garanti.
Avatar de l’utilisateur
Olive
 
Message(s) : 695
Inscription : 30 Sep 2013, 15:20
Localisation : Chaon (41)

Re: Position de pies et region_type

Message par VincentG » 04 Mai 2016, 09:15

Oui c'est une bonne idée, je n'y avais pas pensé ;)
Mais ça ne risque pas de provoquer des conflits avec un même shortcut dédié à un autre context?
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par zeauro » 04 Mai 2016, 13:27

Il ne faut pas hésiter à utiliser la référence en ligne pour retrouver un type.
https://www.blender.org/api/blender_pyt ... ypes.Space
https://www.blender.org/api/blender_pyt ... .view_type
zeauro
 
Message(s) : 974
Inscription : 21 Août 2013, 15:47

Re: Position de pies et region_type

Message par VincentG » 04 Mai 2016, 14:01

zeauro a écrit :Il ne faut pas hésiter à utiliser la référence en ligne pour retrouver un type.
https://www.blender.org/api/blender_pyt ... ypes.Space

Justement, je n'arrive pas à utiliser SEQUENCE_EDITOR ou TIMELINE avec un keymap de cette manière:
kc.keymaps.new(name="Sequencer", space_type="SEQUENCE_EDITOR", region_type="PREVIEW"). Peut-être que quelque chose m'échappe mais ça a l'air de respecter ce qu'on peut trouver dans la doc.
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 223
Inscription : 13 Fév 2014, 21:35

Re: Position de pies et region_type

Message par zeauro » 04 Mai 2016, 15:34

Ah! OK!
J'avais zappé le début.
Le type de région à utiliser là est WINDOW (celui par défaut) pour avoir ton pie et dans le sequencer et dans la preview du sequencer.
PREVIEW semble être pour le limiter à la preview du sequencer.

En théorie, ce que tu as écrit dans ton premier post devrait fonctionner.
A mon avis, il est probable que le problème soit sur une autre ligne de ton script ou qu'on ait affaire à un bug.
C'est peut-être un simple oubli qui fait foirer la prise en compte de ta keymap.
Comme oublier de définir kc, par exemple.

Edit:
Après avoir appliquer la manip de pitiwisque aux autres areas, j'en déduis que Preview est bien la région du sequencer, puisque ce type n'est pas disponible pour les autres types d'areas.
Quoiqu'il en soit, le souci ne doit pas être à ce niveau-là.
Dernière édition par zeauro le 04 Mai 2016, 18:08, édité 1 fois.
zeauro
 
Message(s) : 974
Inscription : 21 Août 2013, 15:47

Re: Position de pies et region_type

Message par pistiwique » 04 Mai 2016, 17:42

J'ai testé ces lignes de code dans la console en ayant mis le screen layout du video_editing.

Code : Tout sélectionner
for area in bpy.context.screen.areas:
...     if area.type == 'SEQUENCE_EDITOR':
...         for region in area.regions:
...             print(region.type)

et comme retour on obtient:

Code : Tout sélectionner
HEADER
UI
PREVIEW
WINDOW

Je ne sais pas si ça pourra t'aider.
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud


Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Bing [Bot] et 0 invité(s)

cron