pub trait SelectableElement<T: HasElements<Self>>: Kind + Sized {
const PICKED_FROM: &'static [&'static str];
// Required method
fn select(
reader: &Reader<'_>,
hit: &PickedElement,
) -> Option<ElementReference<T, Self>>;
// Provided method
fn drawn(
reader: &Reader<'_>,
element: &ElementReference<T, Self>,
) -> Vec<PickedElement> { ... }
}Expand description
A kind of element of the target T a reference field picks.
Required Associated Constants§
Sourceconst PICKED_FROM: &'static [&'static str]
const PICKED_FROM: &'static [&'static str]
The kinds of what an editor draws that a click picks one from (see
crate::editing::hit::Scene::pick): its own kind, for an element
drawn as itself.
Required Methods§
Sourcefn select(
reader: &Reader<'_>,
hit: &PickedElement,
) -> Option<ElementReference<T, Self>>
fn select( reader: &Reader<'_>, hit: &PickedElement, ) -> Option<ElementReference<T, Self>>
The element a click on hit, of one of Self::PICKED_FROM,
selects, read through reader: hit itself, for an element drawn
as itself; none, for a hit that selects none.
Provided Methods§
Sourcefn drawn(
reader: &Reader<'_>,
element: &ElementReference<T, Self>,
) -> Vec<PickedElement>
fn drawn( reader: &Reader<'_>, element: &ElementReference<T, Self>, ) -> Vec<PickedElement>
What an editor draws of element, to light while it is selected:
the element itself, by default.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".