pub trait LiveNew: LiveApply {
// Required methods
fn new(cx: &mut Cx) -> Self;
fn live_type_info(cx: &mut Cx) -> LiveTypeInfo;
// Provided methods
fn live_design_with(_cx: &mut Cx) { ... }
fn new_apply(
cx: &mut Cx,
from: ApplyFrom,
index: usize,
nodes: &[LiveNode]
) -> Self
where Self: Sized { ... }
fn new_apply_mut_index(
cx: &mut Cx,
from: ApplyFrom,
index: &mut usize,
nodes: &[LiveNode]
) -> Self
where Self: Sized { ... }
fn new_from_ptr(cx: &mut Cx, live_ptr: Option<LivePtr>) -> Self
where Self: Sized { ... }
fn new_main(cx: &mut Cx) -> Self
where Self: Sized { ... }
fn update_main(&mut self, cx: &mut Cx) { ... }
fn new_local(cx: &mut Cx) -> Self
where Self: Sized { ... }
fn new_from_module(
cx: &mut Cx,
module_id: LiveModuleId,
id: LiveId
) -> Option<Self>
where Self: Sized { ... }
fn update_from_module(
&mut self,
cx: &mut Cx,
module_id: LiveModuleId,
id: LiveId
) { ... }
}