summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/Weather.h
diff options
context:
space:
mode:
authorJF <JF002@users.noreply.github.com>2021-12-09 21:27:38 +0100
committerGitHub <noreply@github.com>2021-12-09 21:27:38 +0100
commitd29a9818af3b4ecb0c547f7ccd998eb55ca821c7 (patch)
tree572ece371e587fb6e5c3b531473a528305ba1809 /src/displayapp/screens/Weather.h
parentb946b8d156175309ab778038dab75ec7996c05bc (diff)
parente8c1302cd65dbd804d152227ae76aa786d6f0b60 (diff)
Merge pull request #353 from Avamander/patch-weather
WeatherService
Diffstat (limited to 'src/displayapp/screens/Weather.h')
-rw-r--r--src/displayapp/screens/Weather.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/displayapp/screens/Weather.h b/src/displayapp/screens/Weather.h
new file mode 100644
index 00000000..34f95fce
--- /dev/null
+++ b/src/displayapp/screens/Weather.h
@@ -0,0 +1,45 @@
+#pragma once
+
+#include <memory>
+#include <components/ble/weather/WeatherService.h>
+#include "Screen.h"
+#include "ScreenList.h"
+
+namespace Pinetime {
+ namespace Applications {
+ class DisplayApp;
+
+ namespace Screens {
+ class Weather : public Screen {
+ public:
+ explicit Weather(DisplayApp* app, Pinetime::Controllers::WeatherService& weather);
+
+ ~Weather() override;
+
+ void Refresh() override;
+
+ bool OnButtonPushed() override;
+
+ bool OnTouchEvent(TouchEvents event) override;
+
+ private:
+ bool running = true;
+
+ Pinetime::Controllers::DateTime& dateTimeController;
+ Controllers::WeatherService& weatherService;
+
+ ScreenList<5> screens;
+
+ std::unique_ptr<Screen> CreateScreenTemperature();
+
+ std::unique_ptr<Screen> CreateScreenAir();
+
+ std::unique_ptr<Screen> CreateScreenClouds();
+
+ std::unique_ptr<Screen> CreateScreenPrecipitation();
+
+ std::unique_ptr<Screen> CreateScreenHumidity();
+ };
+ }
+ }
+}