summaryrefslogtreecommitdiff
path: root/src/DisplayApp/Screens/SystemInfo.h
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-08-14 09:46:37 +0200
committerJF <jf@codingfield.com>2020-08-14 09:46:37 +0200
commitf5328ec9eb9d55423b4e511910721d839cacadd8 (patch)
tree8cbc6faf0c87dca43fb33e0dcdaa6ea1e64d0b05 /src/DisplayApp/Screens/SystemInfo.h
parent27fa273d8315f972931dba7971a99b0fbba7360e (diff)
Refactor ScreenList to make it more generic : it can now contain any Screen type.
Integrate this new ScreenList in SystemInfo. Add ApplicationList, which is a ScreenList of Tile. This allows to display a menu of more than 6 applications.
Diffstat (limited to 'src/DisplayApp/Screens/SystemInfo.h')
-rw-r--r--src/DisplayApp/Screens/SystemInfo.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/DisplayApp/Screens/SystemInfo.h b/src/DisplayApp/Screens/SystemInfo.h
new file mode 100644
index 00000000..ac8abae5
--- /dev/null
+++ b/src/DisplayApp/Screens/SystemInfo.h
@@ -0,0 +1,47 @@
+#pragma once
+
+#include <vector>
+#include <Components/Ble/NimbleController.h>
+#include "Screen.h"
+#include "Label.h"
+#include "ScreenList.h"
+#include "Gauge.h"
+#include "Meter.h"
+#include <functional>
+
+namespace Pinetime {
+ namespace Applications {
+ namespace Screens {
+ class SystemInfo : public Screen {
+ public:
+ explicit SystemInfo(DisplayApp* app,
+ Pinetime::Controllers::DateTime& dateTimeController,
+ Pinetime::Controllers::Battery& batteryController,
+ Pinetime::Controllers::BrightnessController& brightnessController,
+ Pinetime::Controllers::Ble& bleController,
+ Pinetime::Drivers::WatchdogView& watchdog);
+ ~SystemInfo() override;
+ bool Refresh() override;
+ bool OnButtonPushed() override;
+ bool OnTouchEvent(TouchEvents event) override;
+ private:
+ bool running = true;
+
+ Pinetime::Controllers::DateTime& dateTimeController;
+ Pinetime::Controllers::Battery& batteryController;
+ Pinetime::Controllers::BrightnessController& brightnessController;
+ Pinetime::Controllers::Ble& bleController;
+ Pinetime::Drivers::WatchdogView& watchdog;
+
+ char t1[200];
+ char t2[200];
+ char t3[30];
+
+ ScreenList<3> screens;
+ std::unique_ptr<Screen> CreateScreen1();
+ std::unique_ptr<Screen> CreateScreen2();
+ std::unique_ptr<Screen> CreateScreen3();
+ };
+ }
+ }
+} \ No newline at end of file