Show More
@@ -14,27 +14,20 b' Represents a container that can be used to group other widgets.' | |||||
14 | # Imports |
|
14 | # Imports | |
15 | #----------------------------------------------------------------------------- |
|
15 | #----------------------------------------------------------------------------- | |
16 | from .widget import DOMWidget |
|
16 | from .widget import DOMWidget | |
17 |
from IPython.utils.traitlets import Unicode, Tuple, |
|
17 | from IPython.utils.traitlets import Unicode, Tuple, TraitError | |
18 |
|
18 | |||
19 | #----------------------------------------------------------------------------- |
|
19 | #----------------------------------------------------------------------------- | |
20 | # Classes |
|
20 | # Classes | |
21 | #----------------------------------------------------------------------------- |
|
21 | #----------------------------------------------------------------------------- | |
22 |
|
22 | |||
23 | class TupleOfDOMWidgets(Tuple): |
|
|||
24 | """Like Tuple(Instance(DOMWidget)), but without checking length.""" |
|
|||
25 | def validate_elements(self, obj, value): |
|
|||
26 | for v in value: |
|
|||
27 | if not isinstance(v, DOMWidget): |
|
|||
28 | raise TraitError("Container.children must be DOMWidgets, not %r" % v) |
|
|||
29 | return value |
|
|||
30 |
|
||||
31 | class ContainerWidget(DOMWidget): |
|
23 | class ContainerWidget(DOMWidget): | |
32 | _view_name = Unicode('ContainerView', sync=True) |
|
24 | _view_name = Unicode('ContainerView', sync=True) | |
33 |
|
25 | |||
34 | # Keys, all private and managed by helper methods. Flexible box model |
|
26 | # Child widgets in the container. | |
35 | # classes... |
|
27 | # Using a tuple here to force reassignment to update the list. | |
36 | children = TupleOfDOMWidgets() |
|
28 | # When a proper notifying-list trait exists, that is what should be used here. | |
37 |
|
|
29 | children = Tuple() | |
|
30 | _children = Tuple(sync=True) | |||
38 |
|
31 | |||
39 | def _children_changed(self, name, old, new): |
|
32 | def _children_changed(self, name, old, new): | |
40 | """Validate children list. |
|
33 | """Validate children list. |
General Comments 0
You need to be logged in to leave comments.
Login now