Altova XMLSpy 2025 Enterprise Edition 

El complemento para entornos IDE permite modificar la interfaz de usuario de XMLSpy. Esto se hace describiendo cada una de las modificaciones por separado mediante secuencias de datos XML. La configuración XML se pasa a XMLSpy con el método GetUIModifications de la interfaz IXMLSpyPlugIn.

 

El archivo XML que contiene las modificaciones de la interfaz de usuario para el complemento debe tener esta estructura:

 

<ConfigurationData>

         <ImageFile>ruta de acceso del archivo de imagen</ImageFile>

         <Modifications>

                 <Modification>

                         ...

                 </Modification>

                 ...

         </Modifications>

 </ConfigurationData>

 

Puede definir iconos o botones de barras de herramientas para los nuevos comandos de menú que el complemento añade a la interfaz gráfica de XMLSpy. La ruta de acceso del archivo que contiene las imágenes se establece con el elemento ImageFile. Cada imagen debe tener 16 x 16 píxels y usar 256 colores como máximo. Las referencias a la imagen deben organizarse de izquierda a derecha en una sola línea (<ImageFile>...). El valor de índice de la imagen situada más a la derecha es cero.

 

El elemento Modifications puede tener un número indefinido de elemento secundarios Modification. Cada elemento Modification define un cambio concreto en la interfaz gráfica estándar de XMLSpy. A partir de la versión 4.3 también se pueden quitar elementos de la interfaz de XMLSpy.

 

Estructura de los elementos Modification

Todos los elementos Modification están compuestos por dos elementos secundarios:

 

 <Modification>

         <Action>tipo de acción</Action>

         <UIElement Type="tipo de elemento de interfaz gráfica">

         </UIElement>

 </Modification>

 

Estos son los valores válidos para el elemento Action:

 

Add: para agregar el elemento a la interfaz de XMLSpy

Hide: para ocultar el elemento en la interfaz de XMLSpy

Remove: para quitar el elemento del cuadro de lista Comandos del cuadro de diálogo "Personalizar".

 

También puede combinar varios valores en el elemento Action (p. ej. Hide Remove).

 

El elemento UIElement describe los elementos de la interfaz gráfica de  XMLSpy, nuevos o ya existentes. Se trata de estos elementos: barras de herramientas nuevas, botones nuevos, menús o comandos de menús. El atributo type define qué elemento es descrito por el elemento XML.

 

Elementos secundarios frecuentes de UIElement

Los elementos ID y Name son válidos para todos los tipos diferentes de fragmentos XML UIElement. Sin embargo, se puede ignorar uno de los valores para un tipo concreto de UIElement (p. ej. Name se ignora para un separador).

 

 <ID></ID>

 <Name></Name>

 

Si UIElement describe un elemento actual de la interfaz gráfica, el valor del elemento ID viene predefinido en XMLSpy. Lo normal es que estos valores del elemento ID no sean conocidos. Si el fragmento XML describe una parte nueva de la interfaz gráfica, entonces el ID es aleatorio y su valor debería ser menor a 1000.

 

El elemento Name establece el valor textual. Los elementos actuales de la interfaz gráfica se pueden identificar con su nombre (p. ej. menús y elementos de menús). En el caso de elementos nuevos de la interfaz, el elemento Name establece el título (p. ej. el título de una barra de herramientas o el texto de un comando de menú).

 

Barras de herramientas y menús

Para definir una barra de herramienta hace falta especificar el ID y el nombre de la barra de herramientas. Para las barras de herramientas ya existentes se puede indicar el nombre solamente o el ID, si se conoce. Para crear una barra de herramientas nueva es necesario indicar ambos valores. El atributo type debe ser igual a "ToolBar".

 

 <UIElement Type="ToolBar">

         <ID>1</ID>

         <Name>TestPlugIn</Name>

 </UIElement>

 

Para especificar un menú de XMLSpy son necesarios dos parámetros:

El ID de la barra de menú que contiene el menú. Si en la ventana principal no hay ningún documento XML abierto, el ID de la barra de menú es 128. Si hay algún documento XML abierto, el ID de la barra de menú es 129.

