summaryrefslogtreecommitdiff
path: root/src/displayapp/widgets/Counter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/widgets/Counter.h')
-rw-r--r--src/displayapp/widgets/Counter.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/displayapp/widgets/Counter.h b/src/displayapp/widgets/Counter.h
new file mode 100644
index 00000000..a25635e2
--- /dev/null
+++ b/src/displayapp/widgets/Counter.h
@@ -0,0 +1,39 @@
+#pragma once
+#include <lvgl/lvgl.h>
+
+namespace Pinetime {
+ namespace Applications {
+ namespace Widgets {
+ class Counter {
+ public:
+ Counter(int min, int max);
+
+ void Create();
+ static void upBtnEventHandler(lv_obj_t* obj, lv_event_t event);
+ static void downBtnEventHandler(lv_obj_t* obj, lv_event_t event);
+ void Increment();
+ void Decrement();
+ void SetValue(int newValue);
+
+ int GetValue() const {
+ return value;
+ }
+
+ lv_obj_t* GetObject() const {
+ return counterContainer;
+ };
+
+ private:
+ void UpdateLabel();
+
+ lv_obj_t* counterContainer;
+ lv_obj_t* upBtn;
+ lv_obj_t* downBtn;
+ lv_obj_t* number;
+ int value = 0;
+ int min;
+ int max;
+ };
+ }
+ }
+}