Skip to content

Vertical Velocity Widget

Cristina Suciu edited this page Dec 23, 2020 · 3 revisions

The Vertical Velocity Widget is a Text type of Base Telemetry Widget. It shows the vertical velocity of the aircraft while flying.

The states of the widget are the following:

State Image
Disconnected
Metric Unit System
Imperial Unit System

Usage

If creating the vertical velocity widget through code it can be added using the convenience method:

- (void)installInViewController:(nullable UIViewController *)viewController

which adds the widget the method is called on, as a subview of the ViewController, that is passed in as an argument. Following this, add constraints to the widget using its widgetSizeHint property to determine width, height and aspect ratio constraints.

If creating the widget through storyboard use the object library to drag a container view controller into the desired view controller like so:

Following this make sure to change the class of the child view controller to be DUXBetaVerticalVelocityWidget. From here you can create the constraints on the container view using the Telemetry Panel Widget's widgetSizeHint property.

Customizations

The UI elements can be customized to match the style of the user's application. The widget supports all the Text Customizations provided in the Base Telemetry Widget.

State Image
Disconnected
Metric Unit System
Imperial Unit System

Swift Example

verticalVelocityWidget.backgroundColor = UIColor.white
verticalVelocityWidget.labelTextColor = UIColor.black
verticalVelocityWidget.valueTextColor = UIColor.blue
verticalVelocityWidget.unitTextColor = UIColor.blue
verticalVelocityWidget.upwardImage = UIImage(named: "UpwardImage")
verticalVelocityWidget.downwardImage = UIImage(named: "DownwardImage")

Objective-C Example

verticalVelocityWidget.backgroundColor = [UIColor whiteColor];
verticalVelocityWidget.labelTextColor = [UIColor blackColor];
verticalVelocityWidget.valueTextColor = [UIColor blueColor];
verticalVelocityWidget.unitTextColor = [UIColor blueColor];
verticalVelocityWidget.upwardImage = [UIImage imageNamed: @"UpwardImage"];
verticalVelocityWidget.downwardImage = [UIImage imageNamed: @"DownwardImage"];

APIs

List of customization APIs
  • var upwardImage: UIImage - The image displayed when aircraft is moving in an upward direction.
  • var downwardImage: UIImage - The image displayed when aircraft is moving in a downward direction.

Hooks

The widget provides hooks for the users to add functionality based on the state changes in the widget. The DUXBetaVerticalVelocityWidget provides the following hooks:

  1. VerticalVelocityModelState - Provides hooks in events received by the widget from the widget model.
    • public static func productConnected(_ isConnected: Bool) -> VerticalVelocityModelState - Event when the product is connected or disconnected.
    • public static func verticalVelocityStateUpdated(_ verticalVelocityState: VerticalVelocityState) -> VerticalVelocityModelState - Event when the vertical velocity state is updated.
Clone this wiki locally