Boutique Cinema 4D
Affichage des résultats 1 à 7 sur 7

Discussion: Menu déroulant et sous-menus

  1. #1
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483

    Menu déroulant et sous-menus

    Bonjour,

    Je projette de regrouper plusieurs petits scripts de sélections en un module à part entière.


    Est-il possible de créer un sous menu déroulant dans l'onglet Modules Externes, permettant de choisir quelle fonction de mon module exécuter ?


    J'ai ajouté Sélections Supplétives avec plugins.RegisterCommandPlugin(), faut-il le faire pour chaque commande pour obtenir le montage ci-dessous, ou y a-t-il une autre méthode ?
    Miniatures attachées Miniatures attachées selsup.png  
    Dernière modification par César Vonc ; 07/06/2012 à 12h14.

  2. #2
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Si j'ai bien compris, la méthode est assez technique mais te je la post quand même des fois que tu es la patience de le faire.

    Dans le répertoire plugin, tu crées un sous répertoire "Sélections Supplétives" (les accents sont déconseillés évidement) et tu mets dedans tout tes plugins (dans des sous répertoires de préférences)

    Le problème c'est que si tu as des plug c++ et python, il vas créer deux entrées de ton menu modules externe du même nom.

    Pour une fois un truc simple avec le dev xD

    edit : ha oui, j'ai oublié de dire évidemment, le sous menu n'est crée que si tu as au moins deux plugins dans le sous répertoire.

  3. #3
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Ah d'accord, en fait ça marche aussi en utilisant plusieurs RegisterCommandPlugin() pour ne garder qu'un seul fichier pyp.

    Donc j'ai l'impression qu'on est obligé d'avoir un numéro d'identification pour chaque commande ?

  4. #4
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    Tout ce qui doit aller au milieu des autres commandes / objets /trucs bidules de cinema4D doit posséder un ID unique pour éviter les conflits. Si du moins tu dois l'identifier par un ID (ce qui n'est parfois pas le cas).

    Par exemple, si tu veux stocker une variable dans le basecontainer du document c4d, il est plus sage pour éviter les conflits de prendre un ID sur c4dCafé. Donc il en faudrait un par variable. Par contre tu peux avoir un ID pour un BaseContainer pour éviter le conflit avec d'autre éléments et dans ce BaseContainer perso, tu peux gérer les ID comme tu veux.


    Dans les exemples du sdk c++ il y a un fichier main qui appelle les fonctions d'enregistrement des autres plugins.
    Je ne sais pas si tu peux faire la même chose avec python avec des import tout en gardant la possibilité de crypter les fichiers sources.
    Mais j'essayerais en faisant un fichier main.pyp (qui sera chargé par c4d) et d'autre fichier .py (les fichiers des plugins) en utilisant un import dans le fichier main.

  5. #5
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Oui, cependant je voulais utiliser une seule ID pour tout le module et n'avoir que des sous-menus relatifs.

    J'ai trouvé la fonction CommandData.GetSubContainer() qui permet à priori de créer des sous-menus ayant chacun une ID relative au module (ID du module prise sur plugincafe, et sous-menus 1000, 1001...), qu'on exécute avec ExecuteSubID() mais je n 'arrive pas à la faire marcher avec leur exemple :

    Code PHP:
    def GetSubContainer(selfdocsubmenu) :
        
    bc BaseContainer()
        
    bc.SetString(1"Menu")
        
    bc.SetString(1000"Sous-menu 1")
        
    bc.SetString(1001"Sous-menu 2")
        
    submenu.InsData(0bc
    Mais rien, pas de sous-menus...
    Dernière modification par César Vonc ; 31/05/2012 à 14h39.

  6. #6
    Pilier Avatar de xs_yann
    Date d'inscription
    février 2005
    C4D version
    R19 Studio
    OS
    Mac OS X 10.13
    Messages
    1 990
    Salut,

    A priori ça n'a pas du bouger depuis, ça ne fonctionne pas chez moi non plus : http://www.plugincafe.com/forum/foru...s.asp?TID=5447

    Je pense que la solution de Val reste la meilleure.
    Bon courage César.

  7. #7
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Merci. En effet, cela semble être la meilleure solution.


    J'obtiens un résultat plutôt sympa, ça a toujours plus de gueule avec des icônes. ^^

    À ce sujet, est-il possible d'en ajouter une au menu déroulant qui n'est qu'autre qu'un dossier dans lequel se trouvent mes modules ?


    Je m'absente une semaine à compter de demain, avec sans doute d'autres idées de sélection à mon retour !
    Miniatures attachées Miniatures attachées selsup.png  
    Dernière modification par César Vonc ; 31/05/2012 à 22h16.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/01/2011, 22h49
  2. Sélections
    Par Tacos dans le forum Nouveaux membres
    Réponses: 19
    Dernier message: 28/05/2009, 14h58
  3. selections aléatoires
    Par C2 dans le forum Le saloon
    Réponses: 4
    Dernier message: 01/07/2007, 00h06
  4. Déplacer des selections de points
    Par Daubermman dans le forum Xpresso
    Réponses: 8
    Dernier message: 26/05/2005, 00h28
  5. Prob d'os : trop de sélections !
    Par munchou dans le forum Animation
    Réponses: 11
    Dernier message: 27/12/2003, 19h30

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet