Source code for pyforms_web.controls.control_boundingslider

from pyforms_web.controls.control_base import ControlBase
import simplejson

[docs]class ControlBoundingSlider(ControlBase): def __init__(self, *args, **kwargs): self._min = kwargs.get('min', 0) self._max = kwargs.get('max', 100) self._horizontal = kwargs.get('horizontal', False) super(ControlBoundingSlider, self).__init__(*args, **kwargs) def init_form(self): return u"new ControlBoundingSlider('{0}', {1})".format( self._name, simplejson.dumps(self.serialize()) ) @property def min(self): return self._min @min.setter def min(self, value): if self._min!=value: self.mark_to_update_client() self._min = value @property def max(self): return self._max @max.setter def max(self, value): if self._max!=value: self.mark_to_update_client() self._max = value def serialize(self): data = super(ControlBoundingSlider, self).serialize() data.update({ 'max': self.max, 'min': self.min }) return data def deserialize(self, properties): super(ControlBoundingSlider, self).deserialize(properties) self.max = properties['max'] self.min = properties['min']