Skip to main content

Widgets

Struct Widgets 

pub struct Widgets { /* private fields */ }
Expand description

The widgets of one screen in focus order, and which one has the keyboard focus.

Implementations§

§

impl Widgets

pub fn new() -> Widgets

An empty group.

pub fn add_button(&mut self, button: Button) -> WidgetId

Adds button after the others; Tab reaches it in that order.

pub fn add_text_field(&mut self, field: TextField) -> WidgetId

Adds field after the others; Tab reaches it in that order.

pub fn widget(&self, id: WidgetId) -> Option<&Widget>

The widget id.

pub fn button(&self, id: WidgetId) -> Option<&Button>

Button id, if it is one.

pub fn button_mut(&mut self, id: WidgetId) -> Option<&mut Button>

Button id, to change its label or make it inactive.

pub fn text_field(&self, id: WidgetId) -> Option<&TextField>

Text field id, if it is one.

pub fn text_field_mut(&mut self, id: WidgetId) -> Option<&mut TextField>

Text field id, to read or set its text.

pub fn focused(&self) -> Option<WidgetId>

The widget with the keyboard focus.

pub fn set_focus(&mut self, host: &dyn ClientHost, id: Option<WidgetId>)

Gives id the keyboard focus (an inactive widget can’t take it), or clears it.

pub fn draw( &mut self, draw: &mut dyn DrawContext, host: &dyn ClientHost, mouse: [f32; 2], ) -> Result<(), TextFormError>

Draws every widget, the one under mouse (the screen’s mouse) or with the focus highlighted, in the order added. Returns a refusal if a label cannot cross the text boundary.

pub fn mouse_pressed( &mut self, host: &dyn ClientHost, at: [f32; 2], button: i32, modifiers: u32, ) -> Outcome

A mouse button went down at at (the screen’s mouse): Screen.mouseClicked. Only the left button clicks widgets (isValidClickButton). The widget under it takes the focus and a button is pressed (with its click sound), or a field’s cursor goes there, Shift extending the selection and a double click selecting the word. A left press over no widget clears the focus and is Ignored.

pub fn mouse_released(&mut self, button: i32) -> Outcome

A mouse button went up: a drag that began on a widget ends.

pub fn mouse_dragged( &mut self, host: &dyn ClientHost, at: [f32; 2], button: i32, ) -> Outcome

The pointer moved to at with button held (EditBox.onDrag): the selection of the focused field the press began on follows it.

pub fn key_pressed( &mut self, host: &dyn ClientHost, key: &str, modifiers: u32, ) -> Outcome

A key went down (or repeated), named as screen_key_pressed_pre names it (key.keyboard.tab). Tab and Shift+Tab move the focus in the order added (FocusNavigationEvent.TabNavigation, wrapping round); Enter or Space presses the focused button; the focused field edits with Backspace, Delete, the arrows, Home and End (Ctrl for a word, Shift to select), Ctrl+A/C/V/X through the clipboard, and answers Enter with Outcome::Submitted. Escape and other keys are Ignored.

pub fn char_typed(&mut self, host: &dyn ClientHost, c: char) -> Outcome

A character was typed (screen_char_typed_pre): the focused field takes it (EditBox.charTyped) when it is one a chat line may hold.

Trait Implementations§

§

impl Clone for Widgets

§

fn clone(&self) -> Widgets

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Widgets

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for Widgets

§

fn default() -> Widgets

Returns the “default value” for a type. Read more
§

impl PartialEq for Widgets

§

fn eq(&self, other: &Widgets) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
§

impl StructuralPartialEq for Widgets

§

impl Wire for Widgets

§

const MIN: usize

Minimum encoded size, used to reject impossible collection lengths.
§

fn put(&self, out: &mut Writer)

Encodes this value, recording failures on the writer.
§

fn put_owned(self, out: &mut Writer)

Consumes owned data when a resource’s ownership must cross the boundary.
§

fn take(input: &mut Reader<'_>) -> Result<Widgets, WireError>

Decodes one value, leaving any following bytes for the caller.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Put for T
where T: Wire,

§

fn put_to(&self, out: &mut Writer)

Writes it.
§

impl<T> Record for T
where T: Wire,

§

fn encode(&self, out: &mut Writer)

Writes the argument into a hook call.
§

fn apply(&mut self, bytes: &[u8]) -> Result<(), WireError>

Applies one complete reply, refusing malformed or trailing bytes atomically.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.