Struct kas_widgets::Splitter

source ·
pub struct Splitter<D: Directional, W: Widget> { /* private fields */ }
Expand description

A resizable row/column widget

Similar to crate::List but with draggable handles between items.

Implementations§

source§

impl<D: Directional + Default, W: Widget> Splitter<D, W>

source

pub fn new(widgets: Vec<W>) -> Self

Construct a new instance

This constructor is available where the direction is determined by the type: for D: Directional + Default. In other cases, use Splitter::new_with_direction.

source§

impl<D: Directional, W: Widget> Splitter<D, W>

source

pub fn new_with_direction(direction: D, widgets: Vec<W>) -> Self

Construct a new instance with explicit direction

source

pub fn edit<F: FnOnce(&mut Vec<W>)>(&mut self, f: F) -> Action

Edit the list of children directly

This may be used to edit children before window construction. It may also be used from a running UI, but in this case a full reconfigure of the window’s widgets is required (triggered by the the return value, Action::RECONFIGURE).

source

pub fn is_empty(&self) -> bool

True if there are no child widgets

source

pub fn len(&self) -> usize

Returns the number of child widgets (excluding handles)

source

pub fn clear(&mut self)

Remove all child widgets

source

pub fn get(&self, index: usize) -> Option<&W>

Returns a reference to the child, if any

source

pub fn get_mut(&mut self, index: usize) -> Option<&mut W>

Returns a mutable reference to the child, if any

source

