Skip to content

Commit 8e7e8fe

Browse files
committed
Use _repr_mimebundle_ instead of _ipython_display
Fixes #1811
1 parent 560c5a2 commit 8e7e8fe

File tree

3 files changed

+5
-36
lines changed

3 files changed

+5
-36
lines changed

ipywidgets/widgets/interaction.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,7 @@ def __init__(self, __interact_f, __options={}, **kwargs):
228228
else:
229229
for widget in self.kwargs_widgets:
230230
widget.observe(self.update, names='value')
231-
232-
self.on_displayed(self.update)
231+
self.update()
233232

234233
# Callback function
235234
def update(self, *args):

ipywidgets/widgets/widget.py

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
HasTraits, Unicode, Dict, Instance, List, Int, Set, Bytes, observe, default, Container,
2121
Undefined)
2222
from ipython_genutils.py3compat import string_types, PY3
23-
from IPython.display import display
2423
from json import loads as jsonloads, dumps as jsondumps
2524

2625
from base64 import standard_b64encode
@@ -400,7 +399,6 @@ def _default_keys(self):
400399
_property_lock = Dict()
401400
_holding_sync = False
402401
_states_to_send = Set()
403-
_display_callbacks = Instance(CallbackDispatcher, ())
404402
_msg_callbacks = Instance(CallbackDispatcher, ())
405403

406404
#-------------------------------------------------------------------------
@@ -468,7 +466,7 @@ def close(self):
468466
Widget.widgets.pop(self.model_id, None)
469467
self.comm.close()
470468
self.comm = None
471-
self._ipython_display_ = None
469+
self._repr_mimebundle_ = None
472470

473471
def send_state(self, key=None):
474472
"""Sends the widget state, or a piece of it, to the front-end, if it exists.
@@ -570,21 +568,6 @@ def on_msg(self, callback, remove=False):
570568
True if the callback should be unregistered."""
571569
self._msg_callbacks.register_callback(callback, remove=remove)
572570

573-
def on_displayed(self, callback, remove=False):
574-
"""(Un)Register a widget displayed callback.
575-
576-
Parameters
577-
----------
578-
callback: method handler
579-
Must have a signature of::
580-
581-
callback(widget, **kwargs)
582-
583-
kwargs from display are passed through without modification.
584-
remove: bool
585-
True if the callback should be unregistered."""
586-
self._display_callbacks.register_callback(callback, remove=remove)
587-
588571
def add_traits(self, **traits):
589572
"""Dynamically add trait attributes to the Widget."""
590573
super(Widget, self).add_traits(**traits)
@@ -692,10 +675,6 @@ def _handle_custom_msg(self, content, buffers):
692675
"""Called when a custom msg is received."""
693676
self._msg_callbacks(self, content, buffers)
694677

695-
def _handle_displayed(self, **kwargs):
696-
"""Called when a view has been displayed for this widget instance"""
697-
self._display_callbacks(self, **kwargs)
698-
699678
@staticmethod
700679
def _trait_to_json(x, self):
701680
"""Convert a trait value to json."""
@@ -706,9 +685,8 @@ def _trait_from_json(x, self):
706685
"""Convert json values to objects."""
707686
return x
708687

709-
def _ipython_display_(self, **kwargs):
710-
"""Called when `IPython.display.display` is called on the widget."""
711-
688+
def _repr_mimebundle_(self, **kwargs):
689+
"""Called when `IPython.display.display` is called."""
712690
plaintext = repr(self)
713691
if len(plaintext) > 110:
714692
plaintext = plaintext[:110] + '…'
@@ -726,10 +704,7 @@ def _ipython_display_(self, **kwargs):
726704
'version_minor': 0,
727705
'model_id': self._model_id
728706
}
729-
display(data, raw=True)
730-
731-
if self._view_name is not None:
732-
self._handle_displayed(**kwargs)
707+
return data
733708

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

ipywidgets/widgets/widget_box.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,6 @@ class Box(DOMWidget, CoreWidget):
6262
def __init__(self, children=(), **kwargs):
6363
kwargs['children'] = children
6464
super(Box, self).__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()
7065

7166

7267
@register

0 commit comments

Comments
 (0)