use crate::{ layout::{LayoutChildIter, LayoutNode, LayoutNodeAccess, LayoutNodeContainer}, platform::{render::Painter, PlatformPainter, PlatformSpec, TextInterface}, Component, Widget, }; pub struct PlainGroup { lnode: LayoutNode, children: Vec>>, } impl LayoutNodeContainer for PlainGroup { fn layout_node(&self) -> &LayoutNode { &self.lnode } fn layout_child(&self, ndx: usize) -> Option { self.children.get(ndx).map(|w| w.layout_node()) } fn layout_child_count(&self) -> usize { self.children.len() } } impl Widget for PlainGroup { fn layout_node(&self) -> LayoutNodeAccess { LayoutNodeAccess::new(self) } fn layout_node_mut(&mut self) -> &mut LayoutNode { &mut self.lnode } fn poll( &mut self, input_state: Option<&crate::input::InputState>, ) -> Vec<::Msg> { vec![] } fn render(&self, painter: &mut PlatformPainter

, ti: &P::Text) { for child in self.children.iter() { child.render(painter, ti); } } }