pub enum Gesture {
Aim,
Click,
Double,
Wheel(Motion),
}Expand description
What the loop has judged one mouse event to be.
Judgements about previous events, which the one in hand cannot see — whether a press has
already moved, whether one landed on this spot a moment ago — so they are made by
[super::Pointer] and handed here. That keeps pointer() a pure function of one gesture
and one spot, which is what makes the whole table assertable without a terminal.
Variants§
Aim
A press, or the pointer merely passing over. It aims and no more.
The rule the deferred click forced: at the moment the button goes down there is no way
to tell a click from a drag, so a press that acted would re-sort the tree under a hand
that was about to select from it. See finish.
Click
A press and a release, with no movement between them — the click, at last.
Double
Two clicks on one row, close enough together to be one gesture.
Wheel(Motion)
One turn of the wheel.
The direction belongs to the action rather than to the row of the table: the wheel
does the same thing over a spot whichever way it turns, so both turns are one row and
Gesture::same is what keys them together.
Trait Implementations§
impl Copy for Gesture
impl Eq for Gesture
impl StructuralPartialEq for Gesture
Auto Trait Implementations§
impl Freeze for Gesture
impl RefUnwindSafe for Gesture
impl Send for Gesture
impl Sync for Gesture
impl Unpin for Gesture
impl UnsafeUnpin for Gesture
impl UnwindSafe for Gesture
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more