/*\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-09-02 20:04:12\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-10-29 16:26:10\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmJudgeView.h\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
*/\r
\r
#ifndef ALARM_JUDGE_VIEW_H\r
AlarmJudgeView();\r
virtual ~AlarmJudgeView();\r
UIScrollView *InitJudgeView();\r
- void OnSetUpView();\r
- void OnTearDownView();\r
- void OnStop();\r
private:\r
- // void CreateImage(void);\r
- // UIScrollView *container{nullptr};\r
- // UILabel *labelText{nullptr};\r
- // UIImageView *imageViewDelete{nullptr};\r
- // UIImageView *imageViewTrue{nullptr};\r
-\r
UIScrollView * InitDeleteScreen();\r
void DeinitDeleteScreen();\r
UIScrollView * DeleteGroup_{nullptr};\r
#include "AlarmClockModel.h"
namespace OHOS {
-constexpr int16_t D_CLOCK_Y = 210;
-constexpr int16_t LABEL_ZERO_Y = 270;
constexpr int16_t ALARM_INTER_ADD = 120; // 120;
class AlarmPresenter;
void OnStop() override;
void ChangeView(int16_t hideView, int16_t showView);
void DropView(UIView& view);
- // void CreateImage();
void RefreshAlarm(void);
bool ChangeMainAlarm(int16_t thisView);
bool ChangeConfig(int16_t thisView);
void AlarmAddButtonCreate(void);
void AlarmAddButtonUpdate(uint8_t count);
- AlarmConfigView *configView{nullptr};
- AlarmSetTimeView *setTimeView{nullptr};
- AlarmSetWeekView *setWeekView{nullptr};
+private:
+ AlarmConfigView *configView{nullptr}; //编辑闹钟页面【包括更改时间和更改星期】
+ AlarmSetTimeView *setTimeView{nullptr};//时间设置页面
+ AlarmSetWeekView *setWeekView{nullptr};//星期设置页面
AlarmJudgeView *judgeView{nullptr};
AlarmNewTimeView *newTimeView{nullptr};
AlarmMaxClock *maxClockView{nullptr};
UIViewGroup * SwipeViewItem_[6][2]{nullptr};
UILabelButtonExt * DeleteButton_[6]{nullptr};
UIToggleButton *statusButton[6]{nullptr}; // 6代表界面中最多存在六个按键
- // UIImageView *addButton{nullptr};
UIDigitalClock *dClock[6]{nullptr}; // 6代表界面中最多存在六个闹钟
UILabelExt *dLabel[6]{nullptr}; // 6代表界面中显示闹钟日期的控件个数
UIScrollView *container[7]{nullptr}; // 7代表容器存有主界面以及跳转的四个副界面,用于跳转后显示或隐藏界面
uint8_t alarmHour, alarmMin;
int8_t dClockNum{-1};
int16_t weekStatus{-1};
- // int16_t alarmPositionY{D_CLOCK_Y};
- // int16_t labelPositionY{LABEL_ZERO_Y};
- int16_t alarmInterval{ALARM_INTER_ADD};
+ int16_t alarmInterval{ALARM_INTER_ADD}; // 闹钟之间的间隔
bool reflashStatus{false};
UILabelExt * TitleLabelExt_{nullptr};
UILabelButtonExt * AddButton_{nullptr};
- UICheckBox::OnChangeListener *statusListener{nullptr};
+ UICheckBox::OnChangeListener *statusListener[6]{nullptr};
bool viewInitstatus_{false};
#define ALARM_DELETE_IMAGE "/user/res/Alarm/alarm_delete.bin"
* Create: 2021-09-11\r
*/\r
\r
-#include "AlarmJudgeView.h"\r
+#include "alarm/include/AlarmJudgeView.h"\r
#include "UiConfig.h"\r
#include <string>\r
-#include "AlarmPresenter.h"\r
+#include "alarm/include/AlarmPresenter.h"\r
#include "ui_resource_string.h"\r
\r
namespace OHOS {\r
-#define DELETE_INETERFACES "是否删除此闹钟?"\r
-\r
static AlarmJudgeView *g_JudgeView = nullptr;\r
-constexpr int16_t CONTAINER_X = 0;\r
-constexpr int16_t CONTAINER_Y = 0;\r
-constexpr int16_t MAX_LABEL_X_LEN = 120;\r
-constexpr int16_t MAX_LABEL_Y_LEN = 160;\r
-constexpr int16_t MAX_LABEL_LENGTH_LEN = 400;\r
-constexpr int16_t MAX_LABEL_WIDTH_LEN = 50;\r
-constexpr int16_t MAX_LABEL_FONT_LEN = 30;\r
-constexpr int16_t MAX_IMAGE_DELETE_X_LEN = 90;\r
-constexpr int16_t MAX_IMAGE_DELETE_Y_LEN = 300;\r
-constexpr int16_t MAX_IMAGE_TRUE_X_LEN = 270;\r
-constexpr int16_t MAX_IMAGE_TRUE_Y_LEN = 300;\r
-constexpr int16_t MAX_IMAGE_DELETE_WIDTH_LEN = 91;\r
-constexpr int16_t MAX_IMAGE_TRUE_WIDTH_LEN = 91;\r
-\r
AlarmJudgeView::AlarmJudgeView()\r
{\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView::AlarmJudgeView");\r
AlarmJudgeView::~AlarmJudgeView()\r
{\r
DeinitDeleteScreen();\r
-\r
- // container->RemoveAll();\r
- // delete labelText;\r
- // labelText = nullptr;\r
- // delete imageViewDelete;\r
- // imageViewDelete = nullptr;\r
- // delete container;\r
- // container = nullptr;\r
g_JudgeView = nullptr;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView::~AlarmJudgeView");\r
}\r
\r
-// void AlarmJudgeView::CreateImage(void)\r
-// {\r
-// UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::AlarmPresenter::GetInstance();\r
-// if (clickListener == nullptr) {\r
-// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView:: new OnClickListener fail");\r
-// return;\r
-// }\r
-// imageViewDelete = new UIImageView();\r
-// if (imageViewDelete == nullptr) {\r
-// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView:: new imageViewDelete fail");\r
-// return;\r
-// }\r
-// imageViewDelete->SetPosition(MAX_IMAGE_DELETE_X_LEN, MAX_IMAGE_DELETE_Y_LEN);\r
-// imageViewDelete->SetSrc(ALARM_DELETE_ADD_PATH);\r
-// imageViewDelete->SetViewId(JUDGE_DELETE);\r
-// imageViewDelete->SetWidth(MAX_IMAGE_DELETE_WIDTH_LEN);\r
-// imageViewDelete->SetTouchable(true);\r
-// imageViewDelete->SetOnClickListener(clickListener);\r
-// container->Add(imageViewDelete);\r
-\r
-// imageViewTrue = new UIImageView();\r
-// if (imageViewTrue == nullptr) {\r
-// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView:: new imageViewTrue fail");\r
-// return;\r
-// }\r
-// imageViewTrue->SetPosition(MAX_IMAGE_TRUE_X_LEN, MAX_IMAGE_TRUE_Y_LEN); // 50 : size\r
-// imageViewTrue->SetSrc(ALARM_TRUE_ADD_PATH);\r
-// imageViewTrue->SetViewId(JUDGE_TRUE);\r
-// imageViewTrue->SetWidth(MAX_IMAGE_TRUE_WIDTH_LEN);\r
-// imageViewTrue->SetTouchable(true);\r
-// imageViewTrue->SetOnClickListener(clickListener);\r
-// container->Add(imageViewTrue);\r
-// }\r
-\r
UIScrollView *AlarmJudgeView::InitJudgeView(void)\r
{\r
- // container = new UIScrollView();\r
- // if (container == nullptr) {\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView:: new container fail");\r
- // return nullptr;\r
- // }\r
- // container->SetPosition(CONTAINER_X, CONTAINER_Y);\r
- // container->SetWidth(HORIZONTAL_RESOLUTION);\r
- // container->SetHeight(VERTICAL_RESOLUTION);\r
-\r
- // labelText = new UILabel();\r
- // if (container == nullptr) {\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmJudgeView:: new labelText fail");\r
- // return nullptr;\r
- // }\r
- // labelText->SetPosition(MAX_LABEL_X_LEN, MAX_LABEL_Y_LEN, MAX_LABEL_LENGTH_LEN, MAX_LABEL_WIDTH_LEN);\r
- // labelText->SetText(DELETE_INETERFACES);\r
- // labelText->SetFont(DEFAULT_VECTOR_FONT_FILENAME, MAX_LABEL_FONT_LEN);\r
- // container->Add(labelText);\r
-\r
- // CreateImage();\r
- // return container;\r
-\r
return InitDeleteScreen();\r
}\r
\r
return nullptr;\r
\r
DeleteGroup_->SetPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);\r
- // DeleteGroup_->SetViewId(SCHEDULE_ViewId_DeleteGroup_);\r
DeleteGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
DeleteGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
- // DeleteGroup_->SetTouchable(true);\r
- // DeleteGroup_->SetDraggable(true);\r
- // DeleteGroup_->SetOnDragListener(presenter_);\r
\r
if(nullptr == DeleteTitleLabelExt_)\r
{\r
alarmMin = 0;
dClockNum = 0;
weekStatus = 0;
- // delete addButton;
- // addButton = nullptr;
if(group)
{
group->ClearFocus();
delete maxClockView;
maxClockView = nullptr;
}
- if(statusListener)
- {
- delete statusListener;
- statusListener = nullptr;
- }
if(nullptr != TitleLabelExt_)
{
delete TitleLabelExt_;
delete dLabel[alarmNum];
dLabel[alarmNum] = nullptr;
}
+ if(statusListener[alarmNum] != nullptr)
+ {
+ delete statusListener[alarmNum];
+ statusListener[alarmNum] = nullptr;
+ }
delete SwipeViewItem_[alarmNum][0];
SwipeViewItem_[alarmNum][0] = nullptr;
// statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, alarmNum);
// statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_COLOR, 0xff29b862);
// statusButton[alarmNum]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
- if(statusListener == nullptr){
- statusListener = new AlarmStatusBtnChangeListener(reinterpret_cast<UIView*>(statusButton[alarmNum]));
+ if(statusListener[alarmNum] == nullptr){
+ statusListener[alarmNum] = new AlarmStatusBtnChangeListener(reinterpret_cast<UIView*>(statusButton[alarmNum]));
if (statusListener == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainAlarmView::NewStatusButton statusListener nullptr!");
return nullptr;
}
}
- statusButton[alarmNum]->SetOnChangeListener((UICheckBox::OnChangeListener *)statusListener);
+ statusButton[alarmNum]->SetOnChangeListener((UICheckBox::OnChangeListener *)statusListener[alarmNum]);
/* ----------------------------------- Add ---------------------------------- */
TempGroup_->Add(dClock[alarmNum]);
TempGroup_->Add(dLabel[alarmNum]);