Struct gdnative_core::export::PropertyBuilder
source · pub struct PropertyBuilder<'a, C, T: Export, S = InvalidSetter<'a>, G = InvalidGetter<'a>> { /* private fields */ }
Expand description
Builder type used to register a property on a NativeClass
.
Implementations§
source§impl<'a, C, T, S, G> PropertyBuilder<'a, C, T, S, G>where
C: NativeClass,
T: Export,
S: RawSetter<C, T>,
G: RawGetter<C, T>,
impl<'a, C, T, S, G> PropertyBuilder<'a, C, T, S, G>where
C: NativeClass,
T: Export,
S: RawSetter<C, T>,
G: RawGetter<C, T>,
sourcepub fn with_setter<NS>(
self,
setter: NS
) -> PropertyBuilder<'a, C, T, Setter<Mut, NS>, G>where
Setter<Mut, NS>: RawSetter<C, T>,
pub fn with_setter<NS>(
self,
setter: NS
) -> PropertyBuilder<'a, C, T, Setter<Mut, NS>, G>where
Setter<Mut, NS>: RawSetter<C, T>,
Provides a setter function with the signature fn(&mut C, owner: C::Base, value: T)
where C
is the NativeClass
type being registered and T
is the type of the property.
sourcepub fn with_shr_setter<NS>(
self,
setter: NS
) -> PropertyBuilder<'a, C, T, Setter<Shr, NS>, G>where
Setter<Shr, NS>: RawSetter<C, T>,
pub fn with_shr_setter<NS>(
self,
setter: NS
) -> PropertyBuilder<'a, C, T, Setter<Shr, NS>, G>where
Setter<Shr, NS>: RawSetter<C, T>,
Provides a setter function with the signature fn(&C, owner: C::Base, value: T)
where C
is the NativeClass
type being registered and T
is the type of the property.
“shr” stands for “shared reference”, as opposed to the more common &mut self
.
sourcepub fn with_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Shr, Owned, NG>>where
Getter<Shr, Owned, NG>: RawGetter<C, T>,
pub fn with_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Shr, Owned, NG>>where
Getter<Shr, Owned, NG>: RawGetter<C, T>,
Provides a getter function with the signature fn(&C, owner: C::Base) -> T
,
where C
is the NativeClass
type being registered and T
is the type of the property.
sourcepub fn with_ref_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Shr, Ref, NG>>where
Getter<Shr, Ref, NG>: RawGetter<C, T>,
pub fn with_ref_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Shr, Ref, NG>>where
Getter<Shr, Ref, NG>: RawGetter<C, T>,
Provides a getter function with the signature fn(&C, owner: C::Base) -> &T
,
where C
is the NativeClass
type being registered and T
is the type of the property.
sourcepub fn with_mut_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Mut, Owned, NG>>where
Getter<Mut, Owned, NG>: RawGetter<C, T>,
pub fn with_mut_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Mut, Owned, NG>>where
Getter<Mut, Owned, NG>: RawGetter<C, T>,
Provides a getter function with the signature fn(&mut C, owner: C::Base) -> T
,
where C
is the NativeClass
type being registered and T
is the type of the property.
sourcepub fn with_mut_ref_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Mut, Ref, NG>>where
Getter<Mut, Ref, NG>: RawGetter<C, T>,
pub fn with_mut_ref_getter<NG>(
self,
getter: NG
) -> PropertyBuilder<'a, C, T, S, Getter<Mut, Ref, NG>>where
Getter<Mut, Ref, NG>: RawGetter<C, T>,
Provides a getter function with the signature fn(&mut C, owner: C::Base) -> &T
,
where C
is the NativeClass
type being registered and T
is the type of the property.
sourcepub fn with_default(self, default: T) -> Self
pub fn with_default(self, default: T) -> Self
Sets a default value for the property as a hint to the editor. The setter may or may not be actually called with this value.
sourcepub fn with_usage(self, usage: PropertyUsage) -> Self
pub fn with_usage(self, usage: PropertyUsage) -> Self
Sets a property usage.
sourcepub fn with_rpc_mode(self, rpc_mode: RpcMode) -> Self
pub fn with_rpc_mode(self, rpc_mode: RpcMode) -> Self
Sets a RPC mode.