use super::{BuilderCxFn, BuilderFn, ControlBuilder, ControlData}; use crate::{FormBuilder, FormToolData}; impl FormBuilder { pub fn custom( mut self, control_data: CC, builder: impl BuilderFn>, ) -> Self { let control_builder = ControlBuilder::new(control_data); let control = builder(control_builder); self.add_control(control); self } pub fn custom_cx( mut self, control_data: CC, builder: impl BuilderCxFn, FD::Context>, ) -> Self { let control_builder = ControlBuilder::new(control_data); let control = builder(control_builder, self.cx.clone()); self.add_control(control); self } pub fn custom_default( self, builder: impl BuilderFn>, ) -> Self { self.new_control(builder) } pub fn custom_default_cx( self, builder: impl BuilderCxFn, FD::Context>, ) -> Self { self.new_control_cx(builder) } }