TooltipView constructor

TooltipView(
  1. TooltipModel model,
  2. Widget child
)

Implementation

TooltipView(this.model, this.child) : super(key: ObjectKey(model)) {
  // set tooltip position
  var position = TooltipPosition.rightCenter;
  switch (model.position?.toLowerCase().trim()) {

    case 'lefttop':
    case 'leftstart':
      position = TooltipPosition.leftStart;
      break;

    case 'left':
    case 'leftcenter':
      position = TooltipPosition.leftCenter;
      break;

    case 'leftbottom':
    case 'leftend':
      position = TooltipPosition.leftEnd;
      break;

    case 'righttop':
    case 'rightstart':
      position = TooltipPosition.rightStart;
      break;

    case 'right':
    case 'rightcenter':
      position = TooltipPosition.rightCenter;
      break;

    case 'rightbottom':
    case 'rightend':
      position = TooltipPosition.rightEnd;
      break;

    case 'topleft':
    case 'topstart':
      position = TooltipPosition.topStart;
      break;

    case 'top':
    case 'topcenter':
      position = TooltipPosition.topCenter;
      break;

    case 'topright':
    case 'topend':
      position = TooltipPosition.topEnd;
      break;

    case 'bottomleft':
    case 'bottomstart':
      position = TooltipPosition.bottomStart;
      break;

    case 'bottom':
    case 'bottomcenter':
      position = TooltipPosition.bottomCenter;
      break;

    case 'bottomright':
    case 'bottomend':
      position = TooltipPosition.bottomEnd;
      break;
  }
  this.position = position;

  // set tooltip content
  List<Widget> children = model.inflate();
  content = children.length == 1
      ? children[0]
      : Column(mainAxisSize: MainAxisSize.min, children: children);
}