Author: JF <jf@codingfield.com>
Screens::Label is now a subclass of Screen.
src/DisplayApp/Screens/Label.cpp | 17 ++--------------- src/DisplayApp/Screens/Label.h | 28 +++------------------------- src/DisplayApp/Screens/SystemInfo.cpp | 6 +++---
diff --git a/src/DisplayApp/Screens/Label.cpp b/src/DisplayApp/Screens/Label.cpp index ba35279d737d2c6fc9b9f43bfb4c0aae8e074684..780ee88eb25b832d61ad0368e2b1cb5dec5e2e59 100644 --- a/src/DisplayApp/Screens/Label.cpp +++ b/src/DisplayApp/Screens/Label.cpp @@ -3,26 +3,13 @@ #include "Label.h" using namespace Pinetime::Applications::Screens; - -Label::Label(const char* text) : text{text} { - -} - -Label::~Label() { - -} - -void Label::Refresh() { - -} - -void Label::Show() { +Label::Label(Pinetime::Applications::DisplayApp *app, const char *text) : Screen(app), text{text} { label = lv_label_create(lv_scr_act(), NULL); lv_label_set_align(label, LV_LABEL_ALIGN_LEFT); lv_obj_set_size(label, 240, 240); lv_label_set_text(label, text); } -void Label::Hide() { +Label::~Label() { lv_obj_clean(lv_scr_act()); } diff --git a/src/DisplayApp/Screens/Label.h b/src/DisplayApp/Screens/Label.h index 9d91974da4dc6fd01c4c885433b5b22244b82e22..3e7b37972846ce336c2c081120afcdde6d7ef688 100644 --- a/src/DisplayApp/Screens/Label.h +++ b/src/DisplayApp/Screens/Label.h @@ -7,33 +7,11 @@ namespace Pinetime { namespace Applications { namespace Screens { - class Label { - public: - Label() = default; - explicit Label(const char* text); - ~Label(); - void Refresh(); - void Hide(); - void Show(); - private: - lv_obj_t * label = nullptr; - const char* text = nullptr; - }; - - class Label2 : public Screen { + class Label : public Screen { public: - Label2(DisplayApp* app, const char* text) : Screen(app), text{text} { - label = lv_label_create(lv_scr_act(), NULL); - lv_label_set_align(label, LV_LABEL_ALIGN_LEFT); - lv_obj_set_size(label, 240, 240); - lv_label_set_text(label, text); - } - - ~Label2() override { - lv_obj_clean(lv_scr_act()); - } - + Label(DisplayApp* app, const char* text); + ~Label() override; bool Refresh() override {return false;} private: diff --git a/src/DisplayApp/Screens/SystemInfo.cpp b/src/DisplayApp/Screens/SystemInfo.cpp index e146e2e6b54681e20ce681bd4d6a4c5f4866b80d..b355f41929793a41674c1eceafd7d24b551a3a3b 100644 --- a/src/DisplayApp/Screens/SystemInfo.cpp +++ b/src/DisplayApp/Screens/SystemInfo.cpp @@ -98,17 +98,17 @@ dateTimeController.Hours(), dateTimeController.Minutes(), dateTimeController.Seconds(), uptimeDays, uptimeHours, uptimeMinutes, uptimeSeconds, batteryPercent, brightness, resetReason); - return std::unique_ptr<Screen>(new Screens::Label2(app, t1)); + return std::unique_ptr<Screen>(new Screens::Label(app, t1)); } std::unique_ptr<Screen> SystemInfo::CreateScreen2() { auto& bleAddr = bleController.Address(); sprintf(t2, "BLE MAC: \n %2x:%2x:%2x:%2x:%2x:%2x", bleAddr[5], bleAddr[4], bleAddr[3], bleAddr[2], bleAddr[1], bleAddr[0]); - return std::unique_ptr<Screen>(new Screens::Label2(app, t2)); + return std::unique_ptr<Screen>(new Screens::Label(app, t2)); } std::unique_ptr<Screen> SystemInfo::CreateScreen3() { strncpy(t3, "Hello from\nthe developper!", 27); - return std::unique_ptr<Screen>(new Screens::Label2(app, t3)); + return std::unique_ptr<Screen>(new Screens::Label(app, t3)); }