FormeFluentSlider constructor

FormeFluentSlider({
  1. Key? key,
  2. String? name,
  3. double initialValue = 0.0,
  4. FormeAsyncValidator<double>? asyncValidator,
  5. Duration? asyncValidatorDebounce,
  6. AutovalidateMode? autovalidateMode,
  7. FormeFieldDecorator<double>? decorator,
  8. bool enabled = true,
  9. FocusNode? focusNode,
  10. FormeFieldInitialized<double>? onInitialized,
  11. FormeFieldSetter<double>? onSaved,
  12. FormeFieldStatusChanged<double>? onStatusChanged,
  13. int? order,
  14. bool quietlyValidate = false,
  15. bool readOnly = false,
  16. bool requestFocusOnUserInteraction = true,
  17. FormeFieldValidationFilter<double>? validationFilter,
  18. FormeValidator<double>? validator,
  19. bool autofocus = false,
  20. String? label,
  21. double max = 100,
  22. double min = 0,
  23. SliderThemeData? style,
  24. int? divisions,
  25. MouseCursor? mouseCursor,
  26. bool vertical = false,
  27. ValueChanged<double>? onChangeEnd,
  28. ValueChanged<double>? onChangeStart,
  29. ValueChanged<double>? onChanged,
})

Implementation

FormeFluentSlider({
  super.key,
  super.name,
  super.initialValue = 0.0,
  super.asyncValidator,
  super.asyncValidatorDebounce,
  super.autovalidateMode,
  super.decorator,
  super.enabled = true,
  super.focusNode,
  super.onInitialized,
  super.onSaved,
  super.onStatusChanged,
  super.order,
  super.quietlyValidate = false,
  super.readOnly = false,
  super.requestFocusOnUserInteraction = true,
  super.validationFilter,
  super.validator,
  this.autofocus = false,
  this.label,
  this.max = 100,
  this.min = 0,
  this.style,
  this.divisions,
  this.mouseCursor,
  this.vertical = false,
  this.onChangeEnd,
  this.onChangeStart,
  this.onChanged,
}) : super.allFields(
        builder: (genericState) {
          _FormeFluentSliderState state =
              genericState as _FormeFluentSliderState;
          return ValueListenableBuilder(
              valueListenable: state.notifier,
              builder: (context, value, child) {
                return Slider(
                  max: max,
                  min: min,
                  style: style,
                  label: label,
                  focusNode: state.focusNode,
                  divisions: divisions,
                  autofocus: autofocus,
                  mouseCursor: mouseCursor ?? MouseCursor.defer,
                  vertical: vertical,
                  value: state.value,
                  onChangeStart: (v) {
                    state.focusNode.requestFocus();
                    onChangeStart?.call(v);
                  },
                  onChangeEnd: (v) {
                    state.didChange(v);
                    onChangeEnd?.call(v);
                  },
                  onChanged: readOnly
                      ? null
                      : (double value) {
                          state.updateValue(value);
                          onChanged?.call(value);
                        },
                );
              });
        },
      );