Le module pythonaddins

Le module pythonaddins contient les fonctions destinées à prendre en charge les compléments Python.

RemarqueRemarque :

Le module pythonaddins peut uniquement être utilisé au sein d'un complément Python. Il ne peut pas être utilisé dans des scripts autonomes ou des outils de script de géotraitement.

Fonction

Explication

OpenDialog({title}, {multiple_selection}, {starting_location}, {button_caption})

Ouvre une boîte de dialogue permettant de sélectionner un ou plusieurs jeux de données SIG. Cette fonction renvoie le chemin complet du jeu de données choisi. Si plusieurs jeux de données sont choisis, elle renvoie une liste de chemins complets. Aucun filtrage n'a lieu sur les jeux de données en entrée (par exemple, filtrer uniquement les classes d'entités points.

  • {title} : titre de la boîte de dialogue.
  • {multiple_selection} : indique s'il est possible de sélectionner plusieurs éléments. La valeur par défaut est False.
  • {starting_location} : chemin d'accès à l'emplacement de départ.
  • {button_caption} : légende à utiliser pour le bouton Ouvrir.

SaveDialog({title}, {name_text}, {starting_location})

Ouvre une boîte de dialogue permettant d'enregistrer les données. Cette fonction renvoie le chemin complet du jeu de données à enregistrer.

  • {title} : titre de la boîte de dialogue.
  • {name_text} : nom du jeu de données affiché dans la zone de texte de nom de la boîte de dialogue.
  • {starting_location} : chemin d'accès à l'emplacement de départ où les données seront enregistrées.

GPToolDialog(toolbox, tool_name)

Ouvre une boîte de dialogue de l'outil de géotraitement.

  • toolbox : emplacement de la boîte à outils.
  • tool_name : nom de l'outil.

MessageBox(message, title, {mb_type})

Afficher une zone de message. Cette fonction renvoie une valeur de chaîne représentant le bouton de message enfoncé.

  • message : message à afficher.
  • title : titre de la zone de message.
  • {mb_type} : type de zone de message à afficher. L'option par défaut est 0 (message OK). Le tableau ci-après présente une liste complète de codes {mb_type}.

GetSelectedTOCLayerOrDataFrame()

Renvoie la couche ou le bloc de données sélectionné de la table des matières.

Code mb_type

Type de zone de message

0

OK uniquement

1

OK/Annuler

2

Annuler/Réessayer/Ignorer

3

Oui/Non/Annuler

4

Oui/Non

5

Réessayer/Annuler

6

Annuler/Réessayer/Continuer

Codes {mb_type}

Ce bouton de complément fait appel à la fonction OpenDialog() pour sélectionner un jeu de fichiers de couches et ajoute chaque couche au bloc de données sélectionné.

import arcpy
import pythonaddins

class AddLayers(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        layer_files = pythonaddins.OpenDialog('Select Layers', True, r'C:\GISData', 'Add')
        mxd = arcpy.mapping.MapDocument('current')
        df = pythonaddins.GetSelectedTOCLayerOrDataFrame()
        if not isinstance(df, arcpy.mapping.Layer):
            for layer_file in layer_files:
                layer = arcpy.mapping.Layer(layer_file)
                arcpy.mapping.AddLayer(df, layer)
        else:
            pythonaddins.MessageBox('Select a data frame', 'INFO', 0)

Ce bouton de complément ouvre un outil de géotraitement.

import arcpy
import pythonaddins

class OpenGPTool(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pythonaddins.GPToolDialog(r'C:\MyTools\WaterStudy.tbx', 'GroundWaterYield')

5/10/2014