Struct glib::subclass::signal::SignalBuilder
source · pub struct SignalBuilder {
name: String,
flags: SignalFlags,
param_types: Vec<SignalType>,
return_type: SignalType,
class_handler: Option<Box<dyn Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static>>,
accumulator: Option<Box<dyn Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static>>,
}
Expand description
Builder for signals.
Fields§
§name: String
§flags: SignalFlags
§param_types: Vec<SignalType>
§return_type: SignalType
§class_handler: Option<Box<dyn Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static>>
§accumulator: Option<Box<dyn Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static>>
Implementations§
source§impl SignalBuilder
impl SignalBuilder
sourcepub fn param_types(
self,
param_types: impl IntoIterator<Item = impl Into<SignalType>>,
) -> Self
pub fn param_types( self, param_types: impl IntoIterator<Item = impl Into<SignalType>>, ) -> Self
The signal’s parameters.
sourcepub fn return_type<T: StaticType>(self) -> Self
pub fn return_type<T: StaticType>(self) -> Self
The signal’s returned value type.
sourcepub fn return_type_from(self, type_: impl Into<SignalType>) -> Self
pub fn return_type_from(self, type_: impl Into<SignalType>) -> Self
The signal’s returned value type.
sourcepub fn run_cleanup(self) -> Self
pub fn run_cleanup(self) -> Self
Run the signal class handler in the last emission stage.
sourcepub fn no_recurse(self) -> Self
pub fn no_recurse(self) -> Self
Signals being emitted for an object while currently being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted.
sourcepub fn detailed(self) -> Self
pub fn detailed(self) -> Self
This signal supports “::detail” appendices to the signal name upon handler connections and emissions.
sourcepub fn action(self) -> Self
pub fn action(self) -> Self
Action signals are signals that may freely be emitted on alive objects from user code.
sourcepub fn must_collect(self) -> Self
pub fn must_collect(self) -> Self
Varargs signal emission will always collect the arguments, even if there are no signal handlers connected.
sourcepub fn deprecated(self) -> Self
pub fn deprecated(self) -> Self
The signal is deprecated and will be removed in a future version.
sourcepub fn flags(self, flags: SignalFlags) -> Self
pub fn flags(self, flags: SignalFlags) -> Self
Explicitly set all flags.
This overrides previously set flags on this builder.
sourcepub fn class_handler<F: Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static>(
self,
func: F,
) -> Self
pub fn class_handler<F: Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static>( self, func: F, ) -> Self
Class handler for this signal.
sourcepub fn accumulator<F: Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static>(
self,
func: F,
) -> Self
pub fn accumulator<F: Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static>( self, func: F, ) -> Self
Accumulator for the return values of the signal.
This is called if multiple signal handlers are connected to the signal for accumulating the return values into a single value.