pub struct QuestionSelection {
pub cursor: usize,
pub chosen: Vec<usize>,
pub other_text: String,
pub note: String,
pub value: String,
pub order: Vec<usize>,
pub grabbed: bool,
}Expand description
Live selection state for one question.
Fields§
§cursor: usizeHighlighted row for arrow-key navigation. Row layout:
0..n options, n = the “Other” free-text row, and for multi-select
n+1 = the Submit row.
chosen: Vec<usize>Chosen option indices. Single-select holds at most one; multi-select any.
other_text: StringFree-text typed into the “Other” row — the universal escape hatch. When non-empty it contributes to the answer alongside (multi) or instead of (single) the chosen options.
note: StringOptional free-text note attached to this question (press n to edit).
Rides back with the answer to capture intent the options didn’t cover.
value: StringTyped value for input kinds (Text/Number/Date/Path).
order: Vec<usize>Current option ordering for a Rank question (indices into options);
empty means the default 0..n order.
grabbed: boolRank: whether the item under the cursor is “picked up” for moving.
Trait Implementations§
Source§impl Clone for QuestionSelection
impl Clone for QuestionSelection
Source§fn clone(&self) -> QuestionSelection
fn clone(&self) -> QuestionSelection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for QuestionSelection
impl Debug for QuestionSelection
Source§impl Default for QuestionSelection
impl Default for QuestionSelection
Source§fn default() -> QuestionSelection
fn default() -> QuestionSelection
Source§impl PartialEq for QuestionSelection
impl PartialEq for QuestionSelection
impl StructuralPartialEq for QuestionSelection
Auto Trait Implementations§
impl Freeze for QuestionSelection
impl RefUnwindSafe for QuestionSelection
impl Send for QuestionSelection
impl Sync for QuestionSelection
impl Unpin for QuestionSelection
impl UnsafeUnpin for QuestionSelection
impl UnwindSafe for QuestionSelection
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more