6 votos

¿Cómo almacenar Python Add-In configuración y personalización de menú en archivo de *.esriaddin?

Hay un hueco en mi comprensión de Python Add-Ins.

Al crear un Add-in De Python es fácil ver donde botones, herramientas y extensiones son implementados como Clases en el *_addin.py script de la carpeta de Instalación, y cómo estos se escriben en la compartible *.esriaddin archivo.

Sin embargo, creo que el ArcGIS 10.2 de la Ayuda en Línea para la Creación de un menú add-in para ser más que minimalista. Por un poco de ensayo y error que he averiguado, dentro de ArcMap, cómo arrastrar agregar-en los menús, botones y herramientas de diálogo Personalizar, en un complemento de la barra de herramientas para lograr un menú como el de abajo.

enter image description here

Lo que soy incapaz de averiguar cómo es este "diseño" de la barra de herramientas de complementos, con su complemento en el menú y el botón de add-in y complemento de la herramienta se escriben en el *.esriaddin archivo.

Es la forma de llegar a agregar-en el menú de personalización y configuración de escrito en el *.esriaddin archivo mediante la edición de la config.xml y si es así, es la sintaxis que se utiliza para hacer que documentado en ninguna parte?

8voto

auramo Puntos 161

Un .esriaddin archivo es sólo un ZIP-archivo comprimido que contiene los archivos que componen su complemento. Se puede abrir con algo así como 7-Zip para comprobar esto. La Esencial Add-in de Python conceptos artículo alude a esto.

El diseño de su complemento, se incluyen las definiciones de barras de herramientas, menús y botones, se almacenan dentro de la config.xml, cuya sintaxis no está especialmente bien documentado en ninguna parte (aunque usted puede comprobar el .NETA o, en particular, el de Java agregar-en google docs , que por alguna razón tienen un mejor documentado de la disección del archivo).

Sin embargo, usted realmente no esperaba tener que meterse con la config.xml y se anima a en lugar de utilizar el Add-in de Python Asistente para crear su complemento en la estructura. Es de suponer que usted ya está usando este.

Tan lejos como la adición de un menú de la barra de herramientas, y un botón de un menú, es sólo una cuestión de hacer clic derecho en las entradas apropiadas en el asistente y seleccionar los elementos deseados:

enter image description here

3voto

Kelly Puntos 6

El diseño de un Complemento de Python puede ser cambiado por el de edición/actualización de los config.xml archivo.

También tratando de conseguir mi cabeza y las manos alrededor de las diferentes formas de ArcGIS puede usar Python a través de secuencias de comandos (.py), cajas de herramientas ArcToolbox (.tbx), cajas de herramientas de Python (.pyt), incluidos los Complementos de Python (.py y .xml).

El uso de Python Complemento Asistente (PAA) va a generar un config.xml archivo que más tarde puede actualizar/editar a través de la PAA, o un editor para cambiar el diseño (por ejemplo, para anidar una herramienta en un menú, y el menú en una caja de herramientas...la PAA interfaz de usuario parece que sólo permiten a los botones o menús menús).

Aquí están las capturas de pantalla de la anidación/edición de diseño que estoy tratando de describir:

Python Addin toolbar with tools nested under menus.

Same Python Addin toolbar depicting multiple menus.

Y aquí una muestra de la config.xml editar estoy tratando de describir:

<ESRI.Configuration xmlns="http://schemas.esri.com/Desktop/AddIns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>MouseClickTools</Name>
<AddInID>{bd14488e-47a2-4ab4-89d1-45aa9a8ef0d2}</AddInID>
<Description>Mouse Click Tools</Description>
<Version>0.1</Version>
<Image />
<Author>Author</Author>
<Company>Company</Company>
<Date>06/04/2014</Date>
<Targets>
    <Target name="Desktop" version="10.2" />
</Targets>
<AddIn language="PYTHON" library="MouseClick2_addin.py" namespace="MouseClick2_addin">
    <ArcMap>
        <Commands>
            <Tool caption="Window Click Tool" category="MouseClick" class="McToolClass_Win" id="MouseClick_addin.mcToolWin" image="Images\3DAnalystInterpolatePoint16.png" message="Click in Data Frame to see window coordinates." tip="Shows window coordinates."><Help heading="Windows Click Tool">Windows Click Tool</Help></Tool> <!-- 1st tool, defined -->
            <Tool caption="Map Click Tool" category="MouseClick" class="McToolClass_Map" id="MouseClick_addin.mcToolMap" image="Images\3DAnalystInterpolatePoint16.png" message="Click in Data Frame to see map coordinates." tip="Shows map coordinates."><Help heading="Map Click Tool">Map Click Tool</Help></Tool> <!-- 2nd tool, defined -->
        </Commands>
        <Toolbars>
            <Toolbar caption="Click Tools" category="MouseClick" id="MouseClick_addin.mcToolbar" showInitially="true"> <!-- 1st toolbar, defined -->
                <Items>
                    <Menu refID="MouseClick_addin.mcMenu" /> <!-- 1st menu nested in toolbar-->
                    <Menu refID="MouseClick_addin.mcMenu" /> <!-- 1st menu, added a 2nd time, just for layout editing illustration -->
                </Items>
            </Toolbar>
        </Toolbars>
        <Menus>
            <Menu caption="Click Clickity Click" category="MouseClick" id="MouseClick_addin.mcMenu" isRootMenu="true" isShortcutMenu="false" separator="true"> <!-- 1st menu, defined -->
                <Items>
                    <Tool refID="MouseClick_addin.mcToolWin" /> <!-- 1st tool, nested in menu-->
                    <Tool refID="MouseClick_addin.mcToolMap" /> <!-- 2nd tool, nested in menu -->
                </Items>
            </Menu>
        </Menus>
    </ArcMap>
</AddIn>

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X