##// END OF EJS Templates
widget_selection update...
widget_selection update Fix for the fact that dictionary randomization sometimes switches the order of the arguments passed to the class on initialization. This means that, potentially, 'value' can be updated BEFORE 'values', and since the method to update 'value' checks to see whether it exists in 'values', this breaks things.

File last commit:

r14701:53b368bf
r16192:047755f2
Show More
widget_image.py
35 lines | 1.4 KiB | text/x-python | PythonLexer
Jonathan Frederic
Add ImageWidget
r14449 """ButtonWidget class.
Represents a button in the frontend using a widget. Allows user to listen for
click events on the button and trigger backend code when the clicks are fired.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import base64
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 from .widget import DOMWidget
Jonathan Frederic
Use CUnicode for width and height in ImageWidget
r14669 from IPython.utils.traitlets import Unicode, CUnicode, Bytes
Jonathan Frederic
Add ImageWidget
r14449
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 class ImageWidget(DOMWidget):
Jonathan Frederic
s/view_name/_view_name
r14701 _view_name = Unicode('ImageView', sync=True)
Jonathan Frederic
Add ImageWidget
r14449
# Define the custom state properties to sync with the front-end
Jonathan Frederic
sync=True isntead of a keys list
r14588 format = Unicode('png', sync=True)
Jonathan Frederic
Use CUnicode for width and height in ImageWidget
r14669 width = CUnicode(sync=True)
height = CUnicode(sync=True)
Jonathan Frederic
sync=True isntead of a keys list
r14588 _b64value = Unicode(sync=True)
Jonathan Frederic
Add ImageWidget
r14449
value = Bytes()
def _value_changed(self, name, old, new):
self._b64value = base64.b64encode(new)