Screens::Label is now a subclass of Screen.

This commit is contained in:
JF 2020-08-14 10:05:44 +02:00
parent f5328ec9eb
commit 6c678e872d
3 changed files with 9 additions and 44 deletions

View file

@ -3,26 +3,13 @@
using namespace Pinetime::Applications::Screens; using namespace Pinetime::Applications::Screens;
Label::Label(Pinetime::Applications::DisplayApp *app, const char *text) : Screen(app), text{text} {
Label::Label(const char* text) : text{text} {
}
Label::~Label() {
}
void Label::Refresh() {
}
void Label::Show() {
label = lv_label_create(lv_scr_act(), NULL); label = lv_label_create(lv_scr_act(), NULL);
lv_label_set_align(label, LV_LABEL_ALIGN_LEFT); lv_label_set_align(label, LV_LABEL_ALIGN_LEFT);
lv_obj_set_size(label, 240, 240); lv_obj_set_size(label, 240, 240);
lv_label_set_text(label, text); lv_label_set_text(label, text);
} }
void Label::Hide() { Label::~Label() {
lv_obj_clean(lv_scr_act()); lv_obj_clean(lv_scr_act());
} }

View file

@ -7,33 +7,11 @@
namespace Pinetime { namespace Pinetime {
namespace Applications { namespace Applications {
namespace Screens { namespace Screens {
class Label {
class Label : public Screen {
public: public:
Label() = default; Label(DisplayApp* app, const char* text);
explicit Label(const char* text); ~Label() override;
~Label();
void Refresh();
void Hide();
void Show();
private:
lv_obj_t * label = nullptr;
const char* text = nullptr;
};
class Label2 : 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());
}
bool Refresh() override {return false;} bool Refresh() override {return false;}
private: private:

View file

@ -98,17 +98,17 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen1() {
uptimeDays, uptimeHours, uptimeMinutes, uptimeSeconds, uptimeDays, uptimeHours, uptimeMinutes, uptimeSeconds,
batteryPercent, brightness, resetReason); 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() { std::unique_ptr<Screen> SystemInfo::CreateScreen2() {
auto& bleAddr = bleController.Address(); auto& bleAddr = bleController.Address();
sprintf(t2, "BLE MAC: \n %2x:%2x:%2x:%2x:%2x:%2x", sprintf(t2, "BLE MAC: \n %2x:%2x:%2x:%2x:%2x:%2x",
bleAddr[5], bleAddr[4], bleAddr[3], bleAddr[2], bleAddr[1], bleAddr[0]); 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() { std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
strncpy(t3, "Hello from\nthe developper!", 27); 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));
} }