[−][src]Struct kas::widget::DragHandle
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:
Layout::size_rules
does not request any size; the parent is expected to do this.Layout::set_rect
sets the track within which this handle may move; the parent should always callDragHandle::set_size_and_offset
afterwards.Layout::draw
does nothing. The parent should handle all drawing.- 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]
&mut self,
mgr: &mut Manager,
source: PressSource,
coord: Coord
) -> Coord
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]
fn clone(&self) -> DragHandle
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for DragHandle
[src]
impl Default for DragHandle
[src]
fn default() -> DragHandle
[src]
impl Handler for DragHandle
[src]
type Msg = Coord
Type of message returned by this widget Read more
fn handle(&mut self, mgr: &mut Manager, event: Event) -> Response<Self::Msg>
[src]
fn activation_via_press(&self) -> bool
[src]
impl Layout for DragHandle
[src]
This implementation is unusual in that:
size_rules
always returnsSizeRules::EMPTY
set_rect
sets the track within which this handle may move; the parent should callDragHandle::set_size_and_offset
afterset_rect
(otherwise the handle's offset will not be updated)draw
does nothing: the parent is expected to do all drawing
fn size_rules(&mut self, _: &mut dyn SizeHandle, _: AxisInfo) -> SizeRules
[src]
fn set_rect(&mut self, rect: Rect, _: AlignHints)
[src]
fn draw(&self, _: &mut dyn DrawHandle, _: &ManagerState, _: bool)
[src]
fn translation(&self, _child_index: usize) -> Coord
[src]
fn spatial_range(&self) -> (usize, usize)
[src]
fn find_id(&self, coord: Coord) -> Option<WidgetId>
[src]
impl SendEvent for DragHandle
[src]
impl Widget for DragHandle
[src]
impl WidgetChildren for DragHandle
[src]
fn len(&self) -> usize
[src]
fn get(&self, _index: usize) -> Option<&dyn WidgetConfig>
[src]
fn get_mut(&mut self, _index: usize) -> Option<&mut dyn WidgetConfig>
[src]
fn is_ancestor_of(&self, id: WidgetId) -> bool
[src]
fn find(&self, id: WidgetId) -> Option<&dyn WidgetConfig>
[src]
fn find_mut(&mut self, id: WidgetId) -> Option<&mut dyn WidgetConfig>
[src]
fn walk(&self, f: &mut dyn FnMut(&dyn WidgetConfig))
[src]
fn walk_mut(&mut self, f: &mut dyn FnMut(&mut dyn WidgetConfig))
[src]
impl WidgetConfig for DragHandle
[src]
fn key_nav(&self) -> bool
[src]
fn cursor_icon(&self) -> CursorIcon
[src]
fn configure(&mut self, _: &mut Manager)
[src]
fn configure_recurse<'a, 'b>(&mut self, cmgr: ConfigureManager<'a, 'b>)
[src]
impl WidgetCore for DragHandle
[src]
fn as_any(&self) -> &dyn Any
[src]
fn as_any_mut(&mut self) -> &mut dyn Any
[src]
fn core_data(&self) -> &CoreData
[src]
fn core_data_mut(&mut self) -> &mut CoreData
[src]
fn widget_name(&self) -> &'static str
[src]
fn as_widget(&self) -> &dyn WidgetConfig
[src]
fn as_widget_mut(&mut self) -> &mut dyn WidgetConfig
[src]
fn id(&self) -> WidgetId
[src]
fn is_disabled(&self) -> bool
[src]
fn set_disabled(&mut self, disabled: bool) -> TkAction
[src]
fn rect(&self) -> Rect
[src]
fn input_state(&self, mgr: &ManagerState, disabled: bool) -> InputState
[src]
Auto Trait Implementations
impl RefUnwindSafe for DragHandle
impl Send for DragHandle
impl Sync for DragHandle
impl Unpin for DragHandle
impl UnwindSafe for DragHandle
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
[src]
Scheme: ApproxScheme,
type Err = NoError
The error type produced by a failed conversion.
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
[src]
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
[src]
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, Dst> ConvAsUtil<Dst> for T
[src]
fn approx(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
impl<T> ConvUtil for T
[src]
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
fn into_as<Dst>(self) -> Dst where
Self: Into<Dst>,
[src]
Self: Into<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: TryInto<Dst>,
[src]
Self: TryInto<Dst>,
fn value_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ValueInto<Dst>,
[src]
Self: ValueInto<Dst>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<Src> TryFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<Src, Dst> TryInto<Dst> for Src where
Dst: TryFrom<Src>,
[src]
Dst: TryFrom<Src>,
type Err = <Dst as TryFrom<Src>>::Err
The error type produced by a failed conversion.
fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<Src> ValueFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
[src]
impl<Src, Dst> ValueInto<Dst> for Src where
Dst: ValueFrom<Src>,
[src]
Dst: ValueFrom<Src>,