summaryrefslogtreecommitdiffstats
path: root/lib/slider
diff options
context:
space:
mode:
Diffstat (limited to 'lib/slider')
-rw-r--r--lib/slider/Climate_slider.dart38
-rw-r--r--lib/slider/Right_climate_slider.dart36
-rw-r--r--lib/slider/slider.dart44
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',
+ ),
+ );
+ }
+}