XML de configuración

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Referencia del programador > Complementos para entornos IDE >

XML de configuración

Con el complemento puede cambiar la interfaz del usuario (IU) de UModel. Para ello es necesario describir cada modificación con una secuencia de datos XML. Los datos XML de configuración se pasan a UModel con el método GetUIModifications de la Interfaz IUModelPlugIn.

 

El archivo XML que contiene las modificaciones de la IU para el complemento debe seguir esta estructura:

 

  <ConfigurationData>
    <ImageFile>path To image file</ImageFile>
    <Modifications>
        <Modification>
           ...
        </Modification>
        ...
    </Modifications>
  </ConfigurationData>

 

Puede definir iconos o botones de barra de herramientas para los nuevos elementos de menú que el complemento añade a la IU de UModel. La ruta de acceso del archivo que contiene las imágenes se establece con el elemento ImageFile. Las imágenes deben tener cada una un tamaño de 16 x 16 píxels. Las referencias de imagen deben hacerse de izquierda a derecha en una sola línea (<ImageFile>...). El valor de índice de la imagen más a la derecha es cero.

 

El elemento Modifications puede tener un número ilimitado de secundarios Modification. Cada elemento Modification define un cambio concreto en la IU estándar de UModel. También se pueden  eliminar elementos de la IU de UModel.

 

Estructura de los elementos Modification

Todos los elementos Modification están formados por estos dos elementos secundarios:

 

  <Modification>
    <Action>Type of action</Action>
    <UIElement Type="type of UI element">
    </UIElement>
  </Modification>

 

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

 

Add        - para agregar el elemento de interfaz gráfica en UModel.

Hide        - para ocultar el elemento de interfaz gráfica en UModel.

Remove - para quitar el elemento de interfaz gráfica del cuadro de lista Comandos del cuadro de diálogo "Personalizar" de UModel.

 

Estos valores del elemento Action se pueden combinar (p. ej. "Hide Remove").

 

El elemento UIElement describe elementos nuevos o que ya existen de la IU de UModel. Estos son los elementos posibles: barras de herramientas, botones, menús y elementos de menú. El atributo type define qué elemento de la IU describe el elemento XML.

 

Elementos secundarios de UIElement

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

 

  <ID></ID>
  <Name></Name>

 

Si UIElement describe un elemento que ya existe de la IU, el valor de ID viene ya predefinido por UModel. Lo normal es que estos valores no sean públicos. Si, por el contrario, el fragmento XML describe una parte nueva de la IU, entonces el valor de ID es aleatorio y el valor debe ser menor que 1000.

 

El elemento Name establece el valor textual. Los elementos que ya existen de la IU se pueden identificar por el nombre (p. ej. menús y elementos de menú con submenús asociados). Para elementos nuevos  de la IU, el elemento Name establece el título (p. ej. el título de una barra de herramientas o el texto para un elemento de menú).

 

Barras de herramientas y menús

Para poder definir una barra de herramientas es necesario especificar el identificador o el nombre de la barra de herramientas. Puede referirse a barras de herramientas que ya existen con su nombre (o con su identificador, si lo conoce). Para crear una barra de herramientas nueva, deben definirse ambos valores. El atributo type debe ser igual a "ToolBar".

 

  <UIElement Type="ToolBar">
    <ID>1</ID>
    <Name>Styles</Name>
  </UIElement>

 

Para referirse a un menú de UModel es necesario usar dos parámetros:

El identificador de la barra de menú que incluye el menú. (El identificador de la barra de menú principal de UModel es 101).
El nombre del menú. Los menús no tienen asociado ningún identificador. Por ejemplo, a continuación puede ver cómo se define el menú Edición de la barra de menú:

 

  <UIElement Type="Menu">
    <ID>101</ID>
    <Name>Edit</Name>
  </UIElement>

 

Si quiere crear un elemento nuevo, debe añadir otro elemento: el elemento Place, que define la posición del nuevo menú en la barra de menú:

 

  <UIElement Type="Menu">
    <ID>101</ID>
    <Name>PlugIn Menu</Name>
    <Place>12</Place>
  </UIElement>

 

Si asigna el valor -1 al elemento Place, el nuevo botón o elemento de menú se coloca al final del menú o de la barra de herramientas.

 

Comandos

Si añade un comando nuevo (mediante un botón o un elemento de menú nuevo), el fragmento UIElement puede incluir estos subelementos:

 

  <Info></Info>
  <ImageID></ImageID>

 

El elemento Info contiene una breve cadena de texto que aparece en la barra de estado cuando se pasa el puntero del ratón por encima del comando (del botón o del elemento de menú). El elemento ImageID define el índice del icono en el archivo de imagen externo. 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 fragmento UIElement con esta estructura:

 

  <UIElement Type="ToolBarItem">
    <!--don't reuse local IDs even the commands do the same-->
    <ID>6</ID>
    <Name>Fill red</Name>
    <!--Set Place To -1 If this is the first button to be inserted-->
    <Place>-1</Place>
    <ImageID>0</ImageID>
    <ToolBarID>1</ToolBarID>
    <!--instead of the toolbar ID the toolbar name could be used-->
    <ToolBarName>Styles</ToolBarName>
  </UIElement>

 

También puede declarar un botón de barra de herramientas con estos elementos: Place, ToolBarID y ToolBarName. Los elementos ToolBarID y ToolBarName se utilizan para identificar la barra de herramientas que contiene el botón nuevo o que ya existe. El valor textual del elemento ToolBarName distingue entre mayúsculas y minúsculas. El atributo type debe ser igual a ToolBarItem.

 

Para definir un elemento de menú, además de los elementos estándar utilizados para declarar un comando, están disponibles los elementos MenuID, Place y Parent. El elemento MenuID debe ser 101.  Para más información consulte el subapartado anterior sobre barras de herramientas y menús.

 

El elemento Parent sirve para identificar el menú donde debe insertarse la entrada de menú nueva. Como los elementos de los submenús no tienen un identificador de Windows único, hay que encontrar otra manera de identificar al submenú.

 

El valor del elemento Parent es una ruta de acceso al elemento de menú.

 

El valor textual del elemento Parent debe equivaler al nombre del menú primario del submenú (y el nombre del submenú debe estar separado por dos puntos). Si el menú no tiene 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 fragmento UIElement define un elemento de menú:

 

  <UIElement Type="MenuItem">
    <!--the following element is a Local command ID-->
    <ID>3</ID>
    <Name>Fill red</Name>
    <Place>-1</Place>
    <MenuID>101</MenuID>
    <Parent>:PlugIn Menu1</Parent>
    <ImageID>0</ImageID>
  </UIElement>

 

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


© 2019 Altova GmbH