[−][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
.
Implementations
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 track 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]
pub fn clone(&self) -> DragHandle
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for DragHandle
[src]
impl Default for DragHandle
[src]
pub fn default() -> DragHandle
[src]
impl Handler for DragHandle
[src]
type Msg = Coord
Type of message returned by this widget Read more
pub fn handle(
&mut self,
mgr: &mut Manager<'_>,
event: Event
) -> Response<Self::Msg>
[src]
&mut self,
mgr: &mut Manager<'_>,
event: Event
) -> Response<Self::Msg>
pub 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
pub fn size_rules(&mut self, _: &mut dyn SizeHandle, _: AxisInfo) -> SizeRules
[src]
pub fn set_rect(&mut self, rect: Rect, _: AlignHints)
[src]
pub fn draw(&self, _: &mut dyn DrawHandle, _: &ManagerState, _: bool)
[src]
pub fn translation(&self, _child_index: usize) -> Coord
[src]
pub fn spatial_range(&self) -> (usize, usize)
[src]
pub fn find_id(&self, coord: Coord) -> Option<WidgetId>
[src]
impl SendEvent for DragHandle
[src]
pub fn send(
&mut self,
mgr: &mut Manager<'_>,
id: WidgetId,
event: Event
) -> Response<Self::Msg>
[src]
&mut self,
mgr: &mut Manager<'_>,
id: WidgetId,
event: Event
) -> Response<Self::Msg>
impl Widget for DragHandle
[src]
impl WidgetChildren for DragHandle
[src]
pub fn first_id(&self) -> WidgetId
[src]
pub fn len(&self) -> usize
[src]
pub fn get(&self, _index: usize) -> Option<&dyn WidgetConfig>
[src]
pub fn get_mut(&mut self, _index: usize) -> Option<&mut dyn WidgetConfig>
[src]
pub fn record_first_id(&mut self, _id: WidgetId)
[src]
pub fn is_ancestor_of(&self, id: WidgetId) -> bool
[src]
pub fn find(&self, id: WidgetId) -> Option<&dyn WidgetConfig>
[src]
pub fn find_mut(&mut self, id: WidgetId) -> Option<&mut dyn WidgetConfig>
[src]
pub fn walk<F: FnMut(&dyn WidgetConfig)>(&self, f: F) where
Self: Sized,
[src]
Self: Sized,
pub fn walk_mut<F: FnMut(&mut dyn WidgetConfig)>(&mut self, f: F) where
Self: Sized,
[src]
Self: Sized,
impl WidgetConfig for DragHandle
[src]
pub fn key_nav(&self) -> bool
[src]
pub fn cursor_icon(&self) -> CursorIcon
[src]
pub fn configure(&mut self, _: &mut Manager<'_>)
[src]
pub fn configure_recurse<'a, 'b>(&mut self, cmgr: ConfigureManager<'a, 'b>)
[src]
impl WidgetCore for DragHandle
[src]
pub fn as_any(&self) -> &dyn Any
[src]
pub fn as_any_mut(&mut self) -> &mut dyn Any
[src]
pub fn core_data(&self) -> &CoreData
[src]
pub fn core_data_mut(&mut self) -> &mut CoreData
[src]
pub fn widget_name(&self) -> &'static str
[src]
pub fn as_widget(&self) -> &dyn WidgetConfig
[src]
pub fn as_widget_mut(&mut self) -> &mut dyn WidgetConfig
[src]
pub fn id(&self) -> WidgetId
[src]
pub fn is_disabled(&self) -> bool
[src]
pub fn set_disabled(&mut self, disabled: bool) -> TkAction
[src]
pub fn with_disabled(self, disabled: bool) -> Self where
Self: Sized,
[src]
Self: Sized,
pub fn rect(&self) -> Rect
[src]
pub 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<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
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.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[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.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,