[][src]Struct kas::widget::DragHandle

pub struct DragHandle { /* fields omitted */ }

Draggable Handle

A DragHandle is a draggable object with a given size which is restricted to a track and has an offset relative to the start of that track.

This widget is unusual in several ways:

  1. Layout::size_rules does not request any size; the parent is expected to do this.
  2. Layout::set_rect sets the track within which this handle may move; the parent should always call DragHandle::set_size_and_offset afterwards.
  3. Layout::draw does nothing. The parent should handle all drawing.
  4. Optionally, this widget can handle clicks on the track area via DragHandle::handle_press_on_track.

Methods

impl DragHandle[src]

pub fn new() -> Self[src]

Construct

pub fn set_size_and_offset(&mut self, size: Size, offset: Coord) -> TkAction[src]

Set a new handle size and offset

Returns TkAction::Redraw if a redraw is required.

pub fn track(&self) -> Rect[src]

Get the current tract Rect

pub fn offset(&self) -> Coord[src]

Get the current handle offset

pub fn max_offset(&self) -> Coord[src]

Get the maximum allowed offset

This depends on size of the handle and the track.

pub fn set_offset(&mut self, offset: Coord) -> (Coord, TkAction)[src]

Set a new handle offset

Returns the new offset (after clamping input) and an action: None if the handle hasn't moved; Redraw if it has (though this widget is not directly responsible for drawing, so this may not be accurate).

pub fn handle_press_on_track(
    &mut self,
    mgr: &mut Manager,
    source: PressSource,
    coord: Coord
) -> Coord
[src]

Handle an event on the track itself

If it is desired to make the handle move when the track area is clicked, then the parent widget should call this method when receiving Event::PressStart.

This method moves the handle immediately and returns the new offset.

Trait Implementations

impl Clone for DragHandle[src]

impl Debug for DragHandle[src]

impl Default for DragHandle[src]

impl Handler for DragHandle[src]

type Msg = Coord

Type of message returned by this widget Read more

impl Layout for DragHandle[src]

This implementation is unusual in that:

  1. size_rules always returns SizeRules::EMPTY
  2. set_rect sets the track within which this handle may move; the parent should call DragHandle::set_size_and_offset after set_rect (otherwise the handle's offset will not be updated)
  3. draw does nothing: the parent is expected to do all drawing

impl SendEvent for DragHandle[src]

impl Widget for DragHandle[src]

impl WidgetChildren for DragHandle[src]

impl WidgetConfig for DragHandle[src]

impl WidgetCore for DragHandle[src]

Auto Trait Implementations

Blanket Implementations

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

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
    Scheme: ApproxScheme
[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
    Dst: ApproxFrom<Src, Scheme>,
    Scheme: ApproxScheme
[src]

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.

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

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

impl<T, Dst> ConvAsUtil<Dst> for T[src]

impl<T> ConvUtil for T[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<Src> TryFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

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.

impl<Src, Dst> TryInto<Dst> for Src where
    Dst: TryFrom<Src>, 
[src]

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed 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.

impl<Src> ValueFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Src, Dst> ValueInto<Dst> for Src where
    Dst: ValueFrom<Src>, 
[src]

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.