[−][src]Struct kas::widget::Stack
A stack of widgets
A stack consists a set of child widgets, all of equal size. Only a single member is visible at a time.
This may only be parametrised with a single widget type; BoxStack
is
a parametrisation allowing run-time polymorphism of child widgets.
Configuring and resizing elements is O(n) in the number of children. Drawing and event handling is O(1).
Methods
impl<W: Widget> Stack<W>
[src]
pub fn new(widgets: Vec<W>, active: usize) -> Self
[src]
Construct a new instance
If active < widgets.len()
, then widgets[active]
will initially be
visible; otherwise, no widget will be visible.
pub fn active_index(&self) -> usize
[src]
Get the index of the active widget
pub fn set_active(&mut self, active: usize) -> TkAction
[src]
Change the active widget via index
It is not required that active < self.len()
; if not, no widget will be
drawn or respond to events, but the stack will still size as required by
child widgets.
pub fn active(&self) -> Option<&W>
[src]
Get a direct reference to the active widget, if any
pub fn active_mut(&mut self) -> Option<&mut W>
[src]
Get a direct mutable reference to the active widget, if any
pub fn is_empty(&self) -> bool
[src]
True if there are no child widgets
pub fn len(&self) -> usize
[src]
Returns the number of child widgets
pub fn capacity(&self) -> usize
[src]
Returns the number of elements the vector can hold without reallocating.
pub fn reserve(&mut self, additional: usize)
[src]
Reserves capacity for at least additional
more elements to be inserted
into the list. See documentation of Vec::reserve
.
pub fn clear(&mut self) -> TkAction
[src]
Remove all child widgets
Triggers a reconfigure action if any widget is removed.
pub fn push(&mut self, widget: W) -> TkAction
[src]
Append a child widget
Triggers a reconfigure action.
pub fn pop(&mut self) -> (Option<W>, TkAction)
[src]
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.
pub fn insert(&mut self, index: usize, widget: W) -> TkAction
[src]
pub fn remove(&mut self, index: usize) -> (W, TkAction)
[src]
Removes the child widget at position index
Panics if index
is out of bounds.
Triggers a reconfigure action.
pub fn replace(&mut self, index: usize, widget: W) -> (W, TkAction)
[src]
pub fn extend<T: IntoIterator<Item = W>>(&mut self, iter: T) -> TkAction
[src]
Append child widgets from an iterator
Triggers a reconfigure action if any widgets are added.
pub fn resize_with<F: Fn(usize) -> W>(&mut self, len: usize, f: F) -> TkAction
[src]
Resize, using the given closure to construct new widgets
Triggers a reconfigure action.
pub fn retain<F: FnMut(&W) -> bool>(&mut self, f: F) -> TkAction
[src]
Retain only widgets satisfying predicate f
See documentation of Vec::retain
.
Triggers a reconfigure action if any widgets are removed.
Trait Implementations
impl<W: Clone + Widget> Clone for Stack<W>
[src]
impl<W: Debug + Widget> Debug for Stack<W>
[src]
impl<W: Default + Widget> Default for Stack<W>
[src]
impl<W: Widget> Handler for Stack<W>
[src]
type Msg = <W as Handler>::Msg
Type of message returned by this widget Read more
fn activation_via_press(&self) -> bool
[src]
fn handle(&mut self, _: &mut Manager, event: Event) -> Response<Self::Msg>
[src]
impl<W: Widget> Index<usize> for Stack<W>
[src]
type Output = W
The returned type after indexing.
fn index(&self, index: usize) -> &Self::Output
[src]
impl<W: Widget> IndexMut<usize> for Stack<W>
[src]
impl<W: Widget> Layout for Stack<W>
[src]
fn size_rules(
&mut self,
size_handle: &mut dyn SizeHandle,
axis: AxisInfo
) -> SizeRules
[src]
&mut self,
size_handle: &mut dyn SizeHandle,
axis: AxisInfo
) -> SizeRules
fn set_rect(&mut self, rect: Rect, align: AlignHints)
[src]
fn find_id(&self, coord: Coord) -> Option<WidgetId>
[src]
fn draw(
&self,
draw_handle: &mut dyn DrawHandle,
mgr: &ManagerState,
disabled: bool
)
[src]
&self,
draw_handle: &mut dyn DrawHandle,
mgr: &ManagerState,
disabled: bool
)
fn translation(&self, _child_index: usize) -> Coord
[src]
fn spatial_range(&self) -> (usize, usize)
[src]
impl<W: Widget> SendEvent for Stack<W>
[src]
impl<W: Widget> Widget for Stack<W>
[src]
impl<W: Widget> WidgetChildren for Stack<W>
[src]
fn len(&self) -> usize
[src]
fn get(&self, index: usize) -> Option<&dyn WidgetConfig>
[src]
fn get_mut(&mut self, index: usize) -> Option<&mut dyn WidgetConfig>
[src]
fn is_ancestor_of(&self, id: WidgetId) -> bool
[src]
fn find(&self, id: WidgetId) -> Option<&dyn WidgetConfig>
[src]
fn find_mut(&mut self, id: WidgetId) -> Option<&mut dyn WidgetConfig>
[src]
fn walk(&self, f: &mut dyn FnMut(&dyn WidgetConfig))
[src]
fn walk_mut(&mut self, f: &mut dyn FnMut(&mut dyn WidgetConfig))
[src]
impl<W: Widget> WidgetConfig for Stack<W>
[src]
fn key_nav(&self) -> bool
[src]
fn cursor_icon(&self) -> CursorIcon
[src]
fn configure(&mut self, _: &mut Manager)
[src]
fn configure_recurse<'a, 'b>(&mut self, cmgr: ConfigureManager<'a, 'b>)
[src]
impl<W: Widget> WidgetCore for Stack<W>
[src]
fn as_any(&self) -> &dyn Any
[src]
fn as_any_mut(&mut self) -> &mut dyn Any
[src]
fn core_data(&self) -> &CoreData
[src]
fn core_data_mut(&mut self) -> &mut CoreData
[src]
fn widget_name(&self) -> &'static str
[src]
fn as_widget(&self) -> &dyn WidgetConfig
[src]
fn as_widget_mut(&mut self) -> &mut dyn WidgetConfig
[src]
fn id(&self) -> WidgetId
[src]
fn is_disabled(&self) -> bool
[src]
fn set_disabled(&mut self, disabled: bool) -> TkAction
[src]
fn rect(&self) -> Rect
[src]
fn input_state(&self, mgr: &ManagerState, disabled: bool) -> InputState
[src]
Auto Trait Implementations
impl<W> RefUnwindSafe for Stack<W> where
W: RefUnwindSafe,
W: RefUnwindSafe,
impl<W> Send for Stack<W> where
W: Send,
W: Send,
impl<W> Sync for Stack<W> where
W: Sync,
W: Sync,
impl<W> Unpin for Stack<W> where
W: Unpin,
W: Unpin,
impl<W> UnwindSafe for Stack<W> where
W: UnwindSafe,
W: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
[src]
Scheme: ApproxScheme,
type Err = NoError
The error type produced by a failed conversion.
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
[src]
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
[src]
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, Dst> ConvAsUtil<Dst> for T
[src]
fn approx(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
impl<T> ConvUtil for T
[src]
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
fn into_as<Dst>(self) -> Dst where
Self: Into<Dst>,
[src]
Self: Into<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: TryInto<Dst>,
[src]
Self: TryInto<Dst>,
fn value_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ValueInto<Dst>,
[src]
Self: ValueInto<Dst>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<Src> TryFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<Src, Dst> TryInto<Dst> for Src where
Dst: TryFrom<Src>,
[src]
Dst: TryFrom<Src>,
type Err = <Dst as TryFrom<Src>>::Err
The error type produced by a failed conversion.
fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<Src> ValueFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
[src]
impl<Src, Dst> ValueInto<Dst> for Src where
Dst: ValueFrom<Src>,
[src]
Dst: ValueFrom<Src>,