Struct pixel_widgets::widget::Node[][src]

pub struct Node<'a, Message> { /* fields omitted */ }
Expand description

Generic ui widget.

Implementations

impl<'a, Message> Node<'a, Message>[src]

pub fn new<T: 'a + Widget<'a, Message>>(widget: T) -> Self[src]

Construct a new Node from an Widget.

pub fn class(self, class: &'a str) -> Self[src]

Sets the style class

pub fn on_event(
    self,
    event: NodeEvent,
    f: impl 'a + Send + Fn(&mut Context<Message>)
) -> Self
[src]

Sets a handler for when a node event occurs

pub fn size(&self) -> (Size, Size)[src]

Returns the (width, height) of this widget. The extents are defined as a Size, which will later be resolved to actual dimensions.

pub fn hit(&self, layout: Rectangle, clip: Rectangle, x: f32, y: f32) -> bool[src]

Perform a hit detect on the widget. Most widgets are fine with the default implementation, but some widgets (like Window need to report a miss (false) even when the queried position is within their layout.

Arguments:

  • layout: the layout assigned to the widget
  • clip: a clipping rect for mouse events. Mouse events outside of this rect should be considered invalid, such as with Scroll, where the widget would not be visible outside of the currently visible rect.
  • x: x mouse coordinate being queried
  • y: y mouse coordinate being queried

pub fn focused(&self) -> bool[src]

Test the widget for focus exclusivity. If the widget or one of it’s descendants is in an exclusive focus state, this function should return true. In all other cases, it should return false. When a widget is in an exclusive focus state it is the only widget that is allowed to receive events in event. Widgets that intended to use this behaviour are modal dialogs, dropdown boxes, context menu’s, etc.

pub fn event(
    &mut self,
    layout: Rectangle,
    clip: Rectangle,
    event: Event,
    context: &mut Context<Message>
)
[src]

Handle an event.

Arguments:

  • layout: the layout assigned to the widget
  • clip: a clipping rect for mouse events. Mouse events outside of this rect should be considered invalid, such as with Scroll, where the widget would not be visible outside of the currently visible rect.
  • event: the event that needs to be handled
  • context: context for submitting messages and requesting redraws of the ui.

pub fn draw(&mut self, layout: Rectangle, clip: Rectangle) -> Vec<Primitive<'a>>[src]

Draw the widget. Returns a list of Primitives that should be drawn.

Arguments:

  • layout: the layout assigned to the widget
  • clip: a clipping rect for use with Primitive::PushClip.

Trait Implementations

impl<'a, Message: 'a> IntoNode<'a, Message> for Node<'a, Message>[src]

fn into_node(self) -> Node<'a, Message>[src]

Perform the conversion.

fn class(self, class: &'a str) -> Node<'a, Message>[src]

Convenience function that converts to a node and then adds a style class to the Node.

fn on_event(
    self,
    event: NodeEvent,
    f: impl 'a + Send + Fn(&mut Context<Message>)
) -> Node<'a, Message>
[src]

Convenience function that converts to a node and then sets a handler for when a node event occurs.

Auto Trait Implementations

impl<'a, Message> !RefUnwindSafe for Node<'a, Message>

impl<'a, Message> Send for Node<'a, Message>

impl<'a, Message> !Sync for Node<'a, Message>

impl<'a, Message> Unpin for Node<'a, Message>

impl<'a, Message> !UnwindSafe for Node<'a, Message>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast<T> for T

pub fn downcast(&self) -> &T

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> Upcast<T> for T

pub fn upcast(&self) -> Option<&T>