Skip to content

Commit 7ae97ac

Browse files
committed
Use _repr_mimebundle_ instead of _ipython_display
Fixes #1811
1 parent 65a5be0 commit 7ae97ac

File tree

3 files changed

+5
-37
lines changed

3 files changed

+5
-37
lines changed

ipywidgets/widgets/interaction.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,7 @@ def __init__(self, __interact_f, __options={}, **kwargs):
214214
else:
215215
for widget in self.kwargs_widgets:
216216
widget.observe(self.update, names='value')
217-
218-
self.on_displayed(self.update)
217+
self.update()
219218

220219
# Callback function
221220
def update(self, *args):

ipywidgets/widgets/widget.py

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from traitlets import (
1414
HasTraits, Unicode, Dict, Instance, List, Int, Set, Bytes, observe, default, Container,
1515
Undefined)
16-
from IPython.display import display
1716
from json import loads as jsonloads, dumps as jsondumps
1817

1918
from base64 import standard_b64encode
@@ -381,7 +380,6 @@ def _default_keys(self):
381380
_property_lock = Dict()
382381
_holding_sync = False
383382
_states_to_send = Set()
384-
_display_callbacks = Instance(CallbackDispatcher, ())
385383
_msg_callbacks = Instance(CallbackDispatcher, ())
386384

387385
#-------------------------------------------------------------------------
@@ -449,7 +447,7 @@ def close(self):
449447
Widget.widgets.pop(self.model_id, None)
450448
self.comm.close()
451449
self.comm = None
452-
self._ipython_display_ = None
450+
self._repr_mimebundle_ = None
453451

454452
def send_state(self, key=None):
455453
"""Sends the widget state, or a piece of it, to the front-end, if it exists.
@@ -549,21 +547,6 @@ def on_msg(self, callback, remove=False):
549547
True if the callback should be unregistered."""
550548
self._msg_callbacks.register_callback(callback, remove=remove)
551549

552-
def on_displayed(self, callback, remove=False):
553-
"""(Un)Register a widget displayed callback.
554-
555-
Parameters
556-
----------
557-
callback: method handler
558-
Must have a signature of::
559-
560-
callback(widget, **kwargs)
561-
562-
kwargs from display are passed through without modification.
563-
remove: bool
564-
True if the callback should be unregistered."""
565-
self._display_callbacks.register_callback(callback, remove=remove)
566-
567550
def add_traits(self, **traits):
568551
"""Dynamically add trait attributes to the Widget."""
569552
super().add_traits(**traits)
@@ -671,10 +654,6 @@ def _handle_custom_msg(self, content, buffers):
671654
"""Called when a custom msg is received."""
672655
self._msg_callbacks(self, content, buffers)
673656

674-
def _handle_displayed(self, **kwargs):
675-
"""Called when a view has been displayed for this widget instance"""
676-
self._display_callbacks(self, **kwargs)
677-
678657
@staticmethod
679658
def _trait_to_json(x, self):
680659
"""Convert a trait value to json."""
@@ -685,9 +664,8 @@ def _trait_from_json(x, self):
685664
"""Convert json values to objects."""
686665
return x
687666

688-
def _ipython_display_(self, **kwargs):
689-
"""Called when `IPython.display.display` is called on the widget."""
690-
667+
def _repr_mimebundle_(self, **kwargs):
668+
"""Called when `IPython.display.display` is called."""
691669
plaintext = repr(self)
692670
if len(plaintext) > 110:
693671
plaintext = plaintext[:110] + '…'
@@ -705,10 +683,7 @@ def _ipython_display_(self, **kwargs):
705683
'version_minor': 0,
706684
'model_id': self._model_id
707685
}
708-
display(data, raw=True)
709-
710-
if self._view_name is not None:
711-
self._handle_displayed(**kwargs)
686+
return data
712687

713688
def _send(self, msg, buffers=None):
714689
"""Sends a message to the model in the front-end."""

ipywidgets/widgets/widget_box.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,6 @@ class Box(DOMWidget, CoreWidget):
6262
def __init__(self, children=(), **kwargs):
6363
kwargs['children'] = children
6464
super().__init__(**kwargs)
65-
self.on_displayed(Box._fire_children_displayed)
66-
67-
def _fire_children_displayed(self):
68-
for child in self.children:
69-
child._handle_displayed()
70-
7165

7266
@register
7367
@doc_subst(_doc_snippets)

0 commit comments

Comments
 (0)