mcu_hi3321_watch/tjd/ui/app/main/TjdUiAppMainModel.h
2025-05-26 20:15:20 +08:00

91 lines
2.0 KiB
C++

/*----------------------------------------------------------------------------
* Copyright (c) TJD Technologies Co., Ltd. 2025. All rights reserved.
*
* Description: TjdUiAppMainModel.h
*
* Author: luziquan@ss-tjd.com
*
* Create: 2025-03-13
*--------------------------------------------------------------------------*/
#ifndef TJD_UI_APP_MAIN_MODEL_H
#define TJD_UI_APP_MAIN_MODEL_H
#include <list>
#include <string>
#include <vector>
namespace TJD {
typedef enum
{
TJD_CARD_FAVORITE,
TJD_CARD_WATCH_FACE,
TJD_CARD_HEALTH,
TJD_CARD_TOOL,
TJD_CARD_WEATHER,
TJD_CARD_MUSIC,
TJD_CARD_MAKE_FRIEND,
TJD_CARD_MAP,
TJD_CARD_FOUR_LEAF_CLOVER,
TJD_CARD_MAX_CARD,
} TjdCardId;
typedef enum {
TJD_VER_CARD_SHORTCUT,
TJD_VER_CARD_WATCH_FACE,
TJD_VER_CARD_MESSAGE,
} TjdVerCardId;
typedef enum
{
TJD_MAIN_PAGE_FAVORITE,
TJD_MAIN_PAGE_WATCH_FACE,
////////editable component/////////
TJD_MAIN_PAGE_HEALTH,
TJD_MAIN_PAGE_TOOL,
TJD_MAIN_PAGE_WEATHER,
TJD_MAIN_PAGE_MUSIC,
TJD_MAIN_PAGE_MAKE_FRIEND,
TJD_MAIN_PAGE_MAP,
TJD_MAIN_PAGE_FOUR_LEAF_CLOVER,
////////editable component/////////
TJD_MAIN_MAX_CARD,
} MainCardId;
struct MainCardInfo
{
MainCardId id;
std::string name;
int resId;
};
class TjdUiAppMainModel
{
public:
TjdUiAppMainModel();
virtual ~TjdUiAppMainModel();
static TjdUiAppMainModel &GetInstance(void);
void Init();
void DeleteCardSetting(uint8_t index);
void AddCardSetting(uint8_t index);
const std::vector<TjdCardId> &GetCardSettings(void);
const MainCardInfo *GetCardInfo(MainCardId id);
bool IsFromSetCardView(void) const;
void SetFromSetCardView(bool isFrom);
void SetFromCardId(uint8_t cardId);
uint8_t GetFromCardId(void);
void InitCardSettings();
private:
std::vector<TjdCardId> cardSettings;
std::vector<MainCardInfo> cardInfos;
bool isFromSetCardView{false};
uint8_t fromCardId{TjdCardId::TJD_CARD_MAX_CARD};
};
} // namespace TJD
#endif