ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Administrar el estado de tipos de complementos de Python

  • La comunicación y coordinación entre tipos de complementos
  • Propiedades habilitadas y marcadas

La comunicación y coordinación entre tipos de complementos

En algunos casos, un medio para la comunicación entre tipos de complementos es necesario para que una personalización pueda activar u obtener el estado de otro. Por ejemplo, un botón de complemento particular, al hacer clic en él, puede alterar el estado del complemento de una herramienta de deshabilitado a habilitado.

Im folgenden Python-Code wird das Verwalten der Add-In-Kommunikation veranschaulicht. In der onClick()-Funktion der Schaltfläche wird die Werkzeug-ID (der Variablenname) verwendet, um den Status von "disabled" in "enabled" zu ändern. Sie müssen das Namespace-Präfix nicht als Teil der ID angeben.

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

El Id. (nombre de la variable) de la herramienta se especifica durante la creación del tipo de complemento que utiliza el Asistente de complementos de Python y se almacena en el archivoconfig.xml. El Id. es el prefijo por el espacio de nombre del complemento. Esto se hace para evitar los conflictos de nombre entre los complementos. Sin embargo, no es necesario el prefijo del espacio de nombre con el Id. cuando lo utiliza dentro de la secuencia de comandos. Vea el ejemplo a continuación.

En la mayoría de los casos, el estado del tipo de complementos se administra por la extensión de los complementos, en donde se puede actualizar y almacenar en respuesta a varios acontecimientos de la aplicación. Por ejemplo, es posible que solo desee habilitar una herramienta o conjunto de herramientas cuando un documento de mapa esté en la vista de datos.

El siguiente código de Python muestra cómo una clase de extensión se utiliza para deshabilitar una herramienta cuando la vista activa se cambia a la vista de composición de mapa. No incluya el prefijo del espacio de nombre.

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

Propiedades habilitadas y marcadas

Los tipos de complementos (botones, herramientas y cuadros combinados) se notifican periódicamente para actualizar su estado habilitado y marcado. En Python, los tipos de complementos contienen propiedades booleanas para habilitar y marcar. Por ejemplo, puede establecer que los complementos estén habilitados o deshabilitados y activados o desactivados durante su inicialización.

El siguiente código de Python muestra cómo establecer el estado habilitado o activado de un tipo de complemento.

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

La propiedad marcada solo está disponible para los tipos de botón. La propiedad habilitada está disponible para los botones, herramientas y cuadros combinados.

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

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

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal