diff options
Diffstat (limited to 'lib/slider')
-rw-r--r-- | lib/slider/Climate_slider.dart | 38 | ||||
-rw-r--r-- | lib/slider/Right_climate_slider.dart | 36 | ||||
-rw-r--r-- | lib/slider/slider.dart | 44 |
3 files changed, 118 insertions, 0 deletions
diff --git a/lib/slider/Climate_slider.dart b/lib/slider/Climate_slider.dart new file mode 100644 index 0000000..b0a0d6f --- /dev/null +++ b/lib/slider/Climate_slider.dart @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_hvac/provider.dart'; + +import '../size.dart'; + +class ClimateSliderControlLeft extends ConsumerWidget { + const ClimateSliderControlLeft({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context,ref) { + int val = ref.watch(LeftSlider).toInt(); + + return SizedBox( + height: SizeConfig.screenHeight*0.35, + width: SizeConfig.blockSizeHorizontal*3, + child: RotatedBox( + quarterTurns: 3, + child: Slider( + min: 0, + max: 15, + value: val.toDouble(), + divisions: 15, + onChanged: (value) { + ref.read(LeftSlider.notifier).update(value.toInt()); + }, + activeColor: Colors.green, + inactiveColor: Colors.white, + thumbColor: Colors.grey, + ), + + ), + ); + + } +} diff --git a/lib/slider/Right_climate_slider.dart b/lib/slider/Right_climate_slider.dart new file mode 100644 index 0000000..536d11c --- /dev/null +++ b/lib/slider/Right_climate_slider.dart @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_hvac/provider.dart'; + +import '../size.dart'; + +class ClimateSliderControlRight extends ConsumerWidget { + const ClimateSliderControlRight({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context, ref) { + int val = ref.watch(RightSlider).toInt(); + return SizedBox( + height: SizeConfig.screenHeight*0.35, + width: SizeConfig.blockSizeHorizontal*3, + child: RotatedBox( + quarterTurns: 3, + child: Slider( + min: 0, + max: 15, + value: val.toDouble(), + divisions: 15, + onChanged: (value) { + ref.read(RightSlider.notifier).update(value.toInt()); + }, + activeColor: Colors.green, + inactiveColor: Colors.white, + thumbColor: Colors.grey, + ), + + ), + ); + } +} diff --git a/lib/slider/slider.dart b/lib/slider/slider.dart new file mode 100644 index 0000000..1d2de82 --- /dev/null +++ b/lib/slider/slider.dart @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_hvac/provider.dart'; + +import '../kuksa-server/vehicle_methods.dart'; +import '../size.dart'; + +class SliderControl extends ConsumerWidget { + WebSocket socket; + SliderControl({Key? key, required this.socket}) : super(key: key); + + @override + Widget build(BuildContext context, ref) { + return SizedBox( + height: SizeConfig.safeBlockVertical*2, + width: SizeConfig.screenWidth*0.5, + + child: Slider( + value: ref.watch(fanSpeedProvider).toDouble(), + onChanged: (value) { + ref.read(fanSpeedProvider.notifier).update(value.toInt()); + VISS.set(socket, ref,'Vehicle.Cabin.HVAC.Station.Row1.Left.FanSpeed', + value.toInt().toString()); + VISS.set(socket, ref,'Vehicle.Cabin.HVAC.Station.Row1.Right.FanSpeed', + value.toInt().toString()); + VISS.set(socket, ref,'Vehicle.Cabin.HVAC.Station.Row2.Left.FanSpeed', + value.toInt().toString()); + VISS.set(socket,ref, 'Vehicle.Cabin.HVAC.Station.Row2.Right.FanSpeed', + value.toInt().toString()); + }, + min: 0, + max: 100, + activeColor: Colors.green, + inactiveColor: Colors.white70, + thumbColor: Colors.grey, + label: 'fan speed', + ), + ); + } +} |