widget_image.py
35 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
Maximilian Albert
|
r16376 | """ImageWidget class. | ||
Jonathan Frederic
|
r14449 | |||
Maximilian Albert
|
r16376 | Represents an image in the frontend using a widget. | ||
Jonathan Frederic
|
r14449 | """ | ||
#----------------------------------------------------------------------------- | ||||
# 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): | ||||
Maximilian Albert
|
r16376 | self._b64value = base64.b64encode(new) | ||