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();
}