constexpr char* ALARM_OK = (char *)"alarmok";\r
constexpr char* JUDGE_DELETE = (char *)"judgedelete";\r
constexpr char* JUDGE_TRUE = (char *)"judgetrue";\r
-constexpr char* ADD_BUTTON = (char *)"addbutton";\r
+constexpr char* ADD_BUTTON = (char *)"addbutton"; // 增加闹钟按钮viewId\r
\r
+//星期设置按钮的viewId周一到周日\r
constexpr char* MONDAY = (char *)"monday";\r
constexpr char* TUESDAY = (char *)"tuesday";\r
constexpr char* WEDNESDAY = (char *)"wednesday";\r
constexpr char* FRIDAY = (char *)"friday";\r
constexpr char* SATURDAY = (char *)"saturday";\r
constexpr char* SUNDAY = (char *)"sunday";\r
-constexpr char* ALARM_WEEK_OK = (char *)"alarmweekok";\r
+constexpr char* ALARM_WEEK_OK = (char *)"alarmweekok"; // 星期设置确认按钮viewId\r
\r
+// 闹钟开关按钮的viewId\r
constexpr char* ALARM_STATUS_ONE = (char *)"alarmstatus0";\r
constexpr char* ALARM_STATUS_TWO = (char *)"alarmstatus1";\r
constexpr char* ALARM_STATUS_THREE = (char *)"alarmstatus2";\r
\r
constexpr int16_t SET_SIX = 6;\r
\r
-constexpr char* ALARM_STATUS[6] = {ALARM_STATUS_ONE, ALARM_STATUS_TWO, ALARM_STATUS_THREE, // 闹钟按钮最大个数为6个\r
+constexpr char* ALARM_STATUS[6] = {ALARM_STATUS_ONE, ALARM_STATUS_TWO, ALARM_STATUS_THREE, // 闹钟开关按钮viewId最大个数为6个\r
ALARM_STATUS_FOUR, ALARM_STATUS_FIVE, ALARM_STATUS_SIX};\r
constexpr char* ALARM_CLOCK[6] = {ALARM_CLOCK_ONE, ALARM_CLOCK_TWO, ALARM_CLOCK_THREE, // 闹钟个数最大个数为6个\r
ALARM_CLOCK_FOUR, ALARM_CLOCK_FIVE, ALARM_CLOCK_SIX};\r
-constexpr char* WEEK_CONTAINER[7] = {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 日期按钮最大个数为7个\r
+constexpr char* WEEK_BUTTON_VIEWID[7] = {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY}; // 星期按钮viewId最大个数为7个\r
\r
\r
constexpr char * ALARM_ITEM_DELETE_00 = (char *)"ALARM_ITEM_DELETE_00";\r
ALARM_ITEM_DELETE_03, ALARM_ITEM_DELETE_04, ALARM_ITEM_DELETE_05};\r
\r
typedef enum {\r
- MAIN_INTERFACE = 0,\r
- CHANGE_INTERFACE_CONFIG,\r
- CHANGE_INTERFACE_SET_TIME,\r
- CHANGE_INTERFACE_SET_WEEK,\r
- CHANGE_INTERFACE_JUDGE,\r
- CHANGE_INTERFACE_NEW_TIME,\r
+ MAIN_INTERFACE = 0, // 主界面\r
+ CHANGE_INTERFACE_CONFIG, // 闹钟编辑页面[包括更改时间和更改星期]\r
+ CHANGE_INTERFACE_SET_TIME, // 时间设置页面\r
+ CHANGE_INTERFACE_SET_WEEK, //星期设置页面\r
+ CHANGE_INTERFACE_JUDGE, // 确认删除闹钟页面\r
+ CHANGE_INTERFACE_NEW_TIME, // 新建闹钟的[时间设置]页面\r
CHANGE_INTERFACE_MAXCLOCK,\r
} InterfacesId;\r
\r
+constexpr int16_t NEW_TIME_LISTENER = 0; // 新建闹钟的[时间设置]标志\r
+constexpr int16_t SET_TIME_LISTENER = 1; // 更新已存在闹钟的[星期设置]标志\r
+\r
class AlarmStatusBtnChangeListener : public OHOS::UICheckBox::OnChangeListener {\r
public:\r
explicit AlarmStatusBtnChangeListener(UIView *uiView)\r
private:\r
uint32_t timeHour{0};\r
uint32_t timeMin{0};\r
- uint16_t setListener;\r
+ uint16_t setListener; // 新建闹钟还是修改闹钟的标志\r
uint16_t alarmListener{0};//闹钟编号\r
uint16_t clockQty{0};\r
int16_t interListener;\r
/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: Alarm\r
- * Author:\r
- * Create: 2021-09-11\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-08-29 10:39:02\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-10-12 19:14:30\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmSetWeekView.h\r
*/\r
\r
#ifndef ALARM_SET_WEEK_VIEW\r
#include "AlarmPresenter.h"\r
#include "AlarmClockModel.h"\r
\r
+#define WEEK_NUM 7 // 星期一共有7天\r
+\r
namespace OHOS {\r
class AlarmSetWeekView {\r
public:\r
UIScrollView *group{nullptr};\r
UILabelButtonExt *weekImage{nullptr};\r
UILabelExt *labelRespeat{nullptr};\r
- UILabelButton *buttonWeek[7]{nullptr}; // 星期一共有7天,因此设置了七个星期的按钮\r
+ UILabelButton *buttonWeek[WEEK_NUM]{nullptr}; // 星期一共有7天,因此设置了七个星期的按钮\r
void CreateWeekButton1(void);\r
void CreateWeekButton2(void);\r
void SetLabelButton(void);\r
void AlarmClockModel::SetAlarmInfo(uint32_t time_hour, uint32_t time_min, uint8_t week, uint16_t alarmListener,uint16_t setListener)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmInfo!");
+ // 检查时间参数是否合法
+ if (time_hour < 0 || time_hour > 23 || time_min < 0 || time_min > 59)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Invalid time parameters!");
+ return;
+ }
+ // 检查 alarmListener 是否在合理范围内
+ if (alarmListener >= ALARM_CLOCK_MAX || alarmListener < 0)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Invalid alarmListener value!");
+ return;
+ }
+ // 检查 setListener 是否合法
+ if (setListener!= NEW_TIME_LISTENER && setListener!= SET_TIME_LISTENER) // NEW_TIME_LISTENER:0 表示新建闹钟,SET_TIME_LISTENER:1 表示修改闹钟
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Invalid setListener value!");
+ return;
+ }
if (currentAlarm[alarmListener] == nullptr || (currentAlarm[alarmListener]->alarmType == TYPE_INVALID_ALARM_CLOCK &&
currentAlarm[alarmListener] != nullptr)) {
currentAlarm[alarmListener] = new AlarmClockInfo();
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::NewAlarmTime clock name = %s, id = %u",
currentAlarm[alarmListener]->alarmClockName, currentAlarm[alarmListener]->alarmClockId);
- if (setListener == 0) { //表示新建闹钟
+ if (setListener == NEW_TIME_LISTENER) { //表示新建闹钟
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmClockModel::SetAlarmWeek new time!");
int ret = AddAlarmClock(currentAlarm[alarmListener]);
if (ret != 0) {
\r
void AlarmNewTimeView::RefreshNewTime(void)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshStep");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmNewTimeView::RefreshNewTime");\r
struct tm local_time;\r
time_t seconds = time(nullptr);\r
if (localtime_r(&seconds, &local_time) == nullptr)\r
std::ostringstream ostMin;\r
ostrHour << local_time.tm_hour;\r
ostMin << local_time.tm_min;\r
- std::string weekStr = ostrHour.str() + ":" + ostMin.str();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str());\r
- picker->SetSelected(weekStr.c_str()); // 添加的时间默认初始时间为0点\r
+ std::string timeStr = ostrHour.str() + ":" + ostMin.str();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time = %s!", timeStr.c_str());\r
+ picker->SetSelected(timeStr.c_str());\r
uint32_t timeHour = stoi(ostrHour.str());\r
uint32_t timeMin = stoi(ostMin.str());\r
AlarmPresenter::GetInstance()->OnTimePickerInaction(timeHour, timeMin);\r
constexpr int16_t CLOSE_SWITCHES = 0;\r
constexpr int16_t OPEN_SWITCHES = 1;\r
constexpr int16_t SET_ZERO = 0;\r
-constexpr int16_t NEW_TIME_LISTENER = 0;\r
-constexpr int16_t SET_TIME_LISTENER = 1;\r
constexpr uint16_t THE_FIRST_ALARM = 0;\r
constexpr uint16_t SECOND_ALARM = 1;\r
constexpr uint16_t THIRD_ALARM = 2;\r
constexpr uint8_t WEEK_BIT2 = 2;\r
constexpr uint8_t WEEK_BIT1 = 1;\r
constexpr uint8_t WEEK_BIT0 = 0;\r
-constexpr uint16_t ALARM_MAX_NUM = 5; // 4;\r
-constexpr int32_t BUTTON_MAX_NUM = 7;\r
+constexpr uint16_t ALARM_MAX_NUM = 5; // 最大闹钟数\r
+constexpr int32_t WEEK_BUTTON_MAX_NUM = 7; // 星期按钮的最大个数\r
constexpr uint16_t CLOCK_NUM = 5;\r
constexpr uint8_t CANCEL_DATA = 0;\r
constexpr uint8_t SELECT_DATA = 1;\r
AlarmConfigView::GetInstance()->RefreshConfig(clockTime, clockWeek, num);\r
}\r
\r
+// 处理闹钟星期设置确认按钮的点击事件\r
void AlarmPresenter::ClickAlarmWeekOk(uint16_t num)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_WEEK_OK");\r
if (setListener == SET_TIME_LISTENER) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk set time!");\r
if (!(AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime))) {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ClickAlarmWeekOk error");\r
return;\r
}\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk time = %d", clockTime);\r
}\r
AlarmClockModel::GetInstance()->ButtonStatusRing(alarmListener, true);\r
MainAlarmView::GetInstance()->RefreshAlarm();\r
- MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG);\r
+ MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, CHANGE_INTERFACE_CONFIG); // 跳转到闹钟配置界面\r
} else if (setListener == NEW_TIME_LISTENER) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickAlarmWeekOk new time!");\r
- // clockQty++;\r
alarmListener = clockQty;\r
clockQty++;\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk alarmListener = %d***************", alarmListener);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "******************ClickAlarmWeekOk alarmListener = %d***************", alarmListener);\r
AlarmClockModel::GetInstance()->SetSerialAdd();\r
AlarmClockModel::GetInstance()->SetAlarmInfo(timeHour, timeMin, clockWeek, alarmListener, setListener);\r
if (!(AlarmClockModel::GetInstance()->GetClockTime(alarmListener, &clockTime))) {\r
return;\r
}\r
MainAlarmView::GetInstance()->RefreshAlarm();\r
- MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE);\r
+ MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_SET_WEEK, MAIN_INTERFACE); // 跳转到闹钟主界面\r
}\r
}\r
\r
+// 处理闹钟新建按钮的点击事件\r
void AlarmPresenter::ClickAlarmNewTime(uint16_t num)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEW_TIME");\r
+ if (MainAlarmView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
+ return;\r
+ }\r
clockQty = AlarmClockModel::GetInstance()->GetAlarmNum();\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter alarmNumbel = %u", clockQty);\r
UNUSED(num);\r
if (clockQty >= ALARM_MAX_NUM) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter new alarm max");\r
setListener = NEW_TIME_LISTENER;\r
timeHour = 0;\r
timeMin = 0;\r
- if (MainAlarmView::GetInstance() == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new MainAlarmView::GetInstance() error");\r
- return;\r
- }\r
- MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME);\r
+ MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_NEW_TIME); // 跳转到新建闹钟时间设置界面\r
if (AlarmNewTimeView::GetInstance() == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNewTime new AlarmNewTimeView::GetInstance() error");\r
return;\r
AlarmNewTimeView::GetInstance()->RefreshNewTime();\r
}\r
\r
+// 新建闹钟时:时间设置页面的下一步按钮点击事件处理函数\r
+\r
void AlarmPresenter::ClickAlarmNext(uint16_t num)\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmPresenter ALARM_NEXT");\r
UNUSED(num);\r
- for (int i = 0; i < BUTTON_MAX_NUM; i++) {\r
+ for (int i = 0; i < WEEK_BUTTON_MAX_NUM; i++) {\r
alarmWeek[i] = 0;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[%d] = %u", i, alarmWeek[i]);\r
}\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new MainAlarmView::GetInstance() error");\r
return;\r
}\r
- MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);\r
- if (AlarmNewTimeView::GetInstance() == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmNewTimeView::GetInstance() error");\r
- return;\r
- }\r
+ MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_NEW_TIME, CHANGE_INTERFACE_SET_WEEK);// 跳转到星期设置界面\r
if (AlarmSetWeekView::GetInstance() == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickAlarmNext new AlarmSetWeekView::GetInstance() error");\r
return;\r
\r
bool AlarmPresenter::ClickFuncView(UIView &view)\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
- for (int num = 0; num < BUTTON_MAX_NUM; num++) {\r
- if (strcmp(view.GetViewId(), WEEK_CONTAINER[num]) == 0) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ClickFuncView view = %s", view.GetViewId());\r
+ for (int num = 0; num < WEEK_BUTTON_MAX_NUM; num++) {\r
+ if (strcmp(view.GetViewId(), WEEK_BUTTON_VIEWID[num]) == 0) {\r
alarmWeek[num] = alarmWeek[num] ? CANCEL_DATA: SELECT_DATA;\r
- if (alarmWeek[num] == CANCEL_DATA) {\r
+ if (alarmWeek[num] == CANCEL_DATA) { // 取消选中\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
- // view.SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
- // dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
- // Color::Black().full, UIButton::PRESSED);\r
view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x19, 0x19, 0x19).full);\r
dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
Color::GetColorFromRGB(0x19, 0x19, 0x19).full, UIButton::PRESSED); \r
- } else if (alarmWeek[num] == SELECT_DATA) {\r
+ } else if (alarmWeek[num] == SELECT_DATA) { // 选中\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "alarmWeek[num] = %u", alarmWeek[num]);\r
- // view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
- // dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
- // Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full, UIButton::PRESSED);\r
view.SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x4f, 0xc3, 0x4c).full);\r
dynamic_cast<UIButton &>(view).SetStyleForState(STYLE_BACKGROUND_COLOR,\r
Color::GetColorFromRGB(0x4f, 0xc3, 0x4c).full, UIButton::PRESSED); \r
\r
void AlarmPresenter::ClickDeleteButtonAlarmClockDelete(uint16_t num)\r
{\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[@CHENG][%d]:%d", __LINE__, num);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[@CHENG][%d]:%d", __LINE__, num);\r
+ if (MainAlarmView::GetInstance() == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickDeleteButtonAlarmClockDelete error");\r
+ return;\r
+ }\r
UNUSED(num);\r
alarmListener = num;\r
MainAlarmView::GetInstance()->ChangeView(MAIN_INTERFACE, CHANGE_INTERFACE_JUDGE);\r
- // if (MainAlarmView::GetInstance() == nullptr) {\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmPresenter::ClickDeleteButtonAlarmClockDelete error");\r
- // return;\r
- // }\r
}\r
\r
static const AlarmPresentMapper1 DeleteButtonPresentMapper[] = \r
uint16_t num;\r
for (num = 0; num < CLOCK_NUM; num++)\r
{\r
- if (0 == strcmp(view.GetViewId(), ALARM_ITEM_DELETE[num]))\r
+ if (0 == strcmp(view.GetViewId(), ALARM_ITEM_DELETE[num])) // 闹钟删除按钮\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[@CHENG][%d]:%d", __LINE__, num);\r
(this->*(DeleteButtonPresentMapper[num].func))(num);\r
#include "ui_resource_string.h"\r
#include "ConfigModel.h"\r
namespace OHOS {\r
-// #define MON "星期一"\r
-// #define TUE "星期二"\r
-// #define WED "星期三"\r
-// #define THUR "星期四"\r
-// #define FRI "星期五"\r
-// #define SAT "星期六"\r
-// #define SUN "星期天"\r
-#define MON "一"\r
-#define TUE "二"\r
-#define WED "三"\r
-#define THUR "四"\r
-#define FRI "五"\r
-#define SAT "六"\r
-#define SUN "日"\r
-#define MON_EN "Mon"\r
-#define TUE_EN "Tue"\r
-#define WED_EN "Wed"\r
-#define THUR_EN "Thu"\r
-#define FRI_EN "Fri"\r
-#define SAT_EN "Sat"\r
-#define SUN_EN "Sun"\r
-#define RESPEAT "重复"\r
-#define SURE "确认"\r
-\r
-#define MONDAY "monday"\r
-#define TUESDAY "tuesday"\r
-#define WEDNESDAY "wednesday"\r
-#define THURSDAY "thursday"\r
-#define FRIDAY "friday"\r
-#define SATURDAY "saturday"\r
-#define SUNDAY "sunday"\r
-\r
static AlarmSetWeekView *g_pAlarmSetWeekView = nullptr;\r
constexpr int16_t CONTAINER_X = 0;\r
constexpr int16_t CONTAINER_Y = 0;\r
-constexpr int16_t DEFAULT_FONT = 40;\r
-constexpr int16_t REBOUND_SIZE = 50;\r
-constexpr int16_t BORDER_WIDTH = 20;\r
-constexpr int16_t SET_ZERO = 0;\r
-constexpr int16_t TITLE_X = 185;\r
-constexpr int16_t TITLE_Y = 30;\r
-constexpr int16_t LABEL_POSITION_SIZE = 150;\r
constexpr int16_t VIEW_BORDER_SIZE = 2;\r
-constexpr int16_t BORDER_RADIUS_SIZE = 200;\r
-constexpr int16_t VIEW_BUTTON_X = 100;\r
-constexpr int16_t VIEW_BUTTON_Y = 70;\r
-constexpr int16_t BUTTON_FONT_SIZE = 18;\r
-constexpr int16_t TIME_LABEL_BUTTON_X = 63;\r
-constexpr int16_t TIME_LABEL_BUTTON_Y = 360;\r
-constexpr int16_t BUTTON_WIDHT3 = 320;\r
-constexpr int16_t BUTTON_HEIGHT3 = 101;\r
-constexpr int16_t LABEL_WEEK_FONT = 40;\r
-constexpr int16_t BUTTON_WIDHT = 80; // 100;\r
-constexpr int16_t BUTTON_HEIGHT = 80; // 60;\r
-constexpr int16_t BUTTON_FONT = 20;\r
-constexpr int16_t VIEW_POSITION_X = 27; // 60;\r
-constexpr int16_t VIEW_POSITION_X2 = 83; // 12;\r
-constexpr int16_t WEEK_Y1 = 135; // 130;\r
-constexpr int16_t WEEK_Y2 = 245; // 210;\r
-constexpr int16_t WEEK_GAP_X = 110; // 112;\r
-constexpr int16_t BUTTON_STYLE_BORDER_RADIUS_VALUE = 100; // 30;\r
+constexpr int16_t BUTTON_WIDHT = 80; // 80\r
+constexpr int16_t BUTTON_HEIGHT = 80; // 80\r
+constexpr int16_t VIEW_POSITION_X = 27; //27\r
+constexpr int16_t VIEW_POSITION_X2 = 83;// 83\r
+constexpr int16_t WEEK_Y1 = 135;\r
+constexpr int16_t WEEK_Y2 = 245;\r
+constexpr int16_t WEEK_GAP_X = 110;// 星期按钮间的间隔 \r
+constexpr int16_t BUTTON_STYLE_BORDER_RADIUS_VALUE = 100; \r
constexpr int16_t FONT_DEFAULT_SIZE = 30;\r
constexpr int16_t WEEK_MON = 1;\r
constexpr int16_t WEEK_TUE = 2;\r
constexpr int16_t WEEK_SAT = 6;\r
constexpr int16_t WEEK_SUN = 0;\r
\r
-#define DEFAULT_BG_COLOR (Color::GetColorFromRGB(0x19, 0x19, 0x19))\r
-#define SELECTED_BG_COLOR (Color::GetColorFromRGB(0x4f, 0xc3, 0x4c))\r
+#define DEFAULT_BG_COLOR (Color::GetColorFromRGB(0x19, 0x19, 0x19)) // 默认背景色\r
+#define SELECTED_BG_COLOR (Color::GetColorFromRGB(0x4f, 0xc3, 0x4c)) // 选中背景色\r
\r
\r
AlarmSetWeekView::AlarmSetWeekView()\r
delete weekImage;\r
weekImage = nullptr;\r
}\r
- for (int16_t alarmNum = 0; alarmNum < 7; alarmNum++) {\r
+ for (int16_t alarmNum = 0; alarmNum < WEEK_NUM; alarmNum++) {\r
if(buttonWeek[alarmNum])\r
{\r
delete buttonWeek[alarmNum];\r
UILabelButtonExt *AlarmSetWeekView::CreateUILabelButton(const char *buttonText1,const char *buttonText2, int16_t x, int16_t y)\r
{\r
if (buttonText1 == nullptr || buttonText2 == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: buttonText1 or buttonText2 is null");\r
return nullptr;\r
}\r
\r
return nullptr;\r
}\r
int language = ConfigModel::GetInstance()->GetLanguage();\r
- if(language == 0)\r
+ if(language == 0) // 中文\r
{\r
labelButton->SetText(buttonText1);\r
}\r
- else\r
+ else \r
{\r
labelButton->SetText(buttonText2);\r
}\r
labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::PRESSED);\r
labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::INACTIVE);\r
labelButton->SetStyleForState(STYLE_BORDER_RADIUS, BUTTON_STYLE_BORDER_RADIUS_VALUE, UIButton::RELEASED);\r
- // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::RELEASED);\r
- // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED);\r
- // labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::INACTIVE);\r
labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::RELEASED);\r
labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED);\r
labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::INACTIVE);\r
labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::RELEASED);\r
labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::PRESSED);\r
labelButton->SetStyleForState(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE, UIButton::INACTIVE);\r
- // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::RELEASED);\r
- // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::PRESSED);\r
- // labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::White().full, UIButton::INACTIVE);\r
labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::RELEASED);\r
labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::PRESSED);\r
labelButton->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::INACTIVE);\r
- // labelButton->SetStyle(STYLE_BACKGROUND_COLOR, Color::GetColorFromRGB(0x6c, 0xB8, 0xFD).full);\r
labelButton->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full);\r
labelButton->SetStyle(STYLE_BORDER_WIDTH, VIEW_BORDER_SIZE);\r
- // labelButton->SetStyle(STYLE_BORDER_COLOR, Color::White().full);\r
labelButton->SetStyle(STYLE_BORDER_COLOR, Color::Black().full);\r
labelButton->Resize(BUTTON_WIDHT, BUTTON_HEIGHT);\r
\r
\r
void AlarmSetWeekView::CreateWeekButton1(void)\r
{\r
- int viewPositionX = VIEW_POSITION_X; // 60 150\r
+ int viewPositionX = VIEW_POSITION_X;\r
UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
\r
- buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN,SUN_EN, viewPositionX, WEEK_Y1);\r
+ buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN_DAY,SUN_DAY_EN, viewPositionX, WEEK_Y1);\r
if (buttonWeek[WEEK_SUN] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSun fail");\r
return;\r
buttonWeek[WEEK_SUN]->SetViewId(SUNDAY);\r
viewPositionX += WEEK_GAP_X;\r
\r
- buttonWeek[WEEK_MON] = CreateUILabelButton(MON,MON_EN, viewPositionX, WEEK_Y1);\r
+ buttonWeek[WEEK_MON] = CreateUILabelButton(MON_DAY,MON_DAY_EN, viewPositionX, WEEK_Y1);\r
if (buttonWeek[WEEK_MON] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonMon fail");\r
return;\r
buttonWeek[WEEK_MON]->SetViewId(MONDAY);\r
viewPositionX += WEEK_GAP_X;\r
\r
- buttonWeek[WEEK_TUE] = CreateUILabelButton(TUE,TUE_EN, viewPositionX, WEEK_Y1);\r
+ buttonWeek[WEEK_TUE] = CreateUILabelButton(TUE_DAY,TUE_DAY_EN, viewPositionX, WEEK_Y1);\r
if (buttonWeek[WEEK_TUE] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonTue fail");\r
return;\r
buttonWeek[WEEK_TUE]->SetViewId(TUESDAY);\r
viewPositionX += WEEK_GAP_X;\r
\r
- buttonWeek[WEEK_WED] = CreateUILabelButton(WED,WED_EN, viewPositionX, WEEK_Y1);\r
+ buttonWeek[WEEK_WED] = CreateUILabelButton(WED_DAY,WED_DAY_EN, viewPositionX, WEEK_Y1);\r
if (buttonWeek[WEEK_WED] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonWed fail");\r
return;\r
\r
void AlarmSetWeekView::CreateWeekButton2(void)\r
{\r
- int viewPositionX2 = VIEW_POSITION_X2; // 12 210\r
+ int viewPositionX2 = VIEW_POSITION_X2;\r
UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
\r
- buttonWeek[WEEK_THUR] = CreateUILabelButton(THUR,THUR_EN, viewPositionX2, WEEK_Y2);\r
+ buttonWeek[WEEK_THUR] = CreateUILabelButton(THUR_DAY,THUR_DAY_EN, viewPositionX2, WEEK_Y2);\r
if (buttonWeek[WEEK_THUR] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonThur fail");\r
return;\r
buttonWeek[WEEK_THUR]->SetViewId(THURSDAY);\r
viewPositionX2 += WEEK_GAP_X;\r
\r
- buttonWeek[WEEK_FRI] = CreateUILabelButton(FRI,FRI_EN, viewPositionX2, WEEK_Y2);\r
+ buttonWeek[WEEK_FRI] = CreateUILabelButton(FRI_DAY,FRI_DAY_EN, viewPositionX2, WEEK_Y2);\r
if (buttonWeek[WEEK_FRI] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonFri fail");\r
return;\r
buttonWeek[WEEK_FRI]->SetViewId(FRIDAY);\r
viewPositionX2 += WEEK_GAP_X;\r
\r
- buttonWeek[WEEK_SAT] = CreateUILabelButton(SAT,SAT_EN, viewPositionX2, WEEK_Y2);\r
+ buttonWeek[WEEK_SAT] = CreateUILabelButton(SAT_DAY,SAT_DAY_EN, viewPositionX2, WEEK_Y2);\r
if (buttonWeek[WEEK_SAT] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSat fail");\r
return;\r
buttonWeek[WEEK_SAT]->SetViewId(SATURDAY);\r
viewPositionX2 += WEEK_GAP_X;\r
\r
- // buttonWeek[WEEK_SUN] = CreateUILabelButton(SUN, viewPositionX2, WEEK_Y2);\r
- // if (buttonWeek[WEEK_SUN] == nullptr) {\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new buttonSun fail");\r
- // return;\r
- // }\r
- // group->Add(buttonWeek[WEEK_SUN]);\r
- // buttonWeek[WEEK_SUN]->SetOnClickListener(clickListener);\r
- // buttonWeek[WEEK_SUN]->SetViewId(SUNDAY);\r
}\r
\r
void AlarmSetWeekView::SetLabelButton(void)\r
return group;\r
}\r
\r
+//该函数用于设置AlarmSetWeekView中周一到周日按钮的背景颜色\r
void AlarmSetWeekView::RefreshSetWeek1(void)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1");\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep1 buttonMon nullptr error!");\r
return;\r
}\r
- // buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
- // buttonWeek[WEEK_MON]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED);\r
buttonWeek[WEEK_MON]->SetStyle(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full);\r
buttonWeek[WEEK_MON]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED);\r
if (buttonWeek[WEEK_TUE] == nullptr) {\r
buttonWeek[WEEK_SUN]->SetStyleForState(STYLE_BACKGROUND_COLOR, DEFAULT_BG_COLOR.full, UIButton::PRESSED);\r
}\r
\r
+//该函数用于设置AlarmSetWeekView中周一到周日按钮的背景颜色\r
void AlarmSetWeekView::RefreshSetWeek2(uint8_t week)\r
{\r
- for (int16_t alarmNum = 0; alarmNum < 7; alarmNum++) {\r
+ for (int16_t alarmNum = 0; alarmNum < WEEK_NUM; alarmNum++) {\r
if (buttonWeek[alarmNum] == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView::RefreshStep2 week[%d] nullptr error!", alarmNum);\r
return;\r