pub fn push(&mut self, mgr: &mut ConfigMgr<'_>, widget: W) -> usize

Append a child widget

The new child is configured immediately. Action::RESIZE is triggered.

Returns the new element’s index.

source

pub fn pop(&mut self, mgr: &mut ConfigMgr<'_>) -> Option<W>

Remove the last child widget (if any) and return

Triggers Action::RESIZE.

source

pub fn insert(&mut self, mgr: &mut ConfigMgr<'_>, index: usize, widget: W)

Inserts a child widget position index

Panics if index > len.

The new child is configured immediately. Triggers Action::RESIZE.

source

pub fn remove(&mut self, mgr: &mut ConfigMgr<'_>, index: usize) -> W

Removes the child widget at position index

Panics if index is out of bounds.

Triggers Action::RESIZE.

source

pub fn replace(&mut self, mgr: &mut ConfigMgr<'_>, index: usize, w: W) -> W

Replace the child at index

Panics if index is out of bounds.

The new child is configured immediately. Triggers Action::RESIZE.

Trait Implementations§

source§

impl<D: Clone + Directional, W: Clone + Widget> Clone for Splitter<D, W>

source§

fn clone(&self) -> Splitter<D, W>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<D: Debug + Directional, W: Debug + Widget> Debug for Splitter<D, W>

source§

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

Formats the value using the given formatter. Read more
source§

impl<D: Default + Directional, W: Default + Widget> Default for Splitter<D, W>

source§

fn default() -> Splitter<D, W>

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

impl<D: Directional, W: Widget> Index<usize> for Splitter<D, W>

§

type Output = W

The returned type after indexing.
source§

fn index(&self, index: usize) -> &Self::Output

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

impl<D: Directional, W: Widget> IndexMut<usize> for Splitter<D, W>

source§

fn index_mut(&mut self, index: usize) -> &mut Self::Output

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

impl<D: Directional, W: Widget> Layout for Splitter<D, W>

source§

fn size_rules(&mut self, size_mgr: SizeMgr<'_>, axis: AxisInfo) -> SizeRules

Get size rules for the given axis Read more
source§

fn set_rect(&mut self, mgr: &mut ConfigMgr<'_>, rect: Rect)

Set size and position Read more
source§

fn find_id(&mut self, coord: Coord) -> Option<WidgetId>

Translate a coordinate to a WidgetId Read more
source§

fn draw(&mut self, draw: DrawMgr<'_>)

Draw a widget and its children Read more
source§

impl<D: Directional, W: Widget> Widget for Splitter<D, W>

source§

fn pre_configure(&mut self, _: &mut ConfigMgr<'_>, id: WidgetId)

Pre-configuration Read more
source§

fn handle_message(&mut self, mgr: &mut EventMgr<'_>)

Handler for messages from children/descendants Read more
source§

fn configure(&mut self, mgr: &mut ConfigMgr<'_>)

Configure widget Read more
source§

fn navigable(&self) -> bool

Is this widget navigable via Tab key? Read more
source§

fn translation(&self) -> Offset

Get translation of children relative to this widget Read more
source§

fn nav_next( &mut self, mgr: &mut ConfigMgr<'_>, reverse: bool, from: Option<usize> ) -> Option<usize>

Navigation in spatial order Read more
source§

fn handle_event(&mut self, mgr: &mut EventMgr<'_>, event: Event) -> Response

Handle an Event sent to this widget Read more
source§

fn steal_event( &mut self, mgr: &mut EventMgr<'_>, id: &WidgetId, event: &Event ) -> Response

Potentially steal an event before it reaches a child Read more
source§

fn handle_unused(&mut self, mgr: &mut EventMgr<'_>, event: Event) -> Response

Handle an event sent to child index but left unhandled Read more
source§

fn handle_scroll(&mut self, mgr: &mut EventMgr<'_>, scroll: Scroll)

Handler for scrolling Read more
source§

impl<D: Directional, W: Widget> WidgetChildren for Splitter<D, W>

source§

fn num_children(&self) -> usize

Get the number of child widgets Read more
source§

fn get_child(&self, index: usize) -> Option<&dyn Widget>

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

fn get_child_mut(&mut self, index: usize) -> Option<&mut dyn Widget>

Mutable variant of get Read more
source§

fn find_child_index(&self, id: &WidgetId) -> Option<usize>

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

fn make_child_id(&mut self, child_index: usize) -> WidgetId

Make an identifier for a child Read more
source§

impl<D: Directional, W: Widget> WidgetCore for Splitter<D, W>

source§

fn id_ref(&self) -> &WidgetId

Get the widget’s identifier Read more
source§

fn rect(&self) -> Rect

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

fn widget_name(&self) -> &'static str

Get the name of the widget struct
source§

fn as_widget(&self) -> &dyn Widget

Erase type
source§

fn as_widget_mut(&mut self) -> &mut dyn Widget

Erase type

Auto Trait Implementations§

§

impl<D, W> RefUnwindSafe for Splitter<D, W>where D: RefUnwindSafe, W: RefUnwindSafe,

§

impl<D, W> !Send for Splitter<D, W>

§

impl<D, W> !Sync for Splitter<D, W>

§

impl<D, W> Unpin for Splitter<D, W>where D: Unpin, W: Unpin,

§

impl<D, W> UnwindSafe for Splitter<D, W>where D: UnwindSafe, W: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
§

impl<S, T> Cast<T> for Swhere T: Conv<S>,

§

fn cast(self) -> T

Cast from Self to T Read more
§

fn try_cast(self) -> Result<T, Error>

Try converting from Self to T Read more
§

impl<S, T> CastApprox<T> for Swhere T: ConvApprox<S>,

§

fn try_cast_approx(self) -> Result<T, Error>

Try approximate conversion from Self to T Read more
§

fn cast_approx(self) -> T

Cast approximately from Self to T Read more
§

impl<S, T> CastFloat<T> for Swhere T: ConvFloat<S>,

§

fn cast_trunc(self) -> T

Cast to integer, truncating Read more
§

fn cast_nearest(self) -> T

Cast to the nearest integer Read more
§

fn cast_floor(self) -> T

Cast the floor to an integer Read more
§

fn cast_ceil(self) -> T

Cast the ceiling to an integer Read more
§

fn try_cast_trunc(self) -> Result<T, Error>

Try converting to integer with truncation Read more
§

fn try_cast_nearest(self) -> Result<T, Error>

Try converting to the nearest integer Read more
§

fn try_cast_floor(self) -> Result<T, Error>

Try converting the floor to an integer Read more
§

fn try_cast_ceil(self) -> Result<T, Error>

Try convert the ceiling to an integer Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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.

source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<W> WidgetExt for Wwhere W: Widget + ?Sized,

source§

fn id(&self) -> WidgetId

Get the widget’s identifier Read more
source§

fn eq_id<T>(&self, rhs: T) -> boolwhere WidgetId: PartialEq<T>,

Test widget identifier for equality Read more
source§

fn identify(&self) -> IdentifyWidget

Display as “StructName#WidgetId”
source§

fn is_ancestor_of(&self, id: &WidgetId) -> bool

Check whether id is self or a descendant Read more
source§

fn is_strict_ancestor_of(&self, id: &WidgetId) -> bool

Check whether id is not self and is a descendant Read more
source§

fn find_widget(&self, id: &WidgetId) -> Option<&dyn Widget>

Find the descendant with this id, if any
source§

fn find_widget_mut(&mut self, id: &WidgetId) -> Option<&mut dyn Widget>

Find the descendant with this id, if any