##// END OF EJS Templates
Change orientation to Enum
Change orientation to Enum

File last commit:

r14606:0e56b40a
r14606:0e56b40a
Show More
widget_float_range.py
49 lines | 2.0 KiB | text/x-python | PythonLexer
/ IPython / html / widgets / widget_float_range.py
Jonathan Frederic
Cleaned up Python widget code.
r14283 """FloatRangeWidget class.
Represents a bounded float using a widget.
"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Widget/DOMWidget s/BaseWidget/Widget
r14540 from .widget import DOMWidget
Jonathan Frederic
Change orientation to Enum
r14606 from IPython.utils.traitlets import Unicode, CFloat, Bool, List, Enum
Jonathan Frederic
Add float range widget
r14240
Jonathan Frederic
Cleaned up Python widget code.
r14283 #-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
1-to-1 widget / view mapping
r14592 class BoundedFloatTextWidget(DOMWidget):
view_name = Unicode('FloatTextView', sync=True)
Jonathan Frederic
s/Int/CInt s/Float/CFloat
r14603 value = CFloat(0.0, help="Float value", sync=True)
max = CFloat(100.0, help="Max value", sync=True)
min = CFloat(0.0, help="Min value", sync=True)
Jonathan Frederic
sync=True isntead of a keys list
r14588 disabled = Bool(False, help="Enable or disable user changes", sync=True)
Jonathan Frederic
s/Int/CInt s/Float/CFloat
r14603 step = CFloat(0.1, help="Minimum step that the value can take (ignored by some views)", sync=True)
Jonathan Frederic
sync=True isntead of a keys list
r14588 description = Unicode(help="Description of the value this widget represents", sync=True)
Jonathan Frederic
1-to-1 widget / view mapping
r14592
Jonathan Frederic
Added value validation on Python side.
r14605 def __init__(self, *pargs, **kwargs):
"""Constructor"""
DOMWidget.__init__(self, *pargs, **kwargs)
self.on_trait_change(self._validate, ['value', 'min', 'max'])
def _validate(self, name, old, new):
"""Validate value, max, min"""
if self.min > new or new > self.max:
self.value = min(max(new, self.min), self.max)
Jonathan Frederic
1-to-1 widget / view mapping
r14592
class FloatSliderWidget(BoundedFloatTextWidget):
view_name = Unicode('FloatSliderView', sync=True)
Jonathan Frederic
Change orientation to Enum
r14606 orientation = Enum([u'horizontal', u'vertical'], u'horizontal',
help="Vertical or horizontal.", sync=True)
Jonathan Frederic
1-to-1 widget / view mapping
r14592
class FloatProgressWidget(BoundedFloatTextWidget):
view_name = Unicode('ProgressView', sync=True)