aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/Alarm.h
blob: 30bcb73eed0d82530caa0820744de34c1030cfbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once

#include "Screen.h"
#include "systemtask/SystemTask.h"
#include "../LittleVgl.h"
#include "components/alarm/AlarmController.h"

namespace Pinetime::Applications::Screens {
  class Alarm : public Screen {
  public:
    Alarm(DisplayApp* app, Controllers::AlarmController& alarmController);
    ~Alarm() override;
    void SetAlerting();
    void OnButtonEvent(lv_obj_t* obj, lv_event_t event);

  private:
    bool running;
    uint8_t alarmHours = 0;
    uint8_t alarmMinutes = 0;
    Controllers::AlarmController& alarmController;

    lv_obj_t *time, *btnEnable, *txtEnable, *btnMinutesUp, *btnMinutesDown, *btnHoursUp, *btnHoursDown, *txtMinUp, *txtMinDown, *txtHrUp,
      *txtHrDown, *btnRecur, *txtRecur, *btnMessage, *txtMessage, *btnInfo, *txtInfo;

    enum class EnableButtonState { On, Off, Alerting };
    void setEnableButtonState();
    void setRecurButtonState();
    void setAlarm();
    void showInfo();
  };
}