Update sensitivity function to adjust max value and add image assets; modify dialog logic for sensitivity handling

This commit is contained in:
Faris Armoush
2025-04-13 10:41:40 +03:00
parent fa8f29ff71
commit c54fd780b7
3 changed files with 21 additions and 3 deletions

View File

@ -98,13 +98,27 @@ final class CpsSensitivityFunction extends CpsFunctions {
final int max; final int max;
final int step; final int step;
static const _images = <String>[
Assets.sensitivityFeature1,
Assets.sensitivityFeature1,
Assets.sensitivityFeature2,
Assets.sensitivityFeature3,
Assets.sensitivityFeature4,
Assets.sensitivityFeature5,
Assets.sensitivityFeature6,
Assets.sensitivityFeature7,
Assets.sensitivityFeature8,
Assets.sensitivityFeature9,
Assets.sensitivityFeature9,
];
@override @override
List<CpsOperationalValue> getOperationalValues() { List<CpsOperationalValue> getOperationalValues() {
final values = <CpsOperationalValue>[]; final values = <CpsOperationalValue>[];
for (var value = min; value <= max; value += step) { for (var value = min; value <= max; value += step) {
values.add( values.add(
CpsOperationalValue( CpsOperationalValue(
icon: Assets.sensitivity, icon: _images[value],
description: '$value', description: '$value',
value: value, value: value,
), ),

View File

@ -115,8 +115,11 @@ class _CeilingSensorDialogState extends State<CeilingSensorDialog> {
), ),
); );
final operations = selectedCpsFunctions.getOperationalValues(); final operations = selectedCpsFunctions.getOperationalValues();
final isToggleFunction = final isSensitivityFunction = selectedFunction == 'sensitivity';
CeilingSensorHelper.toggleCodes.contains(selectedFunction); final isToggleFunction = isSensitivityFunction
? widget.dialogType == 'THEN'
: CeilingSensorHelper.toggleCodes.contains(selectedFunction);
return Row( return Row(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [

View File

@ -63,6 +63,7 @@ class CpsDialogSliderSelector extends StatelessWidget {
(double, double) get _sliderRange => switch (selectedFunctionData.functionCode) { (double, double) get _sliderRange => switch (selectedFunctionData.functionCode) {
'moving_speed' => (0, 32), 'moving_speed' => (0, 32),
'sensitivity' => (0, 10),
'space_static_val' => (0, 255), 'space_static_val' => (0, 255),
'space_move_val' => (0, 255), 'space_move_val' => (0, 255),
'moving_max_dis' => (0, 10), 'moving_max_dis' => (0, 10),