tooltipTriggerMode method

  1. @preferInline
TooltipTriggerMode? tooltipTriggerMode({
  1. String key = FlutterPropertyKeys.triggerMode,
  2. TooltipTriggerMode? defaultValue,
  3. Object? target,
  4. bool warmUp = false,
})

Retrieves a TooltipTriggerMode value from the JSON map for the given key.

Looks up the value associated with key in the JSON. If the value is already a TooltipTriggerMode, it is returned as is. If the value is a String or int, it is converted using the lookup tables. Otherwise, it returns defaultValue.

  • key: The key to look up in the JSON map. Defaults to 'triggerMode'.
  • defaultValue: The value to return if the key is not found or cannot be resolved. Defaults to null.

Returns:

  • A TooltipTriggerMode if the value is valid or can be parsed.
  • defaultValue if the value is not a valid TooltipTriggerMode or cannot be parsed.
  • null if both the value and defaultValue are null.

Implementation

@preferInline
TooltipTriggerMode? tooltipTriggerMode({
  String key = FlutterPropertyKeys.triggerMode,
  TooltipTriggerMode? defaultValue,
  Object? target,
  bool warmUp = false,
}) {
  final value = _readProp(key, target, warmUp);

  if (value is TooltipTriggerMode) return value;

  if (value == null) return defaultValue;

  switch (value) {
    case String():
      if (envAttributeWarmUpEnabled) {
        if (warmUp) {
          return _tooltipTriggerModeStringLookupTable[value];
        } else {
          return _json[key] = _tooltipTriggerModeStringLookupTable[value];
        }
      } else {
        return _json[key] = _tooltipTriggerModeStringLookupTable[value];
      }
    case int():
      if (envAttributeWarmUpEnabled) {
        if (warmUp) {
          return _tooltipTriggerModeIntLookupTable[value];
        } else {
          return _json[key] = _tooltipTriggerModeIntLookupTable[value];
        }
      } else {
        return _json[key] = _tooltipTriggerModeIntLookupTable[value];
      }
    default:
      return defaultValue;
  }
}