Interfaz IUModelPlugIn

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

Inicio >  Referencia del programador > Complementos para entornos IDE >

Interfaz IUModelPlugIn

Si se añade un archivo DLL como complemento en UModel, para que el DLL se reconozca como complemento es necesario que registre un componente de COM que responda a una interfaz IUModelPlugIn. La interfaz IUModelPlugIn contiene los siguientes métodos, que deben estar implementados por un complemento cliente.

 

OnInitalize
OnRunning
OnShutdown
GetUIModifications
GetDescription
OnCommand
OnUpdateCommand

 

Declaración del método

Uso

OnInitialize(pUModel as IDispatch)

Al método OnInitialize de la implementación de interfaz se le llama cuando se inicializa el complemento y antes de que se procesen los comandos DDE o de procesamiento por lotes.

 

Puede adjuntar notificadores y escuchar si hay eventos de UModel, pero no debería iniciar comandos / cambios nuevos hasta que se invoque el método OnRunning.

 

 

pUModel almacena una referencia a la interfaz de envío del objeto Application de UModel.

OnRunning(pUModel as IDispatch)

Al método OnRunning de la implementación de interfaz se le llama cuando se inicializa el complemento y después de que se procesen los comandos DDE o de procesamiento por lotes.

 

Ahora la aplicación está completamente inicializada y puede iniciar nuevos comandos / cambios y modificar los datos UML.

 

 

pUModel almacena una referencia a la interfaz de envío del objeto Application de UModel.

OnShutdown(pUModel as IDispatch)

Al método OnShutdown de la implementación de interfaz se le llama inmediatamente antes de que se descargue el complemento (por ejemplo cuando se va a cerrar la aplicación).

 

 

pUModel almacena una referencia a la interfaz de envío del objeto Application de UModel.

GetUIModifications() as String

Al método GetUIModifications() se le llama durante la inicialización del complemento para obtener los datos XML de configuración que definen los cambios en la interfaz de usuario de UModel.

 

Al método se le llama cuando se carga el complemento por primera vez y cada vez que se inicia UModel.

 

Para más información sobre cómo cambiar la interfaz de usuario consulte el apartado XML de configuración.

GetDescription() as String

 

GetDescription() se utiliza para definir la cadena de descripción para las entradas del complemento que son visibles en el cuadro de diálogo "Personalizar".

OnCommand(nID as long, pUModel as IDispatch)

Al método OnCommand() de la implementación de interfaz se le llama cada vez que se procesa un comando añadido por el complemento (ya sea un comando de menú o un botón de una barra de herramientas).

 

nID almacena el identificador del comando definido por el elemento ID del correspondiente UIElement.

 

pUModel almacena una referencia a la interfaz de envío del objeto Application de UModel.

OnUpdateCommand(nID as long, pUModel as IDispatch) as UModelUpdateAction

Al comando OnUpdateCommand() se le llama cada vez que se necesita establecer el estado visible de un botón u opción de menú.

 

nID almacena el identificador del comando definido por el elemento ID del correspondiente UIElement.

 

pUModel almacena una referencia a la interfaz de envío del objeto Application de UModel.

 

Los valores devueltos posibles (según lo definido en UModelUpdateAction) para establecer el estado de actualización son:

 


UModelUpdateAction_Enable

= 1


UModelUpdateAction_Disable

= 2


UModelUpdateAction_Check

= 4


UModelUpdateAction_Uncheck

= 8

 

Puede combinar varios valores usando el operador OR bit a bit (p. ej. UModelUpdateAction_Enable | UModelUpdateAction_Check ).

 

Para ver un ejemplo muy sencillo de implementación de interfaz, consulte Implement IUModelPlugIn Interface. Encontrará más ejemplos de implementación (como soluciones de Visual Studio) en: C:\Usuarios\<usuario>\Documentos\Altova\UModel2019\UModelExamples\IDEPlugIn.

 

El diagrama de secuencia que aparece a continuación explica cómo interactúa UModel con IUModelPlugIn:

um_IUModelPlugIn


© 2019 Altova GmbH