Extension Controls
This section provides you with instructions on how to create, configure and run an extension that also provides a user interface within Desktop Connect Express.
Extension controls allow developers to extend Desktop Connect Express functionality by writing custom code for various business logic and providing custom user interface to customers, when an extension control is loaded into Desktop Connect Express allocates UI estate to the control and forwards event data, allowing the custom assembly to perform custom action, render and present data on the user interface and to execute rules.
Extension controls extend Geomant.DCX.Extension.IDCXExtension interface and are configured in the same way as an Extensionsis.
Published interface
In order for Desktop Connect Express to load a custom extension, the following interfaces need to be implemented.
Interface name |
Description |
IGuiHost |
Provides a reference to the main Desktop Connect user interface, allowing extension controls to be loaded |
IDCXBaseExtensionControl |
Basic description for an extension control |
IDCXExtensionControl |
The interface defines an extension control that can be loaded into Desktop Connect Express at runtime |
Interface details
Interface Reference: Geomant.DCX.Plugin.IGuiHost
Description: This interface allows extension to display the control within in Desktop Connect Express
Methods:
Name |
Type |
Description |
LoadControl(string controlName, UserControl control) |
bool |
Indicates to Desktop Connect to load the control within the UI frame |
UnloadControl(string controlName) |
bool |
Indicates to Desktop Connect to unload the control from the UI frame |
Interface Reference: Geomant.DCX.Plugin.IDCXBaseExtensionControl
Description: Base extension control interface
Properties:
Name |
Type |
Description |
IsControl |
bool |
Determines if the extension is a control, set value to true in order for DCX to load the control in the user interface real estate |
Interface Reference: Geomant.DCX.Plugin.IDCXExtensionControl
Description: Extension control interface, control can be loaded into Desktop Connect Express user interface by implementing this event.
Methods:
Name |
Type |
Description |
UIReference(IGuiHost host) |
void |
Method is invoked by Desktop Connect Express upon initialization, the GUI reference is being passed |
LoadUI() | void | Method is invoked by Desktop Connect Express when the control is ready to be loaded in the user interface |
UnloadUI() | void | Method is invoked when the control is removed from the user interface |
Sample extension control
The following sample code subscribes to Desktop Connect Express events and loads a simple web browser control into the user interface.
Code
Error rendering macro 'code': Invalid value specified for parameter 'linenumbers'
Error rendering macro 'code': Invalid value specified for parameter 'linenumbers'