ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Gestion de l'état des différents types de compléments Python

  • Communication et coordination entre les types de compléments
  • Propriétés enabled et checked

Communication et coordination entre les types de compléments

Dans certains cas, un moyen de communication s'avère indispensable entre les différents types de compléments pour faire en sorte qu'une personnalisation permette d'en activer une autre ou d'obtenir son état. Un clic sur le bouton associé à un complément spécifique, par exemple, peut faire passer le complément d'un outil de l'état désactivé (disabled) à activé (enabled).

Le code Python suivant indique comment est gérée la communication entre les compléments. Dans la fonction onClick() du bouton, l'ID de l'outil (Nom de variable) est utilisé pour le faire passer de l'état désactivé à activé. Il n'est pas nécessaire de spécifier le préfixe d'espace de noms dans l'ID.

class ButtonClass(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        # tool1 is the tool ID
        tool1.enabled = True

L'ID (Nom de variable) de l'outil est spécifié au moment de la création du type de complément dans l'Assistant de complément Python et il est stocké dans le fichier config.xml. L'espace de noms du complément est ajouté à l'ID en tant que préfixe. Ceci permet d'éviter les conflits de nom entre les compléments. Il n'est cependant pas nécessaire d'ajouter l'espace de noms en tant que préfixe à l'ID lorsque vous l'utilisez à l'intérieur du script. Voir l'exemple ci-dessous.

La plupart du temps, l'état du type de complément est géré par l'extension du complément, dans laquelle il est mis à jour et stocké en réponse à différents événements de l'application. Vous souhaitez peut-être qu'un outil ou ensemble d'outils s'active uniquement lorsqu'un document ArcMap s'affiche en mode Données, par exemple.

Le code Python suivant illustre l'utilisation d'une classe d'extension pour désactiver un outil lorsque la vue active passe en mode Mise en page. N'incluez pas le préfixe d'espace de noms.

class AVExtension(object):

    def activeViewChanged(self):
        mxd = arcpy.mapping.MapDocument('current')
        active_view = mxd.activeView
        # tool1 is the tool ID (without the namespace prefix)
        if active_view == 'PAGE_LAYOUT':
            tool1.enabled = False
        else:
            tool1.enabled = True
        arcpy.RefreshActiveView()
        return

Propriétés enabled et checked

Les types de compléments (boutons, outils et zones de listes modifiables) sont régulièrement invités à procéder à la mise à jour de leur état enabled et checked. Dans Python, les types de compléments contiennent des propriétés booléennes pour les états enabled et checked. Vous pouvez spécifier que le complément passe à l'état enabled ou disabled et checked ou unchecked au moment de son initialisation, par exemple.

Le code Python suivant explique comment définir l'état enabled ou checked d'un type de complément.

class MyButton(object):
  def __init__(self):
    self.checked = False
    self.enabled = True

La propriété checked n'est disponible que pour les types de bouton. La propriété enabled est disponible pour les boutons, les outils et les zones de listes modifiables.

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal