[][src]Trait guion::ctx::Context

pub trait Context<E>: Sized + 'static where
    E: Env<Context = Self>, 
{ type Handler: Handler<E>; type Queue: Queue<StdEnqueueable<E>>; fn queue_mut(&mut self) -> &mut Self::Queue;
fn queue(&self) -> &Self::Queue;
fn _handler_mut(&mut self) -> &mut Self::Handler;
fn _handler(&self) -> &Self::Handler;
fn default_style(&self) -> &EStyle<E>;
fn default_border(&self) -> &Border; fn handler_mut<H: Handler<E>>(&mut self) -> &mut H
    where
        Self: AsRefMut<H>
, { ... }
fn handler<H: Handler<E>>(&self) -> &H
    where
        Self: AsRefMut<H>
, { ... }
fn render(&mut self, w: Resolved<E>, r: &mut RenderLink<E>) -> bool { ... }
fn event(&mut self, w: Resolved<E>, e: (EEvent<E>, &Bounds, u64)) { ... }
fn size(&mut self, w: Resolved<E>) -> ESize<E> { ... }
fn _event_root(&mut self, w: Resolved<E>, e: (EEvent<E>, &Bounds, u64)) { ... }
fn link<'l: 's, 's>(&'s mut self, w: Resolved<'l, E>) -> Link<'s, E> { ... }
fn state(&self) -> &ECStateful<E>
    where
        Self: AsHandlerStateful<E>
, { ... } }

The Context contains the Handlers, the queue and other side data and is also the entry point for most actions. A Context is regularly referenced in parallel with the widget tree

Associated Types

Loading content...

Required methods

fn queue_mut(&mut self) -> &mut Self::Queue

fn queue(&self) -> &Self::Queue

fn _handler_mut(&mut self) -> &mut Self::Handler

fn _handler(&self) -> &Self::Handler

fn default_style(&self) -> &EStyle<E>

fn default_border(&self) -> &Border

Loading content...

Provided methods

fn handler_mut<H: Handler<E>>(&mut self) -> &mut H where
    Self: AsRefMut<H>, 

fn handler<H: Handler<E>>(&self) -> &H where
    Self: AsRefMut<H>, 

fn render(&mut self, w: Resolved<E>, r: &mut RenderLink<E>) -> bool

fn event(&mut self, w: Resolved<E>, e: (EEvent<E>, &Bounds, u64))

fn size(&mut self, w: Resolved<E>) -> ESize<E>

fn _event_root(&mut self, w: Resolved<E>, e: (EEvent<E>, &Bounds, u64))

fn state(&self) -> &ECStateful<E> where
    Self: AsHandlerStateful<E>, 

Loading content...

Implementors

Loading content...