didChangeSelectables method

  1. @override
void didChangeSelectables()
override

Called when this delegate finishes updating the Selectables.

Implementation

@override
void didChangeSelectables() {
  if (_lastEndEdgeUpdateGlobalPosition != null) {
    handleSelectionEdgeUpdate(
      SelectionEdgeUpdateEvent.forEnd(globalPosition: _lastEndEdgeUpdateGlobalPosition!),
    );
  }
  if (_lastStartEdgeUpdateGlobalPosition != null) {
    handleSelectionEdgeUpdate(
      SelectionEdgeUpdateEvent.forStart(globalPosition: _lastStartEdgeUpdateGlobalPosition!),
    );
  }
  final Set<Selectable> selectableSet = selectables.toSet();
  _hasReceivedEndEvent.removeWhere(
    (Selectable selectable) => !selectableSet.contains(selectable),
  );
  _hasReceivedStartEvent.removeWhere(
    (Selectable selectable) => !selectableSet.contains(selectable),
  );
  super.didChangeSelectables();
}