onDropTo method
Implementation
Stream<GraphObject> onDropTo(Diagram toDiagram) {
final drops = _onDrops ??= {};
final myDrops = drops[this] ??= {};
if (myDrops[toDiagram] == null) {
var _onDropped = allowInterop((DiagramEvent ev) {
var iDropped = (ev.parameter as Diagram).selection.contains(this);
if (iDropped) {
myDrops[toDiagram]!.add(this);
}
});
void start() {
toDiagram.addDiagramListener('ExternalObjectsDropped', _onDropped);
}
void stop() {
toDiagram.removeDiagramListener('ExternalObjectsDropped', _onDropped);
}
myDrops[toDiagram] = StreamController<GraphObject>.broadcast(
onListen: start, onCancel: stop);
}
return myDrops[toDiagram]!.stream;
}