#define EVEN_ITEM_TIME_COLOR (0Xffffc28b)
#define IMAGE_ITEM_ARROW "/user/res/Schedule/IMAGE_ITEM_ARROW.bin"
- // #define IMAGE_ITEM_ARROW "/user/res/settings/SETTINGS_DISPLAY_MODE.bin"
};
}
#endif
ScheduleModel &operator=(const ScheduleModel &) = delete;\r
\r
void ScheduleDataItemCountSet(uint8_t count);\r
- void ScheduleDataToInfo(void);\r
+ void ScheduleDataToInfo(uint8_t DataCount);\r
\r
ScheduleRevData ScheduleRevData_[SCHEDULE_DATA_COUNT_MAX] = {nullptr, nullptr, nullptr, nullptr};\r
ScheduleListItemInfo ScheduleDataInfo_[SCHEDULE_DATA_COUNT_MAX*2] = {nullptr, nullptr, nullptr, nullptr, 0, false, 0, 0};\r
{\r
class ScheduleView;\r
class ScheduleModel;\r
- class SchedulePresenter : public Presenter<ScheduleView, ScheduleModel>,\r
+ class SchedulePresenter : public Presenter<ScheduleView>,\r
public UIView::OnClickListener,\r
public UIView::OnDragListener,\r
public RootView::OnKeyActListener\r
\r
if(true == is_finish)\r
{\r
- ScheduleDataToInfo();\r
+ uint8_t DataCount = index + 1;\r
+ ScheduleDataToInfo(DataCount);\r
}\r
}\r
\r
- void ScheduleModel::ScheduleDataToInfo(void)\r
+ void ScheduleModel::ScheduleDataToInfo(uint8_t DataCount)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo,%d", DataCount);\r
uint8_t i = 0;\r
uint8_t j = 0;\r
- uint8_t count = 0;\r
\r
memset(ScheduleDataInfo_, 0x0, sizeof(ScheduleListItemInfo) * SCHEDULE_DATA_COUNT_MAX*2);\r
\r
- count = 1;\r
-\r
- for(i = 0, j = 0; i < count; i++)\r
+ for(i = 0, j = 0; i < DataCount; i++)\r
{\r
if(0 == i)\r
{\r
}\r
else\r
{\r
+ j++;\r
ScheduleDataInfo_[j].DateStr.assign(ScheduleRevData_[i].date);\r
ScheduleDataInfo_[j].index = j;\r
ScheduleDataInfo_[j].is_date_item = true;\r
ScheduleDataInfo_[j].child_index = 0;\r
}\r
}\r
- \r
+ \r
if((SCHEDULE_DATA_COUNT_MAX * 2) <= j)\r
{\r
break;\r
}\r
}\r
\r
- ScheduleDataItemCountSet(j + 1);\r
+ uint8_t ItemCount = j + 1;\r
+ ScheduleDataItemCountSet(ItemCount);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo,%d,%s", j, ScheduleDataInfo_[0].DateStr.c_str());\r
}\r
\r
-\r
+ // c func\r
void C_ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish)\r
{\r
ScheduleModel::GetInstance().ScheduleSetByApp(data, index, is_finish);\r
\r
int C_ScheduleDataReadFromFile()\r
{\r
+\r
+\r
return 0;\r
}\r
\r
int C_ScheduleDataWriteToFile()\r
{\r
+\r
+\r
return 0;\r
}\r
+\r
}\r
void SchedulePresenter::OnStart()\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnStart");\r
- Presenter<ScheduleView, ScheduleModel>::OnStart();\r
+ Presenter<ScheduleView>::OnStart();\r
}\r
\r
// 页面已经展示后的调用逻辑\r
void SchedulePresenter::OnResume(void)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnResume");\r
- Presenter<ScheduleView, ScheduleModel>::OnResume();\r
+ Presenter<ScheduleView>::OnResume();\r
if (nullptr == view_)\r
{\r
return;\r
void SchedulePresenter::OnPause(void)\r
{\r
// WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnPause");\r
- Presenter<ScheduleView, ScheduleModel>::OnPause();\r
+ Presenter<ScheduleView>::OnPause();\r
}\r
\r
// 页面完全置于后台时的逻辑。\r
void SchedulePresenter::OnStop(void)\r
{\r
// WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnStop");\r
- Presenter<ScheduleView, ScheduleModel>::OnStop();\r
+ Presenter<ScheduleView>::OnStop();\r
}\r
\r
bool SchedulePresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
UNUSED(event);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnClick");\r
-\r
+#if 0\r
if (nullptr == &view) \r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:OnClick", __LINE__);\r
ScheduleListItem * item = static_cast<ScheduleListItem *>(&view);\r
view_->DisplayContentScreen(item->GetViewIndex());\r
}\r
+#endif\r
return true;\r
}\r
\r
delete DataGroup_;\r
DataGroup_ = nullptr;\r
}\r
+ if(nullptr != ContentGroup_)\r
+ {\r
+ ContentGroup_->RemoveAll();\r
+ if(nullptr != ContentLabelExt0_)\r
+ {\r
+ delete ContentLabelExt0_;\r
+ ContentLabelExt0_ = nullptr;\r
+ }\r
+ if(nullptr != ContentLabelExt1_)\r
+ {\r
+ delete ContentLabelExt1_;\r
+ ContentLabelExt1_ = nullptr;\r
+ }\r
+ if(nullptr != ContentLabelExt2_)\r
+ {\r
+ delete ContentLabelExt2_;\r
+ ContentLabelExt2_ = nullptr;\r
+ }\r
+ if(nullptr != ContentLabelExt3_)\r
+ {\r
+ delete ContentLabelExt3_;\r
+ ContentLabelExt3_ = nullptr;\r
+ }\r
+ if(nullptr != ContentButton0_)\r
+ {\r
+ delete ContentButton0_;\r
+ ContentButton0_ = nullptr;\r
+ }\r
+ if(nullptr != ContentButton1_)\r
+ {\r
+ delete ContentButton1_;\r
+ ContentButton1_ = nullptr;\r
+ }\r
+ \r
+ delete ContentGroup_;\r
+ ContentGroup_ = nullptr;\r
+ }\r
+\r
delete container_;\r
container_ = nullptr;\r
}\r
}\r
}\r
\r
+#if 0\r
+ void ScheduleView::_DisplayMainScreen(uint8_t ScreenIndex)\r
+ {\r
+ if(ENUM_SCHEDULE_MAX_SCREEN =< ScreenIndex)\r
+ {\r
+ return;\r
+ }\r
+\r
+ uint8_t i = 0;\r
+ for(i = 0; i < ENUM_SCHEDULE_MAX_SCREEN; i++)\r
+ {\r
+ if(i == ScreenIndex)\r
+ {\r
+ GroupArray_[i]->SetVisible(true);\r
+ }\r
+ else\r
+ {\r
+ GroupArray_[i]->SetVisible(false);\r
+ }\r
+ }\r
+\r
+ if(ENUM_SCHEDULE_LIST_SCREEN == ScreenIndex)\r
+ {\r
+ GroupArray_[ENUM_SCHEDULE_LIST_SCREEN]->RefreshList();\r
+ }\r
+ }\r
+#endif\r
+\r
void ScheduleView::DisplayContentScreen(uint8_t index)\r
{\r
NoDataGroup_->SetVisible(false);\r
}\r
}\r
ScheduleList_->SetPosition(LIST_LEFT, LIST_TOP, LIST_WIDTH, LIST_HEIGHT);\r
- // ScheduleList_->SetScrollBlankSize(30);\r
// ScheduleList_->SetSelectPosition(VERTICAL_RESOLUTION / 2);\r
ScheduleList_->SetDraggable(true);\r
ScheduleList_->SetThrowDrag(true);\r
ScheduleList_->SetDragACCLevel(5); // 5: drag acceleration\r
ScheduleList_->SetYScrollBarVisible(false);\r
\r
+ ScheduleList_->SetScrollBlankSize(40);\r
+ ScheduleList_->SetReboundSize(30);\r
+\r
ScheduleList_->SetRotateFactor(2); // 增加表冠控制\r
ScheduleList_->RequestFocus();\r
\r