pub struct QuestionnaireState { /* private fields */ }Expand description
Owns questionnaire answers, validation, navigation and focus state.
Implementations§
Source§impl QuestionnaireState
impl QuestionnaireState
pub fn new( items: Vec<QuestionnaireItemDefinition>, cx: &mut Context<'_, Self>, ) -> Result<Self, QuestionnaireSchemaError>
pub fn with_current_item( self, name: impl Into<SharedString>, ) -> Result<Self, QuestionnaireSchemaError>
pub fn with_shortcuts(self, mode: QuestionnaireShortcutMode) -> Self
pub fn current_item(&self) -> Option<&SharedString>
pub fn current_ix(&self) -> Option<usize>
pub fn total(&self) -> usize
pub fn progress(&self) -> QuestionnaireProgressState
pub fn item_definition( &self, name: &str, ) -> Option<&QuestionnaireItemDefinition>
pub fn choice_definition( &self, item: &str, value: &str, ) -> Option<&QuestionnaireChoiceDefinition>
pub fn item_state(&self, name: &str) -> Option<QuestionnaireItemState>
pub fn choice_state( &self, item: &str, value: &str, ) -> Option<QuestionnaireChoiceState>
Sourcepub fn choice_position(&self, item: &str, value: &str) -> Option<(usize, usize)>
pub fn choice_position(&self, item: &str, value: &str) -> Option<(usize, usize)>
One-based position of a choice among its item’s enabled choices, with the enabled total. Assistive technology announces the pair.
pub fn answer(&self, name: &str) -> Option<QuestionnaireAnswer>
pub fn answers(&self) -> QuestionnaireAnswers
Sourcepub fn error(&self, name: &str) -> Option<&QuestionnaireValidationError>
pub fn error(&self, name: &str) -> Option<&QuestionnaireValidationError>
The active validation failure for an item, if any. Base reports the reason; the presentation layer turns a built-in reason into text.
pub fn is_complete(&self) -> bool
pub fn input_state(&self, name: &str) -> Option<Entity<InputState>>
pub fn focus_handle(&self) -> &FocusHandle
pub fn item_focus_handle(&self, name: &str) -> Option<&FocusHandle>
pub fn choice_focus_handle( &self, item: &str, value: &str, ) -> Option<&FocusHandle>
pub fn is_current_input_focused(&self, window: &Window) -> bool
Sourcepub fn current_input_has_text(&self, cx: &App) -> bool
pub fn current_input_has_text(&self, cx: &App) -> bool
Whether the active item’s freeform input currently holds text. The skin needs it to decide whether an arrow key moves focus or edits the draft.
pub fn focused_current_choice(&self, window: &Window) -> Option<&SharedString>
pub fn shortcut_mode(&self) -> Option<QuestionnaireShortcutMode>
pub fn shortcut_for_choice( &self, item: &str, value: &str, ) -> Option<SharedString>
pub fn choice_for_shortcut( &self, item: &str, key: &str, ) -> Option<&SharedString>
pub fn activate_shortcut( &mut self, key: &str, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn set_current_item( &mut self, name: &str, window: &mut Window, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn set_answer( &mut self, item: &str, answer: QuestionnaireAnswer, window: &mut Window, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn set_input_value( &mut self, item: &str, value: impl Into<SharedString>, window: &mut Window, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn set_item_disabled( &mut self, name: &str, disabled: bool, window: &mut Window, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn set_choice_disabled( &mut self, item: &str, value: &str, disabled: bool, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn set_external_error( &mut self, item: &str, error: impl Into<SharedString>, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn clear_external_error( &mut self, item: &str, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn reset(&mut self, window: &mut Window, cx: &mut Context<'_, Self>)
pub fn activate_choice( &mut self, item: &str, value: &str, cx: &mut Context<'_, Self>, ) -> Result<(), QuestionnaireSchemaError>
pub fn confirm_current( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn go_previous( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn go_next( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn skip_current( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn submit( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn focus_current_item(&self, window: &mut Window, cx: &mut App) -> bool
pub fn focus_invalid_item( &self, item: &str, window: &mut Window, cx: &mut App, ) -> bool
pub fn focus_choice( &self, item: &str, value: &str, window: &mut Window, cx: &mut App, ) -> bool
pub fn focus_input(&self, item: &str, window: &mut Window, cx: &mut App) -> bool
pub fn focus_previous_answer( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn focus_next_answer( &mut self, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
pub fn move_current_radio( &mut self, direction: isize, window: &mut Window, cx: &mut Context<'_, Self>, ) -> bool
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for QuestionnaireState
impl !Send for QuestionnaireState
impl !Sync for QuestionnaireState
impl !UnwindSafe for QuestionnaireState
impl Freeze for QuestionnaireState
impl Unpin for QuestionnaireState
impl UnsafeUnpin for QuestionnaireState
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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