Struct kas_widgets::Grid[][src]

pub struct Grid<W: Widget> { /* fields omitted */ }
Expand description

A generic grid widget

Child widgets are displayed in a grid, according to each child’s GridChildInfo. This allows spans and overlapping widgets. The numbers of rows and columns is determined automatically while the sizes of rows and columns are determined based on their contents (including special handling for spans, mostly with good results).

Note that all child widgets are stored in a list internally. The order of widgets in that list does not affect display position, but does have a few effects: (a) widgets may be accessed in this order via indexing, (b) widgets are configured and drawn in this order, (c) navigating through widgets with the Tab key currently uses the list order (though it may be changed in the future to use display order).

Most operations (configuring, resizing and drawing) are O(n) in the number of children. This type is generic over the type of child widgets.

For fixed layouts, an alternative is to construct a custom widget with kas::macros::make_widget which can also perform event handling.

Implementations

Construct a new instance

Calculate the numbers of columns and rows

True if there are no child widgets

Returns the number of child widgets

Returns the number of elements the vector can hold without reallocating.

Reserves capacity for at least additional more elements to be inserted into the list. See documentation of Vec::reserve.

Remove all child widgets

Triggers a reconfigure action if any widget is removed.

Add a widget to a particular cell

This is just a convenient way to construct a GridChildInfo.

Append a child widget

Triggers a reconfigure action.

Remove the last child widget

Returns None if there are no children. Otherwise, this triggers a reconfigure before the next draw operation.

Triggers a reconfigure action if any widget is removed.

Inserts a child widget position index

Panics if index > len.

Triggers a reconfigure action.

Removes the child widget at position index

Panics if index is out of bounds.

Triggers a reconfigure action.

Replace the child at index

Panics if index is out of bounds.

Triggers a reconfigure action.

Append child widgets from an iterator

Triggers a reconfigure action if any widgets are added.

Resize, using the given closure to construct new widgets

Triggers a reconfigure action.

Retain only widgets satisfying predicate f

See documentation of Vec::retain.

Triggers a reconfigure action if any widgets are removed.

Iterate over childern

Get the index of the child which is an ancestor of id, if any

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

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

Type of message returned by this widget Read more

Generic handler: translate presses to activations Read more

Generic handler: focus rect on key navigation Read more

Handle an event and return a user-defined message Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

Performs the mutable indexing (container[index]) operation. Read more

Get size rules for the given axis Read more

Apply a given rect to self Read more

Find a widget by coordinate Read more

Draw a widget and its children Read more

Get translation of a child Read more

Navigation in spatial order Read more

Send an event Read more

Get the first identifier of self or any children Read more

Record first identifier Read more

Get the number of child widgets

Get a reference to a child widget by index, or None if the index is out of bounds. Read more

Mutable variant of get Read more

Check whether id is a descendant Read more

Find the child which is an ancestor of this id, if any Read more

Find the leaf (lowest descendant) with this id, if any Read more

Find the leaf (lowest descendant) with this id, if any Read more

Walk through all widgets, calling f once on each. Read more

Walk through all widgets, calling f once on each. Read more

Is this widget navigable via Tab key? Read more

Does this widget have hover-state highlighting? Read more

Which cursor icon should be used on hover? Read more

Configure widget Read more

Configure self and children Read more

Get self as type Any

Get self as type Any (mutable)

Get direct access to the CoreData providing property storage.

Get the name of the widget struct

Erase type

Erase type

Get the widget’s numeric identifier

Get whether the widget is disabled

Set the disabled state of a widget Read more

Set disabled state (chaining) Read more

Get the widget’s region, relative to its parent.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Cast from Self to T

Try converting from Self to T

Cast to integer, truncating Read more

Cast to the nearest integer Read more

Cast the floor to an integer Read more

Cast the ceiling to an integer Read more

Try converting to integer with truncation Read more

Try converting to the nearest integer Read more

Try converting the floor to an integer Read more

Try convert the ceiling to an integer Read more

Convert from T to Self

Try converting from T to Self

Returns true if the given item matches this filter

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.