User Interface (UI) Plugins Technology
The UI plugins framework consists of a hosting environment and the hosted components discovered and loaded at runtime. A hosted component, or plugin, is a COM object that implements interfaces required by the hosted environment to invoke the object's methods at runtime. You may implement plugins in a variety of languages (Visual Basic,Visual C#, C++, etc.) that support COM interfaces. The hosting environment is a GUI or GUI-less application that makes use of the UI plugins framework. A hosting environment is responsible for activation and management of the lifetime of the plugins. In addition, a hosted environment supplies information about itself and its capabilities to the plugins during their initialization.
Implementing key interfaces
To create a UI plugin, you need to implement a few interfaces from the AgUiPlugins library (AGI.Ui.Plugins namespace). You can implement the AgUiPlugins interface from any technology where it is possible to implement COM interfaces.
The first figure outlines the most significant UI plugin interfaces:
- You must implement the IAgUiPlugin interface to define a UI plugin.
- The IAgUiPluginCommandTarget interface is required to process commands from context menus and toolbars.
- You must implement the IAgUiPluginEmbeddedControlSite interface for custom windows (if any) hosted within the integrated environment.
- If you want to expose any configuration pages accessible from the Edit --> Preferences dialog, you need to implement the IAgUiPluginConfigPageActions interface.
Methods and properties associated with key interfaces
The figure below outlines the methods and properties associated with the most significant UI plugin interfaces: