Source code for enaml.qt.qt_traits_item
#------------------------------------------------------------------------------
# Copyright (c) 2012, Enthought, Inc.
# All rights reserved.
#
# Special thanks to Steven Silvester for contributing this module!
#------------------------------------------------------------------------------
from .qt.QtGui import QFrame
from .q_single_widget_layout import QSingleWidgetLayout
from .qt_constraints_widget import size_hint_guard
from .qt_control import QtControl
[docs]class QtTraitsItem(QtControl):
""" A Qt implementation of an Enaml TraitsItem.
"""
#: Internal storage for the traits model
_model = None
#: Internal storage for the traits view
_view = None
#: Internal storage for the traits handler
_handler = None
#: Internal storage for the generated traits UI object.
_ui = None
#--------------------------------------------------------------------------
# Setup Methods
#--------------------------------------------------------------------------
[docs] def create(self, tree):
""" Create and initialize the underlying widget.
"""
super(QtTraitsItem, self).create(tree)
self._model = tree['model']
self._view = tree['view']
self._handler = tree['handler']
[docs] def init_layout(self):
""" Initialize the layout for the widget.
"""
super(QtTraitsItem, self).init_layout()
self.refresh_traits_widget()
#--------------------------------------------------------------------------
# Message Handlers
#--------------------------------------------------------------------------
[docs] def on_action_set_model(self, content):
""" Handle the 'set_model' action from the Enaml widget.
"""
self._model = content['model']
with size_hint_guard(self):
self.refresh_traits_widget()
[docs] def on_action_set_view(self, content):
""" Handle the 'set_view' action from the Enaml widget.
"""
self._view = content['view']
with size_hint_guard(self):
self.refresh_traits_widget()
[docs] def on_action_set_handler(self, content):
""" Handle the 'set_handler' action from the Enaml widget.
"""
self._handler = content['handler']
with size_hint_guard(self):
self.refresh_traits_widget()
#--------------------------------------------------------------------------
# Widget Update Methods
#--------------------------------------------------------------------------