====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doc_opener [2015/08/20 10:04] swann [b. update_naming] |
doc_opener [2015/08/20 12:07] (current) swann [c. custompath operator] |
||
---|---|---|---|
Line 178: | Line 178: | ||
- | ==== b. update_naming ==== | + | ==== c. custompath operator==== |
+ | |||
+ | Pour apprendre à faire un opérateur de base, suivez le lien suivant:[[http://www.blender.org/api/blender_python_api_2_57_release/bpy.types.Operator.html|Blender Operator Guide]]\\ | ||
+ | |||
+ | La première partie de l'opérateur consiste naturellement à déclarer les différents champs est variables nécessaire: | ||
+ | <code python> | ||
+ | #Entête avec héritage de l'object Operator de blender, nécessaire à chaque fois que l'on créer un opérateur | ||
+ | class OBJECT_OT_custompath(bpy.types.Operator): | ||
+ | bl_idname = "object.custom_path" | ||
+ | bl_label = "open" | ||
+ | __doc__ = "" | ||
+ | |||
+ | filename_ext = "" | ||
+ | filter_glob = StringProperty(default="", options={'HIDDEN'},subtype='DIR_PATH') | ||
+ | |||
+ | |||
+ | #Variable stockant le chemin choisi | ||
+ | filepath = StringProperty(name="File Path", description="Filepath importing store dir", maxlen= 1024) | ||
+ | #optionnel, récupère les fichiers séléctionnés | ||
+ | files = CollectionProperty( | ||
+ | name="File Path", | ||
+ | type=bpy.types.OperatorFileListElement) | ||
+ | </code> | ||
+ | |||
+ | Ici il s'agit du corps de l'opérateur, la fonction execute va s'éxecuter à chaque appel de l'opérateur. Il en est de même ,pour les fonctions draw et invoke. | ||
+ | <code python> | ||
+ | def execute(self, context): | ||
+ | #ajout du chemin sélectionné | ||
+ | ressources.Items.append((str(self.properties.filepath),str(self.properties.filepath),"")) | ||
+ | #Création du tuple temporaire | ||
+ | t=(str(self.properties.filepath),str(self.properties.filepath))) | ||
+ | #Mise à jour de la liste des dossier racine | ||
+ | interface.UpdateEnum(bpy.types.Scene,ressources.Items,'Store',t) | ||
+ | |||
+ | #Sauvegarde du dossier sélectionné de manière persistante | ||
+ | persistence.write_config() | ||
+ | #Find de fonction | ||
+ | return {'FINISHED'} | ||
+ | |||
+ | #Fonction d'affichage de l'explorateur de fichier | ||
+ | def draw(self, context): | ||
+ | self.layout.operator('file.select_all_toggle') | ||
+ | def invoke(self, context, event): | ||
+ | wm = context.window_manager | ||
+ | wm.fileselect_add(self) | ||
+ | return {'RUNNING_MODAL'} | ||
+ | </code> | ||
---- | ---- | ||
<WRAP center round important 60%> | <WRAP center round important 60%> |