El nombre del menú. Los menús no tienen un valor ID asociado. En el fragmento siguiente, por ejemplo, se define el menú Edición de la barra de menú que está activa cuando hay un documento XML abierto como mínimo:

 

 <UIElement Type="Menu">

         <ID>129</ID>

         <Name>Edición</Name>

 </UIElement>

 

Si quiere crear un menú nuevo hace falta usar un elemento más: el elemento Place, que define la posición del nuevo menú en la barra de menús:

 

 <UIElement Type="Menu">

         <ID>129</ID>

         <Name>Menú PlugIn</Name>

         <Place>12</Place>

 </UIElement>

 

El valor -1 para el elemento Place coloca el botón o menú nuevo al final de la barra de herramientas o del menú respectivamente.

 

Comandos

Si añade un comando nuevo, a través de una barra de herramientas o de un comando de menú, el fragmento UIElement puede contener cualquiera de estos subelementos:

 

 <MacroName></MacroName>

 <Info></Info>

 <ImageID></ImageID>

 

Si se especifica el elemento MacroName, XMLSpy busca una macro que tenga el mismo nombre en el entorno de scripting y la ejecuta cada vez que se procese este comando.

 

El elemento Info contiene una breve descripción que aparece en la barra de estado cuando se pasa el puntero del ratón por encima del comando asociado (tanto por el botón como por el comando de menú).

 

ImageID define el índice del icono del archivo de imagen. Recuerde que todos los iconos se almacenan en un solo archivo de imagen.

 

Para definir un botón de barra de herramientas debe crear un elemento UIElement con esta estructura:

 

 <UIElement Type="ToolBarItem">

         <!--no volver a utilizar ID locales incluso si los comandos hacen lo mismo-->

         <ID>5</ID>

         <Name>Abrir archivo del repositorio...</Name>

         <!--Establecer posición en -1 si se trata del primer botón que se debe insertar-->

         <Place>-1</Place>

         <ImageID>0</ImageID>

         <ToolBarID>1</ToolBarID>

         <!--en lugar del ID de la barra de herramientas también se puede usar el nombre de la barra de herramientas-->

         <ToolBarName>TestPlugIn</ToolBarName>

 </UIElement>

 

Otros elementos que se pueden utilizar para declarar un botón de barra de herramientas son Place, ToolBarID y ToolBarName. Los elementos ToolBarID y ToolBarName sirven para identificar la barra de herramientas que contiene el botón nuevo o el botón actual. El valor textual de ToolBarName distingue entre mayúsculas y minúsculas. El atributo type (del elemento UIElement) debe ser igual a "ToolBarItem".

 

Para definir un comando de menú, además de los elementos estándar, también están los elementos MenuID, Place y Parent. El elemento MenuID puede ser 128 o 129. Para más información sobre estos valores consulte el párrafo anterior Barras de herramientas y menús.

 

El elemento Parent sirve para identificar el menú donde se debe insertar el comando de menú nuevo. Como los comandos de los submenús no tienen un ID único de Windows, necesitamos identificar de otra manera el primario del comando de menú. El valor del elemento Parent es una ruta de acceso al comando de menú.

 

El valor textual del elemento Parent debe equivaler al nombre del menú primario del submenú y el nombre del submenú debe ir separado por dos puntos. Si el menú no es un primario (porque no es un submenú) añada dos puntos al principio del nombre. El atributo type debe tener el valor "MenuItem". Por ejemplo, este elemento UIElement define un comando de menú:

 

 <UIElement Type="MenuItem">

         <!--este elemento es un ID de comando local-->

         <ID>3</ID>

         <Name>Abrir archivo de repositorio...</Name>

         <Place>-1</Place>

         <MenuID>129</MenuID>

         <Parent>:Menú PlugIn</Parent>

         <ImageID>0</ImageID>

 </UIElement>

 

XMLSpy permite añadir separadores de barras de herramientas y de menús si el valor del elemento ID es 0.

 

© 2018-2024 Altova GmbH