pub struct PropertyEditorBuildContext<'a, 'b, 'c, 'd> {
pub build_context: &'a mut BuildContext<'c>,
pub property_info: &'b FieldRef<'b, 'd>,
pub environment: Option<Arc<dyn InspectorEnvironment>>,
pub definition_container: Arc<PropertyEditorDefinitionContainer>,
pub layer_index: usize,
pub generate_property_string_values: bool,
pub filter: PropertyFilter,
pub name_column_width: f32,
pub base_path: String,
pub has_parent_object: bool,
}Expand description
This structure is passed to PropertyEditorDefinition::create_instance in order to allow it to build a widget to allow a property to be edited.
Fields§
§build_context: &'a mut BuildContext<'c>General context for widget building to be used for creating the editor.
property_info: &'b FieldRef<'b, 'd>The FieldInfo of the property to edit, extracted from the object we are inspecting by reflection.
environment: Option<Arc<dyn InspectorEnvironment>>Untyped reference to the environment that the Inspector is being used in. This will often be fyroxed_base::inspector::EditorEnvironment when the Inspector is being used in Fyroxed, but Inspector widgets can be used in other applications, and we can access those applications by casting the environment to the appropriate type.
definition_container: Arc<PropertyEditorDefinitionContainer>The list of the Inspectors property editors. This allows one property editor to make use of other property editors.
layer_index: usizeEditors can be nested within other editors, such as when an array editor contains editors for each element of the array. The layer_index indicates how deeply nested the editor widget we are creating will be.
generate_property_string_values: boolWhen true, this indicates that an Inspector should generate strings from format!("{:?}", field), for each field.
Having this in the property editor build context indicates how any Inspectors that are created as part of the new
editor should behave.
filter: PropertyFilterDetermines how properties should be filtered in any Inspectors created within the editor that is being built.
name_column_width: f32Width of the property name column.
base_path: String§has_parent_object: boolA flag, that defines whether the inspectable object has a parent object from which it can
obtain initial property values when clicking on the “Revert” button. This flag is used only for
crate::core::variable::InheritableVariable properties, primarily to hide “Revert” button
when it does nothing (when there’s no parent object).
Auto Trait Implementations§
impl<'a, 'b, 'c, 'd> Freeze for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> !RefUnwindSafe for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> !Send for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> !Sync for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> Unpin for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> UnsafeUnpin for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
impl<'a, 'b, 'c, 'd> !UnwindSafe for PropertyEditorBuildContext<'a, 'b, 'c, 'd>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
impl<T, U> ObjectOrVariant<T> for Uwhere
PhantomData<U>: ObjectOrVariantHelper<T, U>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.