#pragma once #include #include #include #include #include #include "displayapp/Apps.h" #include "displayapp/screens/Screen.h" #include "displayapp/widgets/PageIndicator.h" namespace Pinetime { namespace Applications { namespace Screens { class CheckboxList : public Screen { public: static constexpr size_t MaxItems = 4; struct Item { const char* name; bool enabled; }; CheckboxList(const uint8_t screenID, const uint8_t numScreens, DisplayApp* app, const char* optionsTitle, const char* optionsSymbol, uint32_t originalValue, std::function OnValueChanged, std::array options); ~CheckboxList() override; void UpdateSelected(lv_obj_t* object, lv_event_t event); private: const uint8_t screenID; std::function OnValueChanged; std::array options; std::array cbOption; uint32_t value; Widgets::PageIndicator pageIndicator; }; } } }