To create UI Connectors, you need to understand the components involved and the terminology that is used to describe them.
The following figure shows the various components and how they relate to one
|adapter control||Adapter controls are components displayed in Object Explorer and used by automation developers. The properties, methods, and events of these controls provide a way to interact with native controls.|
|native control||A native control is a control in the application that you are automating.|
A target is an object created in the adapter that represents a native control in the application that you are automating. The lifetime of targets is synced with the lifetime of the associated native control. So as the native controls are created and destroyed, the associated targets are likewise created and destroyed.
There are many types of targets and each target represents a specific type of control. So a GridTarget knows how to get cell values, set cell values, and so on. A ListBoxTarget provides a count of items and returns the items as a list.
These targets are matched to the adapter controls. When an adapter control is invoked in an automation, the control operates on the matched target and the target brokers communication with the native control in the application you are automating.
|translator||Translators are objects that are injected into the adapter application and operate directly against the native control. Translators are designed to operate against a specific type of control. For instance the .NET DataGrid translator works against System.Windows.Forms.DataGrid or any objects that inherit from DataGrid.|
|UI connector||UI Connectors are C# classes that are created and compiled into your Pega Robot Studio project. UI Connectors contain the logic for mapping the target implementation to the native control. The adapter control communicates with the UI Connector and the UI Connector uses the target to make reflective calls to the native control.|Previous topic Support and limitations Next topic Exploring native control capabilities