\r
TraingSetView *TraingSetView::GetInstance()\r
{\r
-\r
return g_pTraingSetView;\r
}\r
\r
/* InitView:初始化界面*/\r
void TraingSetView ::InitView()\r
{\r
- if (SetTagScrollView[SET_VIEW] == nullptr)\r
+ if (group == nullptr)\r
{\r
- SetTagScrollView[SET_VIEW] = new UIScrollView();\r
- SetTagScrollView[SET_VIEW]->SetPosition(0, 0, 466, 466);\r
- SetTagScrollView[SET_VIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+ group = new UIScrollView();\r
+ group->SetPosition(0, 0, 466, 466);\r
+ group->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
}\r
// 初始化Button\r
InitButton(butTime, 43, 120, 380, 100, BUTTONTIME);\r
butDistance->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetPresenter::GetInstance()));\r
butSteps->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetPresenter::GetInstance()));\r
\r
- SetTagScrollView[SET_VIEW]->Add(butTime);\r
- SetTagScrollView[SET_VIEW]->Add(butKcal);\r
- SetTagScrollView[SET_VIEW]->Add(butDistance);\r
- SetTagScrollView[SET_VIEW]->Add(butSteps);\r
+ group->Add(butTime);\r
+ group->Add(butKcal);\r
+ group->Add(butDistance);\r
+ group->Add(butSteps);\r
// 初始化Lable\r
UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent();\r
InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
InitLabelExt(labelTime, 100, 150, 150, 35, "label2", STR_DURATION, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
InitLabelExt(labelKcal, 100, 270, 150, 35, "label4", STR_CALORIE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
InitLabelExt(labelDistance, 100, 390, 150, 35, "label3", STR_DISTANCE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
InitLabelExt(labelSteps, 100, 510, 150, 35, "label5", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
- SetTagScrollView[SET_VIEW]->Add(labeltitle);\r
- SetTagScrollView[SET_VIEW]->Add(labelTime);\r
- SetTagScrollView[SET_VIEW]->Add(labelKcal);\r
- SetTagScrollView[SET_VIEW]->Add(labelDistance);\r
- SetTagScrollView[SET_VIEW]->Add(labelSteps);\r
+ group->Add(labeltitle);\r
+ group->Add(labelTime);\r
+ group->Add(labelKcal);\r
+ group->Add(labelDistance);\r
+ group->Add(labelSteps);\r
\r
// 初始化Image\r
InitImageView(imagetime, 70, 150, 100, 100, "image1", TIME_IMAGE);\r
InitImageView(imagicon3, 380, 400, 100, 100, "image3", ICON_IMAGE);\r
InitImageView(imagicon4, 380, 520, 100, 100, "image4", ICON_IMAGE);\r
\r
- SetTagScrollView[SET_VIEW]->Add(imagetime);\r
- SetTagScrollView[SET_VIEW]->Add(imagcal);\r
- SetTagScrollView[SET_VIEW]->Add(imagedistance);\r
- SetTagScrollView[SET_VIEW]->Add(imagesteps);\r
+ group->Add(imagetime);\r
+ group->Add(imagcal);\r
+ group->Add(imagedistance);\r
+ group->Add(imagesteps);\r
\r
- SetTagScrollView[SET_VIEW]->Add(imagicon1);\r
- SetTagScrollView[SET_VIEW]->Add(imagicon2);\r
- SetTagScrollView[SET_VIEW]->Add(imagicon3);\r
- SetTagScrollView[SET_VIEW]->Add(imagicon4);\r
+ group->Add(imagicon1);\r
+ group->Add(imagicon2);\r
+ group->Add(imagicon3);\r
+ group->Add(imagicon4);\r
}\r
/* DeInit:删除组件 */\r
void TraingSetView::DeInit()\r
{\r
- SetTagScrollView[SET_VIEW]->RemoveAll();\r
+ group->RemoveAll();\r
// 删除Label\r
if (labeltitle != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(labeltitle);\r
+ group->Remove(labeltitle);\r
delete labeltitle;\r
labeltitle = nullptr;\r
}\r
if (labelTime != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(labelTime);\r
+ group->Remove(labelTime);\r
delete labelTime;\r
labelTime = nullptr;\r
}\r
if (labelKcal != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(labelKcal);\r
+ group->Remove(labelKcal);\r
delete labelKcal;\r
labelKcal = nullptr;\r
}\r
if (labelSteps != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(labelSteps);\r
+ group->Remove(labelSteps);\r
delete labelSteps;\r
labelSteps = nullptr;\r
}\r
if (labelDistance != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(labelDistance);\r
+ group->Remove(labelDistance);\r
delete labelDistance;\r
labelDistance = nullptr;\r
}\r
// 删除Button\r
if (butTime != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(butTime);\r
+ group->Remove(butTime);\r
delete butTime;\r
butTime = nullptr;\r
}\r
if (butKcal != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(butKcal);\r
+ group->Remove(butKcal);\r
delete butKcal;\r
butKcal = nullptr;\r
}\r
if (butDistance != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(butDistance);\r
+ group->Remove(butDistance);\r
delete butDistance;\r
butDistance = nullptr;\r
}\r
if (butSteps != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(butSteps);\r
+ group->Remove(butSteps);\r
delete butSteps;\r
butSteps = nullptr;\r
}\r
// 删除Image\r
if (imagetime != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagetime);\r
+ group->Remove(imagetime);\r
delete imagetime;\r
imagetime = nullptr;\r
}\r
if (imagcal != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagcal);\r
+ group->Remove(imagcal);\r
delete imagcal;\r
imagcal = nullptr;\r
}\r
if (imagedistance != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagedistance);\r
+ group->Remove(imagedistance);\r
delete imagedistance;\r
imagedistance = nullptr;\r
}\r
if (imagesteps != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagesteps);\r
+ group->Remove(imagesteps);\r
delete imagesteps;\r
imagesteps = nullptr;\r
}\r
\r
if (imagicon1 != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagicon1);\r
+ group->Remove(imagicon1);\r
delete imagicon1;\r
imagicon1 = nullptr;\r
}\r
if (imagicon2 != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagicon2);\r
+ group->Remove(imagicon2);\r
delete imagicon2;\r
imagicon2 = nullptr;\r
}\r
if (imagicon3 != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagicon3);\r
+ group->Remove(imagicon3);\r
delete imagicon3;\r
imagicon3 = nullptr;\r
}\r
if (imagicon4 != nullptr)\r
{\r
- SetTagScrollView[SET_VIEW]->Remove(imagicon4);\r
+ group->Remove(imagicon4);\r
delete imagicon4;\r
imagicon4 = nullptr;\r
}\r
\r
- if (setcalories != nullptr)\r
- {\r
- delete setcalories;\r
- setcalories = nullptr;\r
- }\r
- if (settime != nullptr)\r
- {\r
- delete settime;\r
- settime = nullptr;\r
- }\r
- if (setmile != nullptr)\r
- {\r
- delete setmile;\r
- setmile = nullptr;\r
- }\r
- if (setstep != nullptr)\r
- {\r
- delete setstep;\r
- setstep = nullptr;\r
- }\r
+ delete group;\r
+ group = nullptr;\r
+ delete setcalories;\r
+ setcalories = nullptr;\r
+ delete settime;\r
+ settime = nullptr;\r
+ delete setmile;\r
+ setmile = nullptr;\r
+ delete setstep;\r
+ setstep = nullptr;\r
\r
- // 删除容器\r
- if (SetTagScrollView[SET_VIEW] != nullptr)\r
+ // 删除数组\r
+ for (int tagnum = SET_VIEW; tagnum < MAX_SETVIEW; tagnum++)\r
{\r
- SetTagScrollView[SET_VIEW]->RemoveAll(); // 移除容器中的所有组件\r
- delete SetTagScrollView[SET_VIEW];\r
- SetTagScrollView[SET_VIEW] = nullptr;\r
+ SetTagScrollView[tagnum] = nullptr;\r
}\r
+\r
+ g_pTraingSetView = nullptr;\r
}\r
\r
// 跳转到设置选项列表\r
{\r
if (SetTagScrollView[thisview] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetView");\r
+ if (group == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView:: new container[%d] fail", thisview);\r
+ return false;\r
+ }\r
RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
return true;\r
{\r
if (SetTagScrollView[thisview] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetCaloriesView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetCaloriesView");\r
setcalories = new TrainingSetCaluliView();\r
if (setcalories == nullptr)\r
{\r
SetTagScrollView[thisview] = setcalories->SetCaluliViewInit();\r
RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetTagScrollView[%d] is not null", thisview);\r
return true;\r
}\r
bool TraingSetView::ChangeSetDurationView(int16_t thisview)\r
{\r
if (SetTagScrollView[thisview] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDurationView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDurationView");\r
settime = new TrainingSetTimeView();\r
if (settime == nullptr)\r
{\r
SetTagScrollView[thisview] = settime->SetTimeViewInit();\r
RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetTagScrollView[%d] is not null", thisview);\r
return true;\r
}\r
bool TraingSetView::ChangeSetDistanceView(int16_t thisview)\r
{\r
if (SetTagScrollView[thisview] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDistanceView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDistanceView");\r
setmile = new TrainingSetMileView();\r
if (setmile == nullptr)\r
{\r
SetTagScrollView[thisview] = setmile->SetMileViewInit();\r
RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetTagScrollView[%d] is not null", thisview);\r
return true;\r
}\r
bool TraingSetView::ChangeSetStepsView(int16_t thisview)\r
{\r
if (SetTagScrollView[thisview] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDistanceView");\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetDistanceView");\r
setstep = new TrainingSetStepView();\r
if (setstep == nullptr)\r
{\r
SetTagScrollView[thisview] = setstep->SetStepViewInit();\r
RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetTagScrollView[%d] is not null", thisview);\r
return true;\r
}\r
/* -------------------------------------------------------------------------- */\r
// 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
- struct BloodViewMapper\r
+ struct SetViewMapper\r
{\r
const int16_t viewId;\r
bool (TraingSetView::*func)(int16_t thisView);\r
};\r
\r
// 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
- static const BloodViewMapper ViewMapper[] = {\r
+ static const SetViewMapper ViewMapper[] = {\r
{SET_VIEW, &TraingSetView::ChangeSetView},\r
{SET_CALORIES, &TraingSetView::ChangeSetCaloriesView},\r
{SET_DURATION, &TraingSetView::ChangeSetDurationView},\r
bool TraingSetView::ClickFunc(int16_t interface)\r
{\r
int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[SET_VIEW]);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "funcSize:%d interface:%d", funcSize, interface);\r
for (int i = 0; i < funcSize; i++)\r
{\r
if (interface == ViewMapper[i].viewId)\r
// 4.切换视图\r
void TraingSetView::ChangeView(int16_t hideView, int16_t showView)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "hideview:%d showview:%d", hideView, showView);\r
if (hideView > MAX_SETVIEW)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodView:: BloodViewId Overstep ones bounds");\r
return;\r
}\r
- SetTagScrollView[hideView]->SetVisible(false);\r
- ClickFunc(showView);\r
- SetTagScrollView[showView]->SetVisible(true);\r
- SetCurrentViewId(showView); // 切换页面更换成目标ID\r
- Draw();\r
+ if (ClickFunc(showView))\r
+ {\r
+ SetTagScrollView[hideView]->SetVisible(false);\r
+ if (SetTagScrollView[showView] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "set new view %d is error!", showView);\r
+ return;\r
+ }\r
+ SetTagScrollView[showView]->SetVisible(true);\r
+ SetCurrentViewId(showView); // 切换页面更换成目标ID\r
+ Draw();\r
+ }\r
}\r
/* -------------------------------------------------------------------------- */\r
void TraingSetView::PreLoad(void)\r
}\r
void TraingSetView::OnStart()\r
{\r
- SetTagScrollView[SET_VIEW] = new UIScrollView();\r
- if (SetTagScrollView[SET_VIEW] == nullptr)\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingSetView::OnStart");\r
+ View<TraingSetPresenter>::OnStart();\r
+ BaseView::RootView(Color::Black().full);\r
+\r
+ group = new UIScrollView();\r
+ if (group == nullptr)\r
{\r
return;\r
}\r
- SetTagScrollView[SET_VIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- SetTagScrollView[SET_VIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SetTagScrollView[SET_VIEW]->SetScrollBlankSize(50);\r
- SetTagScrollView[SET_VIEW]->SetReboundSize(100);\r
- SetTagScrollView[SET_VIEW]->SetDirection(1);\r
+ group->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ group->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ group->SetScrollBlankSize(50);\r
+ group->SetReboundSize(100);\r
+ group->SetDirection(1);\r
\r
// 创建 draglistener 实例并设置为拖动监听器\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(TraingSetPresenter::GetInstance());\r
{\r
return;\r
}\r
- SetTagScrollView[SET_VIEW]->SetOnDragListener(draglistener);\r
- SetTagScrollView[SET_VIEW]->SetTouchable(true);\r
- SetTagScrollView[SET_VIEW]->SetDraggable(true);\r
+ group->SetOnDragListener(draglistener);\r
+ group->SetTouchable(true);\r
+ group->SetDraggable(true);\r
\r
PreLoad();\r
- RootView::GetInstance()->Add(SetTagScrollView[SET_VIEW]);\r
- SetCurrentViewId(SET_VIEW); // 设置当前页面ID\r
+ // RootView::GetInstance()->Add(SetTagScrollView[SET_VIEW]);\r
+ // SetCurrentViewId(SET_VIEW); // 设置当前页面ID\r
}\r
\r
void TraingSetView::OnSetUpView()\r
{\r
-\r
View<TraingSetPresenter>::OnSetUpView();\r
+ if (group != nullptr)\r
+ {\r
+ SetTagScrollView[SET_VIEW] = group;\r
+ RootView::GetInstance()->Add(SetTagScrollView[SET_VIEW]);\r
+ SetCurrentViewId(SET_VIEW);\r
+ }\r
Draw();\r
}\r
\r
void TraingSetView::OnStop()\r
{\r
View<TraingSetPresenter>::OnStop();\r
+\r
+ if (container_ != nullptr)\r
+ {\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
+ }\r
+ group->RemoveAll();\r
RootView::GetInstance()->RemoveAll();\r
return;\r
}\r