##// END OF EJS Templates
add locks to update everywhere by using options to pass this...
add locks to update everywhere by using options to pass this (and check for this)

File last commit:

r14541:1d180d4a
r14570:4e85339b
Show More
widget_image.py
37 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
Add ImageWidget
r14449 from IPython.utils.traitlets import Unicode, Bytes
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 class ImageWidget(DOMWidget):
Jonathan Frederic
Add ImageWidget
r14449 target_name = Unicode('ImageWidgetModel')
Jonathan Frederic
s/default_view_name/view_name
r14541 view_name = Unicode('ImageView')
Jonathan Frederic
Add ImageWidget
r14449
# Define the custom state properties to sync with the front-end
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 keys = ['image_format', 'width', 'height', '_b64value'] + DOMWidget.keys
Jonathan Frederic
Add ImageWidget
r14449 image_format = Unicode('png')
width = Unicode()
height = Unicode()
_b64value = Unicode()
value = Bytes()
def _value_changed(self, name, old, new):
self._b64value = base64.b64encode(new)