AVEVA OMI Software Developer Kit
Touch Implementation Scenarios

There are three basic scenarios for implementing touch in your application.

Scenario 1:
Implementing touch within your app by leveraging an OMI app that is preconfigured for touch

In this scenario, an AVEVA OMI app that natively supports touch is used as part of an application.

  1. Within your app, implement the ISupportTouch interface (ViewApp assembly).
  2. Add your app to a pane in the ViewApp layout.

For this scenario, examples include:

  • NavTreeControl (NavigationApp)
  • AlarmApp with Area Hierarchy Navigation enabled
  • ContentPresenterApp

Scenario 2:
Implementing touch for discrete UI elements within your application

In this scenario, touch is enabled for UI elements that are not present in the pane initially, such as a dynamic dropdown menu or dialog box. This is applicable if you are leveraging OMI apps, such as:

  • The BreadCrumbControl NavigationApp: you can add touch-enabled dropdowns that contain navigation nodes
  • The TitleBarApp: you can add a dropdown menu for language selection
  1. Within your app, implement the ISupportTouch interface (ViewApp assembly).
  2. Implement the following members from the TouchSupport class in your app:
    • RegisterTouchElement
    • UnregisterTouchElement   
  3. Use RegisterTouchElement to register the logic portion of your app for touch.
  4. Use RegisterTouchElement to register each UI element for touch as the element is invoked. Make sure to use UnregisterTouchElement to unregister elements as they are hidden in the UI.

Scenario 3:
Implementing touch in a reusable control

In this scenario, touch is enabled for a reusable control/component. The reusable component is the main element of the application, and includes the app's business logic. An example of this scenario is the use of the SearchControl.dll contained in the NavCommon sample app.

  1. Within your main application, implement the ISupportTouch interface (ViewApp assembly).
  2. Implement the following members from the TouchSupport class in your app, as described under Scenario 2:
    • RegisterTouchElement
    • UnregisterTouchElement

 

See Also