// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "module-db/Interface/EventsRecord.hpp" #include #include "application-calendar/widgets/CalendarStyle.hpp" enum class EventAction { Add, Edit }; class EventRecordData : public gui::SwitchData { protected: std::shared_ptr record; public: explicit EventRecordData(std::shared_ptr record) : record{std::move(record)} {}; std::shared_ptr getData() { return record; }; }; class WeekDaysRepeatData : public gui::SwitchData { protected: bool weekDays[style::window::calendar::week_days_number]; public: WeekDaysRepeatData(); virtual ~WeekDaysRepeatData() = default; [[nodiscard]] auto getData(const uint32_t weekDay) const -> bool; virtual void setData(const uint32_t weekDay, const bool value); virtual void setData(const uint32_t weekDay); }; class DayMonthData : public gui::SwitchData { protected: std::string dayMonth; TimePoint dateFilter; public: DayMonthData() = default; virtual ~DayMonthData() = default; std::string getDayMonthText() { return dayMonth; }; TimePoint getDateFilter() { return dateFilter; }; virtual void setData(std::string dayMonthText, const TimePoint &dateNumb) { dayMonth = dayMonthText; dateFilter = dateNumb; }; };