[Résolu]Intégration d'un addon dans un panel déjà existant ?

Ici on parle des scripts

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

[Résolu]Intégration d'un addon dans un panel déjà existant ?

Message par SniperKing » 14 Mai 2016, 14:15

Salut à tous !

J'aimerai savoir si il existe une technique pour intégrer un addon à un pannel déjà existant.
Je m'explique voici un petit addon :
Image

Si je souhaite l'intégrer au panneau Render, plus précisement dans Dimensions, je me retrouve contraint à éditer le fichier "properties_render.py".
Image

Est-ce qu'il existe une solution que ne consiste pas à éditer le code source ?

Merci
Dernière édition par SniperKing le 17 Mai 2016, 12:04, édité 1 fois.
Avatar de l’utilisateur
SniperKing
 
Message(s) : 19
Inscription : 22 Jan 2014, 13:27

Re: Intégration d'un addon dans un panel déjà existante ?

Message par pistiwique » 15 Mai 2016, 08:50

Salut.
Pour pouvoir intégrer ton addon à un panel déjà existant, il te suffit de récupérer le nom de la classe dans lequel se trouve le panel (en faisant clic droit sur une fonction puis "Edit Source") et d'y faire un append.

Code : Tout sélectionner
import bpy
 
 
def mon_menu_perso(self, context):
    layout = self.layout
 
    layout.operator("wm.open_mainfile")
    layout.operator("wm.save_as_mainfile")
 
 
def register():
    bpy.types.RENDER_PT_dimensions.append(mon_menu_perso)
 
 
def unregister():
    bpy.types.RENDER_PT_dimensions.remove(mon_menu_perso)
 
if __name__ == "__main__":
    register()


Ça te placera tes fonctions à la fin du panel concerné. Par contre je ne sais pas si il est possible de le placer exactement ou tu veux dans le panel, comme au milieu par exemple.
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Intégration d'un addon dans un panel déjà existante ?

Message par Olive » 15 Mai 2016, 09:20

Une vraie bible ce pisti, on devrait le re-baptiser " ze-pisti-auro " :lol:
Avatar de l’utilisateur
Olive
 
Message(s) : 695
Inscription : 30 Sep 2013, 15:20
Localisation : Chaon (41)

Re: Intégration d'un addon dans un panel déjà existante ?

Message par pistiwique » 15 Mai 2016, 09:36

Quand même pas^^
C'est juste que j'ai passé BEAUCOUP de temps à chercher et j'en passe encore pas mal. Le pire, c'est quand tu sais que tu as vue se que tu cherches quelque part mais que tu ne sais plus ou :?.
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Intégration d'un addon dans un panel déjà existante ?

Message par stilobique » 15 Mai 2016, 12:55

Yes c'est cool ; pile quand j'ai besoin de ça :) .
Avatar de l’utilisateur
stilobique
 
Message(s) : 1368
Inscription : 07 Sep 2013, 09:26
Localisation : France

Re: Intégration d'un addon dans un panel déjà existante ?

Message par lapineige » 15 Mai 2016, 13:05

pistiwique a écrit :C'est juste que j'ai passé BEAUCOUP de temps à chercher et j'en passe encore pas mal.

Ça fait parti des trucs ou on manque cruellement de tutoriels, voir de doc un peu détaillée, et même si on trouve souvent en cherchant sur blenderartist ou stackoverflow, c'est pas le plus pratique/abordable.
Dans un autre vie faudra que je m'y colle, mais bon dans celle-ci, compliqué :roll:

Merci pisti ;) , j'ai plus trop le temps de passer répondre.
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: Intégration d'un addon dans un panel déjà existante ?

Message par pistiwique » 15 Mai 2016, 17:39

L'avantage c'est que tu trouves beaucoup de codes sur le net, il faut juste avoir le temps et la patience de regarder dedans pour arriver à comprendre.... mais c'est pas toujours facile je le reconnais.
Tu saurais Lapi si on peux placer l'affichage ou on le souhaite dans un panel existant sans bien sur éditer le code source ?
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Intégration d'un addon dans un panel déjà existante ?

Message par lapineige » 15 Mai 2016, 18:50

pistiwique a écrit :L'avantage c'est que tu trouves beaucoup de codes sur le net

La fameuse proposition de remplacer le titre des cours de programmation par Googling Stackoverflow :lol:

pistiwique a écrit :Tu saurais Lapi si on peux placer l'affichage ou on le souhaite dans un panel existant sans bien sur éditer le code source ?

