Source code for enaml.widgets.stack_item

#------------------------------------------------------------------------------
#  Copyright (c) 2012, Enthought, Inc.
#  All rights reserved.
#------------------------------------------------------------------------------
from traits.api import Property, cached_property

from .container import Container
from .widget import Widget


[docs]class StackItem(Widget): """ A widget which can be used as an item in a Stack. A StackItem is a widget which can be used as a child of a Stack widget. It can have at most a single child widget which is an instance of Container. """ #: A read only property which returns the items's stack widget. stack_widget = Property(depends_on='children') #-------------------------------------------------------------------------- # Private API #-------------------------------------------------------------------------- @cached_property def _get_stack_widget(self): """ The getter for the 'stack_widget' property. Returns ------- result : Container or None The stack widget for the StackItem, or None if not provided. """ widget = None for child in self.children: if isinstance(child, Container): widget = child return widget