Skip to main content

MethodToCommandConverter

Struct MethodToCommandConverter 

Source
pub struct MethodToCommandConverter { /* private fields */ }
Expand description

A command made from the delegate of a method: what a string-path binding of a method to a command property produces.

Executing the command calls the method, with the command parameter converted to the type of its parameter if it has one. A method Can<Name> with one “any value” parameter, declared by the type that declares the method (or one of its base types), answers whether the command can execute; the properties named by its DependsOn attributes re-query it when the target of the delegate reports that they changed.

A failure of the method (its Err, or a command parameter that cannot be converted to a parameter that takes no null) panics: a command has no other way to report what the managed original throws from Execute.

The command has the target of the delegate as the delegate has it. The delegate a binding reads from its source (MarkupDelegate::for_method_of_source) does not keep the source alive (DEVIATIONS.md, Bindings): once the source is gone the command cannot execute and executing it does nothing, as the command of a compiled binding path (MethodCommand).

Implementations§

Source§

impl MethodToCommandConverter

Source

pub fn new(action: &MarkupDelegate) -> Rc<Self>

Creates the command of action: the delegate of a declared method (MarkupDelegate::for_method). For any other delegate the command calls it with the command parameter and can always execute.

Trait Implementations§

Source§

impl Drop for MethodToCommandConverter

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl ICommand for MethodToCommandConverter

Source§

fn can_execute(&self, parameter: Option<&BoxedValue>) -> bool

Defines the method that determines whether the command can execute in its current state. parameter is data used by the command; if the command does not require data, it can be None.
Source§

fn execute(&self, parameter: Option<&BoxedValue>)

Defines the method to be called when the command is invoked.
Source§

fn can_execute_changed(&self, handler: Rc<dyn Fn()>) -> Rc<dyn IDisposable>

Occurs when changes occur that affect whether or not the command should execute. Disposing the returned handle unsubscribes.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.