requestFocus method

bool requestFocus(
  1. String id
)

Requests focus for id. Returns true when focus changed.

Implementation

bool requestFocus(String id) {
  if (TuiTrace.enabled) {
    TuiTrace.log(
      'focus.requestFocus id=$id current=$_focusedId trapId=$_trapId',
    );
  }
  if (_focusedId == id) return false;

  // Check trap
  if (_trapId != null && !isDescendant(id, _trapId!)) {
    if (TuiTrace.enabled) {
      TuiTrace.log(
        'focus.requestFocus DENIED id=$id trapId=$_trapId parents=$_parents',
      );
    }
    return false;
  }

  _focusedId = id;
  if (TuiTrace.enabled) {
    TuiTrace.log('focus.requestFocus OK focusedId=$_focusedId');
  }
  _notify();
  return true;
}