everyAttachedWidgetRenderBox method
Implementation
bool everyAttachedWidgetRenderBox(EveryRenderBoxModelHandlerCallback callback) {
if (_widgetRenderObjects.isEmpty) return false;
if (_widgetRenderObjects.length == 1) {
for (final entry in _widgetRenderObjects.entries) {
final RenderBoxModel ro = entry.value;
return ro.attached ? callback(entry.key, ro) : false;
}
}
final bool canUseLayoutPassCache = renderBoxModelInLayoutStack.isNotEmpty;
if (canUseLayoutPassCache) {
if (_cachedAttachedWidgetRenderBoxesLayoutPassId !=
renderBoxModelLayoutPassId) {
_cachedAttachedWidgetRenderBoxesLayoutPassId =
renderBoxModelLayoutPassId;
final List<MapEntry<flutter.RenderObjectElement, RenderBoxModel>>
attachedEntries =
<MapEntry<flutter.RenderObjectElement, RenderBoxModel>>[];
for (final entry in _widgetRenderObjects.entries) {
final RenderBoxModel ro = entry.value;
if (ro.attached) {
attachedEntries.add(MapEntry(entry.key, ro));
}
}
_cachedAttachedWidgetRenderBoxes = attachedEntries;
}
final List<MapEntry<flutter.RenderObjectElement, RenderBoxModel>>
attachedEntries =
_cachedAttachedWidgetRenderBoxes ??
const <MapEntry<flutter.RenderObjectElement, RenderBoxModel>>[];
for (final entry in attachedEntries) {
if (!callback(entry.key, entry.value)) {
return false;
}
}
return true;
}
for (final entry in _widgetRenderObjects.entries) {
final ro = entry.value;
if (ro.attached && !callback(entry.key, ro)) {
return false;
}
}
return true;
}