/**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setDefaults(array('select_options' => array()));
     $resolver->setAllowedTypes('select_options', 'array');
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setDefaults(array('min' => 0.0, 'max' => 10.0, 'step' => 1.0, 'precision' => 0.0, 'orientation' => 'horizontal', 'value' => 0.0, 'range' => false, 'selection' => 'before', 'tooltip' => 'show', 'tooltip_split' => false, 'tooltip_position' => null, 'handle' => 'round', 'reversed' => false, 'enabled' => true, 'natural_arrow_keys' => false, 'ticks' => array(), 'ticks_positions' => array(), 'ticks_labels' => array(), 'ticks_snap_bounds' => 0.0, 'scale' => 'linear', 'focus' => false, 'labelledby' => null));
     $resolver->setAllowedTypes('min', 'float');
     $resolver->setAllowedTypes('max', 'float');
     $resolver->setAllowedTypes('step', 'float');
     $resolver->setAllowedTypes('precision', 'float');
     $resolver->setAllowedTypes('orientation', 'string');
     $resolver->setAllowedTypes('value', array('float', 'array'));
     $resolver->setAllowedTypes('range', 'bool');
     $resolver->setAllowedTypes('selection', 'string');
     $resolver->setAllowedTypes('tooltip', 'string');
     $resolver->setAllowedTypes('tooltip_split', 'bool');
     $resolver->setAllowedTypes('tooltip_position', array('string', 'null'));
     $resolver->setAllowedTypes('handle', 'string');
     $resolver->setAllowedTypes('reversed', 'bool');
     $resolver->setAllowedTypes('enabled', 'bool');
     $resolver->setAllowedTypes('natural_arrow_keys', 'bool');
     $resolver->setAllowedTypes('ticks', 'array');
     $resolver->setAllowedTypes('ticks_positions', 'array');
     $resolver->setAllowedTypes('ticks_labels', 'array');
     $resolver->setAllowedTypes('ticks_snap_bounds', 'float');
     $resolver->setAllowedTypes('scale', 'string');
     $resolver->setAllowedTypes('focus', 'bool');
     $resolver->setAllowedTypes('labelledby', array('string', 'array', 'null'));
     $resolver->setAllowedValues('orientation', array('vertical', 'horizontal'));
     $resolver->setAllowedValues('selection', array('before', 'after', 'none'));
     $resolver->setAllowedValues('tooltip', array('show', 'hide', 'always'));
     $resolver->setAllowedValues('tooltip_position', array('top', 'bottom', 'left', 'right', null));
     $resolver->setAllowedValues('handle', array('round', 'square', 'triangle', 'custom'));
     $resolver->setAllowedValues('scale', array('linear', 'logarithmic'));
     return $this;
 }