Problème récurrent, sauf cas particuliers à ma connaissance non.
C'est début ou fin, mais pas au milieu.
Sinon y'a une méthode bourrin (sans changer le code source), le remplacer, en copiant le code original (de manière un peu plus fine, en le copiant et en cherchant le bon endroit pour s'insérer - ce qui permet de s'adapter à des modifications mineures).
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: Intégration d'un addon dans un panel déjà existante ?

Message par stilobique » 15 Mai 2016, 20:31

lapineige a écrit :[...]
Problème récurrent, sauf cas particuliers à ma connaissance non.
C'est début ou fin, mais pas au milieu.

Comment on met au début alors :D ? J'ai cherché cette aprem mais rien trouvé.
Avatar de l’utilisateur
stilobique
 
Message(s) : 1368
Inscription : 07 Sep 2013, 09:26
Localisation : France

Re: Intégration d'un addon dans un panel déjà existante ?

Message par lapineige » 15 Mai 2016, 20:43

Avec prepend et non append.
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: Intégration d'un addon dans un panel déjà existante ?

Message par stilobique » 15 Mai 2016, 20:49

Cool, thx ! C'est vraiment de la daube leurs kiwi pour trouver des infos je trouve. C'est farpait !
Avatar de l’utilisateur
stilobique
 
Message(s) : 1368
Inscription : 07 Sep 2013, 09:26
Localisation : France

Re: Intégration d'un addon dans un panel déjà existante ?

Message par lapineige » 15 Mai 2016, 20:56

stilobique a écrit :C'est vraiment de la daube leurs kiwi pour trouver des infos je trouve.

Pour utiliser le même sur d'autres projets, non c'est plutôt pas mal, c'est juste que la doc' c'est pas forcément très drôle, on manque de monde pour la rédiger, en python encore plus, et donc elle manque de clarté, détails, et il faudrait aussi des tutos et pas juste un doc' qui sert de référence technique.

Mais un truc tout bête, ça y est tu sais le faire, si tu as 5 minutes tu l'ajoute à la doc' ;)
(si tu as 5 minutes :lol: )
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: Intégration d'un addon dans un panel déjà existante ?

Message par SniperKing » 17 Mai 2016, 12:03

pistiwique a écrit :Salut.
Pour pouvoir intégrer ton addon à un panel déjà existant, il te suffit de récupérer le nom de la classe dans lequel se trouve le panel (en faisant clic droit sur une fonction puis "Edit Source") et d'y faire un append.

Code : Tout sélectionner
import bpy
 
 
def mon_menu_perso(self, context):
    layout = self.layout
 
    layout.operator("wm.open_mainfile")
    layout.operator("wm.save_as_mainfile")
 
 
def register():
    bpy.types.RENDER_PT_dimensions.append(mon_menu_perso)
 
 
def unregister():
    bpy.types.RENDER_PT_dimensions.remove(mon_menu_perso)
 
if __name__ == "__main__":
    register()


Ça te placera tes fonctions à la fin du panel concerné. Par contre je ne sais pas si il est possible de le placer exactement ou tu veux dans le panel, comme au milieu par exemple.


Merci beaucoup pistiwique ! :D C'est excellent cette possibilité de faire un append. En bas de pannel existant c'est parfait 8-)
Et merci à lapineige pour le prepend :D
Avatar de l’utilisateur
SniperKing
 
Message(s) : 19
Inscription : 22 Jan 2014, 13:27

Re: [Résolu]Intégration d'un addon dans un panel déjà exista

Message par lapineige » 17 Mai 2016, 12:08

SniperKing a écrit :Merci beaucoup pistiwique ! :D C'est excellent cette possibilité de faire un append. En bas de pannel existant c'est parfait 8-)
Et merci à lapineige pour le prepend :D

Y'a un truc pas logique.
pistiwique arrive en premier pour ajouter à la fin, j'arrive en dernier pour ajouter au début.
Trop de code je vous dis :roll:

Je sors :mrgreen: :arrow: :lol: :arrow:
Mon terrier/blog: https://lapineige.fr/wp (l'ancien: le-terrier-de-lapineige.over-blog.com) | Mon GitHub: https://github.com/lapineige/Blender_add-ons | Lapineige's Tools: http://cgcookiemarkets.com/blender/all- ... ompilation
Avatar de l’utilisateur
lapineige
 
Message(s) : 3716
Inscription : 25 Juin 2014, 07:06

Re: [Résolu]Intégration d'un addon dans un panel déjà exista

Message par pistiwique » 17 Mai 2016, 18:30

Il doit y avoir un "reverse" qui se balade quelque part :lol:
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Suivant

Retour vers Scripts - Python - OSL

Qui est en ligne ?

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

cron