diff options
| author | JF <JF002@users.noreply.github.com> | 2021-12-09 21:27:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-09 21:27:38 +0100 |
| commit | d29a9818af3b4ecb0c547f7ccd998eb55ca821c7 (patch) | |
| tree | 572ece371e587fb6e5c3b531473a528305ba1809 /src/displayapp/screens/Weather.h | |
| parent | b946b8d156175309ab778038dab75ec7996c05bc (diff) | |
| parent | e8c1302cd65dbd804d152227ae76aa786d6f0b60 (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.h | 45 |
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(); + }; + } + } +} |
