widget_image.py
35 lines
| 1.4 KiB
| text/x-python
|
PythonLexer
Jonathan Frederic
|
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
|
r14540 | from .widget import DOMWidget | |
Jonathan Frederic
|
r14669 | from IPython.utils.traitlets import Unicode, CUnicode, Bytes | |
Jonathan Frederic
|
r14449 | ||
#----------------------------------------------------------------------------- | |||
# Classes | |||
#----------------------------------------------------------------------------- | |||
Jonathan Frederic
|
r14540 | class ImageWidget(DOMWidget): | |
Jonathan Frederic
|
r14701 | _view_name = Unicode('ImageView', sync=True) | |
Jonathan Frederic
|
r14449 | ||
# Define the custom state properties to sync with the front-end | |||
Jonathan Frederic
|
r14588 | format = Unicode('png', sync=True) | |
Jonathan Frederic
|
r14669 | width = CUnicode(sync=True) | |
height = CUnicode(sync=True) | |||
Jonathan Frederic
|
r14588 | _b64value = Unicode(sync=True) | |
Jonathan Frederic
|
r14449 | ||
value = Bytes() | |||
def _value_changed(self, name, old, new): | |||
self._b64value = base64.b64encode(new) |