schedule ui 785/3 785/head
authorcheng <chengyf@zhihuishixun.com>
Sat, 24 Aug 2024 11:25:13 +0000 (19:25 +0800)
committercheng <chengyf@zhihuishixun.com>
Sat, 24 Aug 2024 11:25:13 +0000 (19:25 +0800)
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleListAdapter.h
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleListItem.h
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleView.h
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleListAdapter.cpp
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleListItem.cpp
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp
code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleView.cpp

index e98c1ff..e60be86 100644 (file)
@@ -20,6 +20,7 @@ namespace OHOS
         UIView * GetView(UIView * inView, int16_t index) override;
         uint16_t GetCount() override;
         void AddListItem(const ScheduleListItemInfo &item);
+        void ClearListItem(void);
 
         void SetItemClickListener(UIView::OnClickListener *itemClickListener);
 
index 222fcba..8050861 100644 (file)
@@ -16,11 +16,10 @@ namespace OHOS
         std::string DateStr;
         std::string TopicStr;
         std::string TimeStr;
-        std::string DataStr;
-        uint8_t index;
-        bool is_date_item;
-        uint8_t child_num; // if(true == is_date_item)
-        uint8_t child_index;  // if(false == is_date_item)
+        std::string ContentStr;
+        uint8_t OriginalDataIndex;
+        bool IsDateItem;
+        uint8_t ChildIndex;  // if(false == IsDateItem)
     } ScheduleListItemInfo;
 
 
index 14ab886..2028510 100644 (file)
@@ -13,16 +13,18 @@ namespace OHOS
     {\r
     public:\r
         static ScheduleModel &GetInstance(void);\r
-        bool ScheduleDataIsEmpty(void);\r
-        ScheduleListItemInfo * ScheduleDataInfoGet(void);\r
-        uint8_t ScheduleDataItemCountGet(void);\r
 \r
-        std::string ScheduleInfoDateStrGet(uint8_t index);\r
-        std::string ScheduleInfoTopicStrGet(uint8_t index);\r
-        std::string ScheduleInfoTimeStrGet(uint8_t index);\r
-        std::string ScheduleInfoDataStrGet(uint8_t index);\r
+        ScheduleListItemInfo * ScheduleAllItemDataGet(void);\r
+        uint8_t ScheduleItemDataCountGet(void);\r
+        uint8_t ScheduleOriginalDataCountGet(void);\r
 \r
-        void ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish);\r
+        std::string ScheduleItemDataDateStrGet(uint8_t index);\r
+        std::string ScheduleItemDataTopicStrGet(uint8_t index);\r
+        std::string ScheduleItemDataTimeStrGet(uint8_t index);\r
+        std::string ScheduleItemDataContentStrGet(uint8_t index);\r
+        \r
+        void ScheduleOriginalDataSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish);\r
+        void ScheduleOriginalDataSetByUI(uint8_t index);\r
 \r
     private:\r
         ScheduleModel();\r
@@ -30,12 +32,16 @@ namespace OHOS
         ScheduleModel(const ScheduleModel &) = delete;\r
         ScheduleModel &operator=(const ScheduleModel &) = delete;\r
 \r
-        void ScheduleDataItemCountSet(uint8_t count);\r
-        void ScheduleDataToInfo(uint8_t DataCount);\r
+        void ScheduleItemDataCountSet(uint8_t count);\r
+        void ScheduleOriginalDataCountSet(uint8_t count);\r
+        void ScheduleOriginalDataToItemData(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
+        // original data\r
+        ScheduleRevData ScheduleOriginalData_[SCHEDULE_DATA_COUNT_MAX] = {nullptr, nullptr, nullptr, nullptr};\r
+        // item data\r
+        ScheduleListItemInfo ScheduleItemData_[SCHEDULE_DATA_COUNT_MAX*2] = {nullptr, nullptr, nullptr, nullptr, 0, false, 0};\r
         uint8_t ItemCount_{0};\r
+        uint8_t DataCount_{0};\r
     };\r
 }\r
 \r
index d6faf5c..940fb0f 100644 (file)
@@ -9,7 +9,8 @@
 #include "components/ui_image_view.h"\r
 #include "components/ui_list.h"\r
 #include "components/ui_scroll_view.h"\r
-#include "components/ui_button.h"\r
+// #include "components/ui_button.h"\r
+#include "components/ui_label_button_ext.h"\r
 #include "common/screen.h"\r
 #include "ui_resource_string.h"\r
 \r
 \r
 namespace OHOS\r
 {\r
-    typedef enum\r
-    {\r
-        ENUM_SCHEDULE_NO_DATA_SCREEN,\r
-        ENUM_SCHEDULE_LIST_SCREEN,\r
-        ENUM_SCHEDULE_CONTENT_SCREEN,\r
-        ENUM_SCHEDULE_DELETE_SCREEN,\r
+    #define SCHEDULE_ViewId_NoDataGroup_ "SCHEDULE_ViewId_ContentDeleteButton_"\r
+    #define SCHEDULE_ViewId_DataGroup_ "SCHEDULE_ViewId_DataGroup_"\r
+    #define SCHEDULE_ViewId_ContentGroup_ "SCHEDULE_ViewId_ContentGroup_"\r
+    #define SCHEDULE_ViewId_DeleteGroup_ "SCHEDULE_ViewId_DeleteGroup_"\r
 \r
-        ENUM_SCHEDULE_MAX_SCREEN\r
-    }ENUM_SCHEDULE_SCREEN;\r
+    #define SCHEDULE_ViewId_ContentDeleteButton_ "SCHEDULE_ViewId_ContentDeleteButton_"\r
+    #define SCHEDULE_ViewId_ContentCloseButton_ "SCHEDULE_ViewId_ContentCloseButton_"\r
+    #define SCHEDULE_ViewId_DeleteCancelButton_ "SCHEDULE_ViewId_DeleteCancelButton_"\r
+    #define SCHEDULE_ViewId_DeleteOKButton_ "SCHEDULE_ViewId_DeleteOKButton_"\r
 \r
     class SchedulePresenter;\r
     class ScheduleView : public View<SchedulePresenter>\r
@@ -42,17 +43,22 @@ namespace OHOS
         void OnSetUpView() override;\r
         void OnTearDownView() override;\r
         void OnStop() override;\r
-        void AddItemToList(const ScheduleListItemInfo &item);\r
-        void DisplayContentScreen(uint8_t index);\r
+\r
+        void ItemListAdd(const ScheduleListItemInfo &item);\r
+        void ItemListClear(void);\r
+        void ItemListContentUpdate(void);\r
+        \r
+        void ContentScreenItemIndexSet(uint8_t index);\r
+        uint8_t ContentScreenItemIndexGet(void);\r
+\r
+        void DisplayDataOrNoScreen(void);\r
+        void DisplayContentScreen(void);\r
+        void DisplayDeleteScreen(void);\r
 \r
     private:\r
         UIViewGroup * InitNoDataScreen();\r
-        UIViewGroup * InitDataScreen();\r
         UILabelExt * InitLabel(int16_t x, int16_t y, int16_t width, int16_t height,\r
                                 uint16_t line_height, uint8_t font_size, uint16_t text_id, uint32_t text_color);\r
-        void DisplayMainScreen(void);\r
-\r
-        UIScrollView * InitContentScreen();\r
 \r
         UIViewGroup * NoDataGroup_{nullptr};\r
         UILabelExt * LabelExt0_{nullptr};\r
@@ -60,24 +66,54 @@ namespace OHOS
         UILabelExt * LabelExt1_{nullptr};\r
         UILabelExt * LabelExt2_{nullptr};\r
 \r
+\r
+        UIViewGroup * InitDataScreen();\r
         UIViewGroup * DataGroup_{nullptr};\r
         UIList * ScheduleList_{nullptr};\r
         ScheduleListAdapter * ScheduleListAdapter_{nullptr};\r
 \r
-        UIScrollView * ContentGroup_{nullptr};\r
-        UILabelExt * ContentLabelExt0_{nullptr};\r
-        UILabelExt * ContentLabelExt1_{nullptr};\r
-        UILabelExt * ContentLabelExt2_{nullptr};\r
-        UILabelExt * ContentLabelExt3_{nullptr};\r
-        UIButton * ContentButton0_{nullptr};\r
-        UIButton * ContentButton1_{nullptr};\r
-\r
-        UIViewGroup * GroupArray_[ENUM_SCHEDULE_MAX_SCREEN]{nullptr};\r
 \r
+        UIScrollView * InitContentScreen();\r
+        UIScrollView * ContentGroup_{nullptr};\r
+        UILabelExt * ContentDateLabelExt_{nullptr};\r
+        UILabelExt * ContentTopicLabelExt_{nullptr};\r
+        UILabelExt * ContentTopicLabelExt1_{nullptr};\r
+        UILabelExt * ContentTimeLabelExt_{nullptr};\r
+        UILabelExt * ContentTimeLabelExt1_{nullptr};\r
+        UILabelExt * ContentContentLabelExt_{nullptr};\r
+        UILabelExt * ContentContentLabelExt1_{nullptr};\r
+        UILabelButtonExt * ContentDeleteButton_{nullptr};\r
+        UILabelButtonExt * ContentCloseButton_{nullptr};\r
+        uint8_t ContentItemIndex_{0};\r
+\r
+\r
+        UIViewGroup * InitDeleteScreen();\r
+        UIViewGroup * DeleteGroup_{nullptr};\r
+        UILabelExt * DeleteTitleLabelExt_{nullptr};\r
+        UILabelExt * DeletePromptLabelExt_{nullptr};\r
+        UILabelButtonExt * DeleteCancelButton_{nullptr};\r
+        UILabelButtonExt * DeleteOKButton_{nullptr};\r
+\r
+\r
+        void DisplaySelectScreen(uint8_t ScreenIndex);\r
+        typedef enum\r
+        {\r
+            ENUM_SCHEDULE_SCREEN_NO_DATA,\r
+            ENUM_SCHEDULE_SCREEN_LIST,\r
+            ENUM_SCHEDULE_SCREEN_CONTENT,\r
+            ENUM_SCHEDULE_SCREEN_DELETE,\r
+\r
+            ENUM_SCHEDULE_SCREEN_MAX\r
+        }ENUM_SCHEDULE_SCREEN;\r
+        UIViewGroup * ScreenGroupArray_[ENUM_SCHEDULE_SCREEN_MAX]{nullptr};\r
+\r
+\r
+        #define SCREEN_WIDTH (Screen::GetInstance().GetWidth())\r
+        #define SCREEN_HEIGHT (Screen::GetInstance().GetHeight())\r
         #define LIST_LEFT (43)\r
         #define LIST_TOP (50)\r
-        #define LIST_WIDTH (Screen::GetInstance().GetWidth() - LIST_LEFT * 2)\r
-        #define LIST_HEIGHT (Screen::GetInstance().GetHeight() - LIST_TOP * 2)\r
+        #define LIST_WIDTH (SCREEN_WIDTH - LIST_LEFT * 2)\r
+        #define LIST_HEIGHT (SCREEN_HEIGHT - LIST_TOP * 2)\r
 \r
         #define NO_DATA_IMAGE "/user/res/Schedule/schedule_no_data.bin"\r
     };\r
index d1312f2..2b4477d 100644 (file)
@@ -73,6 +73,11 @@ namespace OHOS
         nodeList_.PushBack(item);
     }
 
+    void ScheduleListAdapter::ClearListItem(void)
+    {
+        nodeList_.Clear();
+    }
+
     void ScheduleListAdapter::SetItemClickListener(UIView::OnClickListener *itemClickListener)
     {
         itemClickListener_ = itemClickListener;
index b53ed61..33e57ba 100644 (file)
@@ -50,7 +50,7 @@ namespace OHOS
 
         Image_.SetPosition(326, 37, 14, 26);
         Image_.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
-        Image_.SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+        Image_.SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
         Image_.SetResizeMode(UIImageView::CENTER);
         Image_.SetAutoEnable(false);
         Image_.SetSrc(IMAGE_ITEM_ARROW);
@@ -65,17 +65,18 @@ namespace OHOS
     ScheduleListItem::~ScheduleListItem()
     {
         RemoveAll();
+        InfoGroup_.RemoveAll();
     }
 
     void ScheduleListItem::SetItemInfo(const ScheduleListItemInfo &itemInfo)
     {
-        if(true == itemInfo.is_date_item)
+        if(true == itemInfo.IsDateItem)
         {
             LabelExtDate_.SetText(itemInfo.DateStr.c_str());
         }
         else
         {
-            if(0 == (itemInfo.child_index % 2))
+            if(0 == (itemInfo.ChildIndex % 2))
             {
                 LabelExtTopic_.SetText(itemInfo.TopicStr.c_str());
                 LabelExtTime_.SetText(itemInfo.TimeStr.c_str());
@@ -90,13 +91,14 @@ namespace OHOS
 
     void ScheduleListItem::ResetItemStyle(const ScheduleListItemInfo &itemInfo)
     {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:ResetItemStyle,%d,%d,%d",
-                                    __LINE__, itemInfo.is_date_item, itemInfo.child_num, itemInfo.child_index);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:ResetItemStyle,%d,%d",
+                                    __LINE__, itemInfo.IsDateItem, itemInfo.ChildIndex);
 
-        if(true == itemInfo.is_date_item)
+        if(true == itemInfo.IsDateItem)
         {
-            SetHeight(ITEM_HEIGHT);
+            // SetHeight(ITEM_HEIGHT- ITEM_GAP);
 
+            // InfoGroup_.SetHeight(ITEM_HEIGHT- ITEM_GAP);
             InfoGroup_.SetStyle(STYLE_BACKGROUND_COLOR, OHOS::Color::Black().full);
             InfoGroup_.SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
             InfoGroup_.SetTouchable(false);
@@ -108,7 +110,7 @@ namespace OHOS
         }
         else
         {
-            if(0 == (itemInfo.child_index % 2))
+            if(0 == (itemInfo.ChildIndex % 2))
             {
                 InfoGroup_.SetStyle(STYLE_BACKGROUND_COLOR, ODD_ITEM_BACKGROUND_COLOR);
                 InfoGroup_.SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
index 1ed145c..fbab247 100644 (file)
@@ -20,118 +20,140 @@ namespace OHOS
         return instance;\r
     }\r
 \r
-    bool ScheduleModel::ScheduleDataIsEmpty(void)\r
+    uint8_t ScheduleModel::ScheduleItemDataCountGet(void)\r
     {\r
-        if(0 == ItemCount_)\r
-            return true;\r
-        \r
-        return false;\r
+        return ItemCount_;\r
     }\r
 \r
-    uint8_t ScheduleModel::ScheduleDataItemCountGet(void)\r
+    void ScheduleModel::ScheduleItemDataCountSet(uint8_t count)\r
     {\r
-        return ItemCount_;\r
+        ItemCount_ = count;\r
     }\r
 \r
-    void ScheduleModel::ScheduleDataItemCountSet(uint8_t count)\r
+    uint8_t ScheduleModel::ScheduleOriginalDataCountGet(void)\r
     {\r
-        ItemCount_ = count;\r
+        return DataCount_;\r
     }\r
 \r
-    ScheduleListItemInfo * ScheduleModel::ScheduleDataInfoGet(void)\r
+    void ScheduleModel::ScheduleOriginalDataCountSet(uint8_t count)\r
     {\r
-        return ScheduleDataInfo_;\r
+        DataCount_ = count;\r
     }\r
 \r
-    std::string ScheduleModel::ScheduleInfoDateStrGet(uint8_t index)\r
+    ScheduleListItemInfo * ScheduleModel::ScheduleAllItemDataGet(void)\r
     {\r
-        return ScheduleDataInfo_[index].DateStr.c_str();\r
+        return ScheduleItemData_;\r
     }\r
 \r
-    std::string ScheduleModel::ScheduleInfoTopicStrGet(uint8_t index)\r
+    std::string ScheduleModel::ScheduleItemDataDateStrGet(uint8_t index)\r
     {\r
-        return ScheduleDataInfo_[index].TopicStr.c_str();\r
+        return ScheduleItemData_[index].DateStr.c_str();\r
     }\r
 \r
-    std::string ScheduleModel::ScheduleInfoTimeStrGet(uint8_t index)\r
+    std::string ScheduleModel::ScheduleItemDataTopicStrGet(uint8_t index)\r
     {\r
-        return ScheduleDataInfo_[index].TimeStr.c_str();\r
+        return ScheduleItemData_[index].TopicStr.c_str();\r
     }\r
 \r
-    std::string ScheduleModel::ScheduleInfoDataStrGet(uint8_t index)\r
+    std::string ScheduleModel::ScheduleItemDataTimeStrGet(uint8_t index)\r
     {\r
-        return ScheduleDataInfo_[index].DataStr.c_str();\r
+        return ScheduleItemData_[index].TimeStr.c_str();\r
     }\r
 \r
-    void ScheduleModel::ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish)\r
+    std::string ScheduleModel::ScheduleItemDataContentStrGet(uint8_t index)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleSetByApp,%d,%d", index, is_finish);\r
+        return ScheduleItemData_[index].ContentStr.c_str();\r
+    }\r
+\r
+    void ScheduleModel::ScheduleOriginalDataSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleOriginalDataSetByApp,%d,%d", index, is_finish);\r
 \r
-        ScheduleRevData_[index].date.assign(data->date);\r
-        ScheduleRevData_[index].topic.assign(data->topic);\r
-        ScheduleRevData_[index].time.assign(data->time);\r
-        ScheduleRevData_[index].content.assign(data->content);\r
+        ScheduleOriginalData_[index].date.assign(data->date);\r
+        ScheduleOriginalData_[index].topic.assign(data->topic);\r
+        ScheduleOriginalData_[index].time.assign(data->time);\r
+        ScheduleOriginalData_[index].content.assign(data->content);\r
 \r
         if(true == is_finish)\r
         {\r
             uint8_t DataCount = index + 1;\r
-            ScheduleDataToInfo(DataCount);\r
+            ScheduleOriginalDataCountSet(DataCount);\r
+            ScheduleOriginalDataToItemData(DataCount);\r
         }\r
     }\r
 \r
-    void ScheduleModel::ScheduleDataToInfo(uint8_t DataCount)\r
+    void ScheduleModel::ScheduleOriginalDataSetByUI(uint8_t index)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo,%d", DataCount);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleOriginalDataSetByUI,%d", index);\r
+\r
+        uint8_t DataCount = ScheduleOriginalDataCountGet();\r
+        uint8_t i = 0;\r
+        for(i = index; i < (DataCount - 1); i++)\r
+        {\r
+            ScheduleOriginalData_[i].date.assign(ScheduleOriginalData_[i + 1].date);\r
+            ScheduleOriginalData_[i].topic.assign(ScheduleOriginalData_[i + 1].topic);\r
+            ScheduleOriginalData_[i].time.assign(ScheduleOriginalData_[i + 1].time);\r
+            ScheduleOriginalData_[i].content.assign(ScheduleOriginalData_[i + 1].content);\r
+        }\r
+\r
+        DataCount -= 1;\r
+        ScheduleOriginalDataCountSet(DataCount);\r
+        ScheduleOriginalDataToItemData(DataCount);\r
+    }\r
+\r
+    void ScheduleModel::ScheduleOriginalDataToItemData(uint8_t DataCount)\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleOriginalDataToItemData,%d", DataCount);\r
         uint8_t i = 0;\r
         uint8_t j = 0;\r
 \r
-        memset(ScheduleDataInfo_, 0x0, sizeof(ScheduleListItemInfo) * SCHEDULE_DATA_COUNT_MAX*2);\r
+        memset(ScheduleItemData_, 0x0, sizeof(ScheduleListItemInfo) * SCHEDULE_DATA_COUNT_MAX*2);\r
 \r
         for(i = 0, j = 0; i < DataCount; i++)\r
         {\r
             if(0 == i)\r
             {\r
-                ScheduleDataInfo_[j].DateStr.assign(ScheduleRevData_[i].date);\r
-                ScheduleDataInfo_[j].index = j;\r
-                ScheduleDataInfo_[j].is_date_item = true;\r
+                ScheduleItemData_[j].DateStr.assign(ScheduleOriginalData_[i].date);\r
+                ScheduleItemData_[j].OriginalDataIndex = i;\r
+                ScheduleItemData_[j].IsDateItem = true;\r
 \r
                 j++;\r
-                ScheduleDataInfo_[j].DateStr.assign(ScheduleRevData_[i].date);\r
-                ScheduleDataInfo_[j].TopicStr.assign(ScheduleRevData_[i].topic);\r
-                ScheduleDataInfo_[j].TimeStr.assign(ScheduleRevData_[i].time);\r
-                ScheduleDataInfo_[j].DataStr.assign(ScheduleRevData_[i].content);\r
-                ScheduleDataInfo_[j].index = j;\r
-                ScheduleDataInfo_[j].is_date_item = false;\r
-                ScheduleDataInfo_[j].child_index = 0;\r
+                ScheduleItemData_[j].DateStr.assign(ScheduleOriginalData_[i].date);\r
+                ScheduleItemData_[j].TopicStr.assign(ScheduleOriginalData_[i].topic);\r
+                ScheduleItemData_[j].TimeStr.assign(ScheduleOriginalData_[i].time);\r
+                ScheduleItemData_[j].ContentStr.assign(ScheduleOriginalData_[i].content);\r
+                ScheduleItemData_[j].OriginalDataIndex = i;\r
+                ScheduleItemData_[j].IsDateItem = false;\r
+                ScheduleItemData_[j].ChildIndex = 0;\r
             }\r
             else\r
             {\r
-                if(0 == ScheduleRevData_[i].date.compare(ScheduleRevData_[i - 1].date))\r
+                if(0 == ScheduleOriginalData_[i].date.compare(ScheduleOriginalData_[i - 1].date))\r
                 {\r
                     j++;\r
-                    ScheduleDataInfo_[j].DateStr.assign(ScheduleRevData_[i].date);\r
-                    ScheduleDataInfo_[j].TopicStr.assign(ScheduleRevData_[i].topic);\r
-                    ScheduleDataInfo_[j].TimeStr.assign(ScheduleRevData_[i].time);\r
-                    ScheduleDataInfo_[j].DataStr.assign(ScheduleRevData_[i].content);\r
-                    ScheduleDataInfo_[j].index = j;\r
-                    ScheduleDataInfo_[j].is_date_item = false;\r
-                    ScheduleDataInfo_[j].child_index = ScheduleDataInfo_[i - 1].child_index + 1;\r
+                    ScheduleItemData_[j].DateStr.assign(ScheduleOriginalData_[i].date);\r
+                    ScheduleItemData_[j].TopicStr.assign(ScheduleOriginalData_[i].topic);\r
+                    ScheduleItemData_[j].TimeStr.assign(ScheduleOriginalData_[i].time);\r
+                    ScheduleItemData_[j].ContentStr.assign(ScheduleOriginalData_[i].content);\r
+                    ScheduleItemData_[j].OriginalDataIndex = i;\r
+                    ScheduleItemData_[j].IsDateItem = false;\r
+                    ScheduleItemData_[j].ChildIndex = ScheduleItemData_[j - 1].ChildIndex + 1;\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
+                    ScheduleItemData_[j].DateStr.assign(ScheduleOriginalData_[i].date);\r
+                    ScheduleItemData_[j].OriginalDataIndex = i;\r
+                    ScheduleItemData_[j].IsDateItem = true;\r
 \r
                     j++;\r
-                    ScheduleDataInfo_[j].DateStr.assign(ScheduleRevData_[i].date);\r
-                    ScheduleDataInfo_[j].TopicStr.assign(ScheduleRevData_[i].topic);\r
-                    ScheduleDataInfo_[j].TimeStr.assign(ScheduleRevData_[i].time);\r
-                    ScheduleDataInfo_[j].DataStr.assign(ScheduleRevData_[i].content);\r
-                    ScheduleDataInfo_[j].index = j;\r
-                    ScheduleDataInfo_[j].is_date_item = false;\r
-                    ScheduleDataInfo_[j].child_index = 0;\r
+                    ScheduleItemData_[j].DateStr.assign(ScheduleOriginalData_[i].date);\r
+                    ScheduleItemData_[j].TopicStr.assign(ScheduleOriginalData_[i].topic);\r
+                    ScheduleItemData_[j].TimeStr.assign(ScheduleOriginalData_[i].time);\r
+                    ScheduleItemData_[j].ContentStr.assign(ScheduleOriginalData_[i].content);\r
+                    ScheduleItemData_[j].OriginalDataIndex = i;\r
+                    ScheduleItemData_[j].IsDateItem = false;\r
+                    ScheduleItemData_[j].ChildIndex = 0;\r
                 }\r
             }\r
         \r
@@ -142,14 +164,15 @@ namespace OHOS
         }\r
 \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
+        ScheduleItemDataCountSet(ItemCount);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleOriginalDataToItemData,%d,%s", j, ScheduleItemData_[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
+        ScheduleModel::GetInstance().ScheduleOriginalDataSetByApp(data, index, is_finish);\r
     }\r
 \r
     int C_ScheduleDataReadFromFile()\r
index 82370ed..458ef38 100644 (file)
@@ -51,11 +51,7 @@ namespace OHOS
             return;\r
         }\r
 \r
-        ScheduleListItemInfo * ItemInfo = ScheduleModel_->ScheduleDataInfoGet();\r
-        for (uint8_t i = 0; i < ScheduleModel_->ScheduleDataItemCountGet(); i++)\r
-        {\r
-            view_->AddItemToList(ItemInfo[i]);\r
-        }\r
+        view_->ItemListContentUpdate();\r
     }\r
 \r
     // 页面准备切换到后台前执行的逻辑\r
@@ -75,20 +71,43 @@ namespace OHOS
     bool SchedulePresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
         UNUSED(event);\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnClick");\r
-#if 0\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:OnClick", __LINE__);\r
+\r
         if (nullptr == &view) \r
         {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:OnClick", __LINE__);\r
             return false;\r
-        } \r
-        else \r
+        }\r
+\r
+        if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_ContentDeleteButton_))\r
+        {\r
+            view_->DisplayDeleteScreen();\r
+            return true;\r
+        }\r
+        if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_ContentCloseButton_))\r
+        {\r
+            view_->DisplayDataOrNoScreen();\r
+            return true;\r
+        }\r
+\r
+        if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_DeleteCancelButton_))\r
+        {\r
+            view_->DisplayContentScreen();\r
+            return true;\r
+        }\r
+        if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_DeleteOKButton_))\r
         {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:OnClick", __LINE__);\r
             ScheduleListItem * item = static_cast<ScheduleListItem *>(&view);\r
-            view_->DisplayContentScreen(item->GetViewIndex());\r
+            ScheduleModel_->ScheduleOriginalDataSetByUI(item->GetViewIndex());\r
+            view_->ItemListContentUpdate();\r
+            view_->DisplayDataOrNoScreen();\r
+            return true;\r
         }\r
-#endif\r
+\r
+        ScheduleListItem * item = static_cast<ScheduleListItem *>(&view);\r
+        view_->ContentScreenItemIndexSet(item->GetViewIndex());\r
+        view_->DisplayContentScreen();\r
+\r
         return true;\r
     }\r
 \r
@@ -109,6 +128,17 @@ namespace OHOS
         // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnDragEnd");\r
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && SchedulePresenter::X_DRAG_FLAG)\r
         {\r
+            if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_ContentGroup_))\r
+            {\r
+                view_->DisplayDataOrNoScreen();\r
+                return true;\r
+            }\r
+            if(0 == strcmp(view.GetViewId(), SCHEDULE_ViewId_DeleteGroup_))\r
+            {\r
+                view_->DisplayContentScreen();\r
+                return true;\r
+            }\r
+\r
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
             SchedulePresenter::X_DRAG_FLAG = false;\r
         }\r
@@ -122,7 +152,7 @@ namespace OHOS
         uint16_t keyID = event.GetKeyId();\r
         uint16_t keyState = event.GetState();\r
         // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
-        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 1 && uapi_get_screen_state() == 0)\r
         {\r
             NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);\r
         }\r
index d3672cb..2389dbf 100644 (file)
@@ -1,5 +1,6 @@
 \r
 #include "schedule/include/ScheduleView.h"\r
+#include "UiConfig.h"\r
 #include "wearable_log.h"\r
 \r
 namespace OHOS\r
@@ -34,12 +35,24 @@ namespace OHOS
                        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]", __LINE__);\r
             return;\r
         }\r
-        container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+        container_->SetPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);\r
         container_->SetTouchable(true);\r
         container_->SetDraggable(true);\r
-        container_->SetOnDragListener(presenter_);\r
-        container_->Add(InitNoDataScreen());\r
-        container_->Add(InitDataScreen());\r
+        // container_->SetOnDragListener(presenter_);\r
+\r
+        ScreenGroupArray_[ENUM_SCHEDULE_SCREEN_NO_DATA] = InitNoDataScreen();\r
+        ScreenGroupArray_[ENUM_SCHEDULE_SCREEN_LIST] = InitDataScreen();\r
+        ScreenGroupArray_[ENUM_SCHEDULE_SCREEN_CONTENT] = InitContentScreen();\r
+        ScreenGroupArray_[ENUM_SCHEDULE_SCREEN_DELETE] = InitDeleteScreen();\r
+\r
+        uint8_t i = 0;\r
+        for(i = 0; i < ENUM_SCHEDULE_SCREEN_MAX; i++)\r
+        {\r
+            if(nullptr != ScreenGroupArray_[i])\r
+            {\r
+                container_->Add(ScreenGroupArray_[i]);\r
+            }\r
+        }\r
 \r
         RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
     }\r
@@ -49,8 +62,7 @@ namespace OHOS
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleView::OnSetUpView");\r
         View<SchedulePresenter>::OnSetUpView();\r
 \r
-        DisplayMainScreen();\r
-        // GroupArray_\r
+        DisplayDataOrNoScreen();\r
         Draw();\r
     }\r
 \r
@@ -116,35 +128,50 @@ namespace OHOS
             if(nullptr != ContentGroup_)\r
             {\r
                 ContentGroup_->RemoveAll();\r
-                if(nullptr != ContentLabelExt0_)\r
+                if(nullptr != ContentDateLabelExt_)\r
+                {\r
+                    delete ContentDateLabelExt_;\r
+                    ContentDateLabelExt_ = nullptr;\r
+                }\r
+                if(nullptr != ContentTopicLabelExt_)\r
+                {\r
+                    delete ContentTopicLabelExt_;\r
+                    ContentTopicLabelExt_ = nullptr;\r
+                }\r
+                if(nullptr != ContentTopicLabelExt1_)\r
                 {\r
-                    delete ContentLabelExt0_;\r
-                    ContentLabelExt0_ = nullptr;\r
+                    delete ContentTopicLabelExt1_;\r
+                    ContentTopicLabelExt1_ = nullptr;\r
                 }\r
-                if(nullptr != ContentLabelExt1_)\r
+                if(nullptr != ContentTimeLabelExt_)\r
                 {\r
-                    delete ContentLabelExt1_;\r
-                    ContentLabelExt1_ = nullptr;\r
+                    delete ContentTimeLabelExt_;\r
+                    ContentTimeLabelExt_ = nullptr;\r
                 }\r
-                if(nullptr != ContentLabelExt2_)\r
+                if(nullptr != ContentTimeLabelExt1_)\r
                 {\r
-                    delete ContentLabelExt2_;\r
-                    ContentLabelExt2_ = nullptr;\r
+                    delete ContentTimeLabelExt1_;\r
+                    ContentTimeLabelExt1_ = nullptr;\r
                 }\r
-                if(nullptr != ContentLabelExt3_)\r
+                if(nullptr != ContentContentLabelExt_)\r
                 {\r
-                    delete ContentLabelExt3_;\r
-                    ContentLabelExt3_ = nullptr;\r
+                    delete ContentContentLabelExt_;\r
+                    ContentContentLabelExt_ = nullptr;\r
                 }\r
-                if(nullptr != ContentButton0_)\r
+                if(nullptr != ContentContentLabelExt1_)\r
                 {\r
-                    delete ContentButton0_;\r
-                    ContentButton0_ = nullptr;\r
+                    delete ContentContentLabelExt1_;\r
+                    ContentContentLabelExt1_ = nullptr;\r
                 }\r
-                if(nullptr != ContentButton1_)\r
+                if(nullptr != ContentDeleteButton_)\r
                 {\r
-                    delete ContentButton1_;\r
-                    ContentButton1_ = nullptr;\r
+                    delete ContentDeleteButton_;\r
+                    ContentDeleteButton_ = nullptr;\r
+                }\r
+                if(nullptr != ContentCloseButton_)\r
+                {\r
+                    delete ContentCloseButton_;\r
+                    ContentCloseButton_ = nullptr;\r
                 }\r
                 \r
                 delete ContentGroup_;\r
@@ -156,87 +183,93 @@ namespace OHOS
         }\r
     }\r
 \r
-    void ScheduleView::AddItemToList(const ScheduleListItemInfo &item)\r
-    {\r
-        ScheduleListAdapter_->AddListItem(item);\r
-    }\r
-\r
-    void ScheduleView::DisplayMainScreen(void)\r
-    {\r
-        if(true == ScheduleModel::GetInstance().ScheduleDataIsEmpty())\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:DisplayMainScreen", __LINE__);\r
-            NoDataGroup_->SetVisible(true);\r
-            DataGroup_->SetVisible(false);\r
-        }\r
-        else\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:DisplayMainScreen", __LINE__);\r
-            NoDataGroup_->SetVisible(false);\r
-            DataGroup_->SetVisible(true);\r
-            ScheduleList_->RefreshList();\r
-        }\r
-    }\r
-\r
-#if 0\r
-    void ScheduleView::_DisplayMainScreen(uint8_t ScreenIndex)\r
+    void ScheduleView::DisplaySelectScreen(uint8_t ScreenIndex)\r
     {\r
-        if(ENUM_SCHEDULE_MAX_SCREEN =< ScreenIndex)\r
+        if(ENUM_SCHEDULE_SCREEN_MAX <= ScreenIndex)\r
         {\r
             return;\r
         }\r
 \r
         uint8_t i = 0;\r
-        for(i = 0; i < ENUM_SCHEDULE_MAX_SCREEN; i++)\r
+        for(i = 0; i < ENUM_SCHEDULE_SCREEN_MAX; i++)\r
         {\r
-            if(i == ScreenIndex)\r
-            {\r
-                GroupArray_[i]->SetVisible(true);\r
-            }\r
-            else\r
+            if(nullptr != ScreenGroupArray_[i])\r
             {\r
-                GroupArray_[i]->SetVisible(false);\r
+                if(i == ScreenIndex)\r
+                {\r
+                    ScreenGroupArray_[i]->SetVisible(true);\r
+                }\r
+                else\r
+                {\r
+                    ScreenGroupArray_[i]->SetVisible(false);\r
+                }\r
             }\r
         }\r
+    }\r
 \r
-        if(ENUM_SCHEDULE_LIST_SCREEN == ScreenIndex)\r
+    void ScheduleView::DisplayDataOrNoScreen(void)\r
+    {\r
+        if(0 == ScheduleModel::GetInstance().ScheduleItemDataCountGet())\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:DisplayMainScreen", __LINE__);\r
+            DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_NO_DATA);\r
+        }\r
+        else\r
         {\r
-            GroupArray_[ENUM_SCHEDULE_LIST_SCREEN]->RefreshList();\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:DisplayMainScreen", __LINE__);\r
+            DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_LIST);\r
+\r
+            ScheduleList_->RefreshList();\r
         }\r
     }\r
-#endif\r
 \r
-    void ScheduleView::DisplayContentScreen(uint8_t index)\r
+    void ScheduleView::DisplayContentScreen(void)\r
     {\r
-        NoDataGroup_->SetVisible(false);\r
-        DataGroup_->SetVisible(false);\r
+        DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_CONTENT);\r
 \r
-        UIScrollView * temp_group = InitContentScreen();\r
-        if(nullptr == temp_group)\r
-            return;\r
+        uint8_t index = ContentScreenItemIndexGet();\r
+        ContentDateLabelExt_->SetText(ScheduleModel::GetInstance().ScheduleItemDataDateStrGet(index).c_str());\r
 \r
-        container_->Add(temp_group);\r
+        int16_t temp_y = 0;\r
+        temp_y = ContentDateLabelExt_->GetY() + ContentDateLabelExt_->GetHeight() + 50;\r
+        ContentTopicLabelExt_->SetY(temp_y);\r
+        ContentTopicLabelExt1_->SetY(temp_y);\r
+        ContentTopicLabelExt1_->SetText(ScheduleModel::GetInstance().ScheduleItemDataTopicStrGet(index).c_str());\r
 \r
-        ContentLabelExt0_->SetText(ScheduleModel::GetInstance().ScheduleInfoDateStrGet(index).c_str());\r
+        temp_y = ContentTopicLabelExt_->GetY() + ContentTopicLabelExt_->GetHeight() + 20;\r
+        ContentTimeLabelExt_->SetY(temp_y);\r
+        ContentTimeLabelExt1_->SetY(temp_y);\r
+        ContentTimeLabelExt1_->SetText(ScheduleModel::GetInstance().ScheduleItemDataTimeStrGet(index).c_str());\r
 \r
-        int16_t temp_y = 0;\r
-        temp_y = ContentLabelExt0_->GetY() + ContentLabelExt0_->GetHeight() + 50;\r
-        ContentLabelExt1_->SetY(temp_y);\r
-        ContentLabelExt1_->SetText(ScheduleModel::GetInstance().ScheduleInfoTopicStrGet(index).c_str());\r
+        if(true == ScheduleModel::GetInstance().ScheduleItemDataContentStrGet(index).empty())\r
+        {\r
+            ContentContentLabelExt_->SetVisible(false);\r
+            ContentContentLabelExt1_->SetVisible(false);\r
 \r
-        temp_y = ContentLabelExt1_->GetY() + ContentLabelExt1_->GetHeight() + 20;\r
-        ContentLabelExt2_->SetY(temp_y);\r
-        ContentLabelExt2_->SetText(ScheduleModel::GetInstance().ScheduleInfoTimeStrGet(index).c_str());\r
+            temp_y = ContentTimeLabelExt_->GetY() + ContentTimeLabelExt_->GetHeight() + 50;\r
+            ContentDeleteButton_->SetY(temp_y);\r
+        }\r
+        else\r
+        {\r
+            ContentContentLabelExt_->SetVisible(true);\r
+            ContentContentLabelExt1_->SetVisible(true);\r
 \r
-        temp_y = ContentLabelExt2_->GetY() + ContentLabelExt2_->GetHeight() + 20;\r
-        ContentLabelExt3_->SetY(temp_y);\r
-        ContentLabelExt3_->SetText(ScheduleModel::GetInstance().ScheduleInfoDataStrGet(index).c_str());\r
+            temp_y = ContentTimeLabelExt_->GetY() + ContentTimeLabelExt_->GetHeight() + 20;\r
+            ContentContentLabelExt_->SetY(temp_y);\r
+            ContentContentLabelExt1_->SetY(temp_y);\r
+            ContentContentLabelExt1_->SetText(ScheduleModel::GetInstance().ScheduleItemDataContentStrGet(index).c_str());\r
 \r
-        temp_y = ContentLabelExt3_->GetY() + ContentLabelExt3_->GetHeight() + 50;\r
-        ContentButton0_->SetY(temp_y);\r
+            temp_y = ContentContentLabelExt1_->GetY() + ContentContentLabelExt1_->GetHeight() + 50;\r
+            ContentDeleteButton_->SetY(temp_y);\r
+        }\r
 \r
-        temp_y = ContentButton0_->GetY() + ContentButton0_->GetHeight() + 20;\r
-        ContentButton1_->SetY(temp_y);\r
+        temp_y = ContentDeleteButton_->GetY() + ContentDeleteButton_->GetHeight() + 20;\r
+        ContentCloseButton_->SetY(temp_y);\r
+    }\r
+\r
+    void ScheduleView::DisplayDeleteScreen(void)\r
+    {\r
+        DisplaySelectScreen(ENUM_SCHEDULE_SCREEN_DELETE);\r
     }\r
 \r
     UIViewGroup * ScheduleView::InitNoDataScreen()\r
@@ -247,61 +280,60 @@ namespace OHOS
             NoDataGroup_ = new UIViewGroup();\r
             if(nullptr == NoDataGroup_)\r
                 return nullptr;\r
-        }\r
-        NoDataGroup_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-        NoDataGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-        NoDataGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-        NoDataGroup_->SetOnDragListener(presenter_);\r
-        NoDataGroup_->SetTouchable(true);\r
-        NoDataGroup_->SetDraggable(true);\r
-\r
-        if(nullptr == LabelExt0_)\r
-        {\r
-            LabelExt0_ = InitLabel(83, 50, 300, 35, 35, 30, STR_SCHEDULE_TITLE, Color::White().full);\r
+\r
+            NoDataGroup_->SetPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);\r
+            NoDataGroup_->SetViewId(SCHEDULE_ViewId_NoDataGroup_);\r
+            NoDataGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
+            NoDataGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+            NoDataGroup_->SetOnDragListener(presenter_);\r
+            NoDataGroup_->SetTouchable(true);\r
+            NoDataGroup_->SetDraggable(true);\r
+\r
             if(nullptr == LabelExt0_)\r
             {\r
-                return nullptr;\r
+                LabelExt0_ = InitLabel(83, 50, 300, 35, 35, 30, STR_SCHEDULE_TITLE, Color::White().full);\r
+                if(nullptr == LabelExt0_)\r
+                {\r
+                    return nullptr;\r
+                }\r
             }\r
-        }\r
 \r
-        if(nullptr == ImageView_)\r
-        {\r
-            ImageView_ = new UIImageView();\r
             if(nullptr == ImageView_)\r
             {\r
-                return nullptr;\r
-            }\r
+                ImageView_ = new UIImageView();\r
+                if(nullptr == ImageView_)\r
+                {\r
+                    return nullptr;\r
+                }\r
 \r
-            ImageView_->SetPosition(175, 150, 116, 120);\r
-            // ImageView_->SetAutoEnable(true);\r
-            // ImageView_->SetViewId(viewId);\r
-            ImageView_->SetSrc(NO_DATA_IMAGE);\r
-        }\r
+                ImageView_->SetPosition(175, 150, 116, 120);\r
+                ImageView_->SetSrc(NO_DATA_IMAGE);\r
+            }\r
 \r
-        if(nullptr == LabelExt1_)\r
-        {\r
-            LabelExt1_ = InitLabel(53, 330, 360, 35, 35, 30, STR_SCHEDULE_NO_DATA, 0xff999999);\r
             if(nullptr == LabelExt1_)\r
             {\r
-                return nullptr;\r
+                LabelExt1_ = InitLabel(53, 330, 360, 35, 35, 30, STR_SCHEDULE_NO_DATA, 0xff999999);\r
+                if(nullptr == LabelExt1_)\r
+                {\r
+                    return nullptr;\r
+                }\r
             }\r
-        }\r
 \r
-        if(nullptr == LabelExt2_)\r
-        {\r
-            LabelExt2_ = InitLabel(53, 370, 360, 35, 35, 30, STR_SCHEDULE_NO_DATA_PROMPT, 0xff999999);\r
             if(nullptr == LabelExt2_)\r
             {\r
-                return nullptr;\r
+                LabelExt2_ = InitLabel(53, 370, 360, 35, 35, 30, STR_SCHEDULE_NO_DATA_PROMPT, 0xff999999);\r
+                if(nullptr == LabelExt2_)\r
+                {\r
+                    return nullptr;\r
+                }\r
             }\r
-        }\r
 \r
-        NoDataGroup_->Add(LabelExt0_);\r
-        NoDataGroup_->Add(ImageView_);\r
-        NoDataGroup_->Add(LabelExt1_);\r
-        NoDataGroup_->Add(LabelExt2_);\r
+            NoDataGroup_->Add(LabelExt0_);\r
+            NoDataGroup_->Add(ImageView_);\r
+            NoDataGroup_->Add(LabelExt1_);\r
+            NoDataGroup_->Add(LabelExt2_);\r
+        }\r
 \r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]", __LINE__);\r
         return NoDataGroup_;\r
     }\r
 \r
@@ -313,50 +345,52 @@ namespace OHOS
             DataGroup_ = new UIViewGroup();\r
             if(nullptr == DataGroup_)\r
                 return nullptr;\r
-        }\r
-        DataGroup_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-        DataGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-        DataGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-        DataGroup_->SetOnDragListener(presenter_);\r
-        DataGroup_->SetTouchable(true);\r
-        DataGroup_->SetDraggable(true);\r
-\r
-        if(nullptr == ScheduleListAdapter_)\r
-        {\r
-            ScheduleListAdapter_ = new ScheduleListAdapter();\r
+\r
+            DataGroup_->SetPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);\r
+            DataGroup_->SetViewId(SCHEDULE_ViewId_DataGroup_);\r
+            DataGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
+            DataGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+            DataGroup_->SetOnDragListener(presenter_);\r
+            DataGroup_->SetTouchable(true);\r
+            DataGroup_->SetDraggable(true);\r
+\r
             if(nullptr == ScheduleListAdapter_)\r
-                return nullptr;\r
-            \r
-            ScheduleListAdapter_->SetItemClickListener(presenter_);\r
-        }\r
+            {\r
+                ScheduleListAdapter_ = new ScheduleListAdapter();\r
+                if(nullptr == ScheduleListAdapter_)\r
+                    return nullptr;\r
+                \r
+                ScheduleListAdapter_->SetItemClickListener(presenter_);\r
+            }\r
 \r
-        if(nullptr == ScheduleList_)\r
-        {\r
-            ScheduleList_ = new UIList();\r
             if(nullptr == ScheduleList_)\r
             {\r
-                return nullptr;\r
+                ScheduleList_ = new UIList();\r
+                if(nullptr == ScheduleList_)\r
+                {\r
+                    return nullptr;\r
+                }\r
             }\r
+            ScheduleList_->SetPosition(LIST_LEFT, LIST_TOP, LIST_WIDTH, LIST_HEIGHT);\r
+            // ScheduleList_->SetSelectPosition(VERTICAL_RESOLUTION / 2);\r
+            ScheduleList_->SetDraggable(true);\r
+            ScheduleList_->SetThrowDrag(true);\r
+            // ScheduleList_->EnableAutoAlign(true);\r
+            ScheduleList_->SetAdapter(ScheduleListAdapter_);\r
+            // ScheduleList_->SetScrollStateListener(presenter_);\r
+            ScheduleList_->SetMaxScrollDistance(1000); // 1000: max scroll distance\r
+            ScheduleList_->SetSwipeACCLevel(800); // 800: compensation distance\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
+            DataGroup_->Add(ScheduleList_);\r
         }\r
-        ScheduleList_->SetPosition(LIST_LEFT, LIST_TOP, LIST_WIDTH, LIST_HEIGHT);\r
-        // ScheduleList_->SetSelectPosition(VERTICAL_RESOLUTION / 2);\r
-        ScheduleList_->SetDraggable(true);\r
-        ScheduleList_->SetThrowDrag(true);\r
-        // ScheduleList_->EnableAutoAlign(true);\r
-        ScheduleList_->SetAdapter(ScheduleListAdapter_);\r
-        // ScheduleList_->SetScrollStateListener(presenter_);\r
-        ScheduleList_->SetMaxScrollDistance(1000); // 1000: max scroll distance\r
-        ScheduleList_->SetSwipeACCLevel(800); // 800: compensation distance\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
-        DataGroup_->Add(ScheduleList_);\r
 \r
         return DataGroup_;\r
     }\r
@@ -369,126 +403,290 @@ namespace OHOS
             ContentGroup_ = new UIScrollView();\r
             if(nullptr == ContentGroup_)\r
                 return nullptr;\r
-        }\r
-        // ContentGroup_->SetViewIndex(ENUM_SCHEDULE_CONTENT_SCREEN);\r
-        ContentGroup_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
-        ContentGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-        ContentGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
-        ContentGroup_->SetOnDragListener(presenter_);\r
-        ContentGroup_->SetTouchable(true);\r
-        ContentGroup_->SetDraggable(true);\r
-\r
-        ContentGroup_->SetScrollBlankSize(40);\r
-        ContentGroup_->SetReboundSize(40);\r
-        ContentGroup_->SetDirection(1);\r
-        ContentGroup_->SetMaxScrollDistance(1000);\r
-        ContentGroup_->SetThrowDrag(true);\r
-        ContentGroup_->RequestFocus();\r
-        ContentGroup_->SetRotateFactor(2);\r
-\r
-        if(nullptr == ContentLabelExt0_)\r
-        {\r
-            ContentLabelExt0_ = new UILabelExt();\r
-            if(nullptr == ContentLabelExt0_)\r
-                return nullptr;\r
 \r
-            ContentLabelExt0_->SetPosition(83, 50, 300, 35);\r
-            ContentLabelExt0_->SetStyle(STYLE_TEXT_FONT, 30);\r
-            ContentLabelExt0_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-            // ContentLabelExt0_->SetTextId(text_id);\r
-            ContentLabelExt0_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
-            ContentLabelExt0_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
-            ContentLabelExt0_->SetRollSpeed(70);\r
-            ContentLabelExt0_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-            ContentLabelExt0_->SetStyle(STYLE_TEXT_COLOR, 0xffff5a36);\r
-        }\r
+            // ContentGroup_->SetViewIndex(ENUM_SCHEDULE_CONTENT_SCREEN);\r
+            ContentGroup_->SetPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);\r
+            ContentGroup_->SetViewId(SCHEDULE_ViewId_ContentGroup_);\r
+            ContentGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
+            ContentGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+            ContentGroup_->SetOnDragListener(presenter_);\r
+            ContentGroup_->SetTouchable(true);\r
+            ContentGroup_->SetDraggable(true);\r
+\r
+            ContentGroup_->SetScrollBlankSize(40);\r
+            ContentGroup_->SetReboundSize(40);\r
+            ContentGroup_->SetDirection(1);\r
+            ContentGroup_->SetMaxScrollDistance(1000);\r
+            ContentGroup_->SetThrowDrag(true);\r
+            ContentGroup_->RequestFocus();\r
+            ContentGroup_->SetRotateFactor(2);\r
+\r
+            if(nullptr == ContentDateLabelExt_)\r
+            {\r
+                ContentDateLabelExt_ = new UILabelExt();\r
+                if(nullptr == ContentDateLabelExt_)\r
+                    return nullptr;\r
+\r
+                ContentDateLabelExt_->SetPosition(83, 50, 300, 35);\r
+                ContentDateLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                ContentDateLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                // ContentDateLabelExt_->SetTextId(text_id);\r
+                ContentDateLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                ContentDateLabelExt_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+                ContentDateLabelExt_->SetRollSpeed(70);\r
+                ContentDateLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentDateLabelExt_->SetStyle(STYLE_TEXT_COLOR, 0xffff5a36);\r
+            }\r
 \r
-        if(nullptr == ContentLabelExt1_)\r
-        {\r
-            ContentLabelExt1_ = new UILabelExt();\r
-            if(nullptr == ContentLabelExt1_)\r
-                return nullptr;\r
+            if(nullptr == ContentTopicLabelExt_)\r
+            {\r
+                ContentTopicLabelExt_ = new UILabelExt();\r
+                if(nullptr == ContentTopicLabelExt_)\r
+                    return nullptr;\r
+\r
+                ContentTopicLabelExt_->SetPosition(53, 0, 360, 35);\r
+                ContentTopicLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                ContentTopicLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                ContentTopicLabelExt_->SetTextId(STR_SCHEDULE_TOPIC);\r
+                // ContentTopicLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                ContentTopicLabelExt_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                ContentTopicLabelExt_->SetRollSpeed(70);\r
+                ContentTopicLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentTopicLabelExt_->SetStyle(STYLE_TEXT_COLOR, 0xff999999);\r
+            \r
+                if(nullptr == ContentTopicLabelExt1_)\r
+                {\r
+                    ContentTopicLabelExt1_ = new UILabelExt();\r
+                    if(nullptr == ContentTopicLabelExt1_)\r
+                        return nullptr;\r
+\r
+                    uint16 x = ContentTopicLabelExt_->GetX();\r
+                    uint16 w = ContentTopicLabelExt_->GetTextWidth();\r
+                    ContentTopicLabelExt1_->SetPosition(x + w + 5, 0, 360 - w - 5, 35);\r
+                    ContentTopicLabelExt1_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                    ContentTopicLabelExt1_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                    ContentTopicLabelExt1_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                    ContentTopicLabelExt1_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                    ContentTopicLabelExt1_->SetRollSpeed(70);\r
+                    ContentTopicLabelExt1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                    ContentTopicLabelExt1_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
+                }\r
+            }\r
 \r
-            ContentLabelExt1_->SetPosition(53, 0, 360, 35);\r
-            ContentLabelExt1_->SetStyle(STYLE_TEXT_FONT, 30);\r
-            ContentLabelExt1_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-            // ContentLabelExt1_->SetTextId(text_id);\r
-            ContentLabelExt1_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
-            ContentLabelExt1_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
-            ContentLabelExt1_->SetRollSpeed(70);\r
-            ContentLabelExt1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-            ContentLabelExt1_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
-        }\r
+            if(nullptr == ContentTimeLabelExt_)\r
+            {\r
+                ContentTimeLabelExt_ = new UILabelExt();\r
+                if(nullptr == ContentTimeLabelExt_)\r
+                    return nullptr;\r
+\r
+                ContentTimeLabelExt_->SetPosition(53, 0, 360, 35);\r
+                ContentTimeLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                ContentTimeLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                ContentTimeLabelExt_->SetTextId(STR_SCHEDULE_TIME);\r
+                // ContentTimeLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                ContentTimeLabelExt_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                ContentTimeLabelExt_->SetRollSpeed(70);\r
+                ContentTimeLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentTimeLabelExt_->SetStyle(STYLE_TEXT_COLOR, 0xff999999);\r
+\r
+                if(nullptr == ContentTimeLabelExt1_)\r
+                {\r
+                    ContentTimeLabelExt1_ = new UILabelExt();\r
+                    if(nullptr == ContentTimeLabelExt1_)\r
+                        return nullptr;\r
+\r
+                    uint16 x = ContentTimeLabelExt_->GetX();\r
+                    uint16 w = ContentTimeLabelExt_->GetTextWidth();\r
+                    ContentTimeLabelExt1_->SetPosition(x + w + 5, 0, 360 - w - 5, 35);\r
+                    ContentTimeLabelExt1_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                    ContentTimeLabelExt1_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                    ContentTimeLabelExt1_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                    ContentTimeLabelExt1_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                    ContentTimeLabelExt1_->SetRollSpeed(70);\r
+                    ContentTimeLabelExt1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                    ContentTimeLabelExt1_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
+                }\r
+            }\r
 \r
-        if(nullptr == ContentLabelExt2_)\r
-        {\r
-            ContentLabelExt2_ = new UILabelExt();\r
-            if(nullptr == ContentLabelExt2_)\r
-                return nullptr;\r
+            if(nullptr == ContentContentLabelExt_)\r
+            {\r
+                ContentContentLabelExt_ = new UILabelExt();\r
+                if(nullptr == ContentContentLabelExt_)\r
+                    return nullptr;\r
+\r
+                ContentContentLabelExt_->SetPosition(53, 0, 360, 35);\r
+                ContentContentLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                ContentContentLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                ContentContentLabelExt_->SetTextId(STR_SCHEDULE_NOTES);\r
+                // ContentContentLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+                ContentContentLabelExt_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                ContentContentLabelExt_->SetRollSpeed(70);\r
+                ContentContentLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentContentLabelExt_->SetStyle(STYLE_TEXT_COLOR, 0xff999999);\r
+\r
+                if(nullptr == ContentContentLabelExt1_)\r
+                {\r
+                    ContentContentLabelExt1_ = new UILabelExt();\r
+                    if(nullptr == ContentContentLabelExt1_)\r
+                        return nullptr;\r
+\r
+                    uint16 x = ContentContentLabelExt_->GetX();\r
+                    uint16 w = ContentContentLabelExt_->GetTextWidth();\r
+                    ContentContentLabelExt1_->SetPosition(x + w + 5, 0, 360 - w - 5, 35);\r
+                    ContentContentLabelExt1_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                    ContentContentLabelExt1_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                    ContentContentLabelExt1_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+                    ContentContentLabelExt1_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
+                    ContentContentLabelExt1_->SetRollSpeed(70);\r
+                    ContentContentLabelExt1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                    ContentContentLabelExt1_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
+                }\r
+            }\r
 \r
-            ContentLabelExt2_->SetPosition(53, 0, 360, 35);\r
-            ContentLabelExt2_->SetStyle(STYLE_TEXT_FONT, 30);\r
-            ContentLabelExt2_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-            // ContentLabelExt2_->SetTextId(text_id);\r
-            ContentLabelExt2_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
-            ContentLabelExt2_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
-            ContentLabelExt2_->SetRollSpeed(70);\r
-            ContentLabelExt2_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-            ContentLabelExt2_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
-        }\r
+            if(nullptr == ContentDeleteButton_)\r
+            {\r
+                ContentDeleteButton_ = new UILabelButtonExt();\r
+                if(nullptr == ContentDeleteButton_)\r
+                    return nullptr;\r
+\r
+                ContentDeleteButton_->SetPosition(93, 0, 280, 90);\r
+                ContentDeleteButton_->SetViewId(SCHEDULE_ViewId_ContentDeleteButton_);\r
+                ContentDeleteButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xfffd5213);\r
+                ContentDeleteButton_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
+                ContentDeleteButton_->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+                ContentDeleteButton_->SetTextId(STR_DELETE);\r
+                ContentDeleteButton_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentDeleteButton_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                ContentDeleteButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffd5213, UIButton::PRESSED);\r
+                ContentDeleteButton_->SetOnClickListener(presenter_);\r
+            }\r
 \r
-        if(nullptr == ContentLabelExt3_)\r
-        {\r
-            ContentLabelExt3_ = new UILabelExt();\r
-            if(nullptr == ContentLabelExt3_)\r
-                return nullptr;\r
+            if(nullptr == ContentCloseButton_)\r
+            {\r
+                ContentCloseButton_ = new UILabelButtonExt();\r
+                if(nullptr == ContentCloseButton_)\r
+                    return nullptr;\r
+\r
+                ContentCloseButton_->SetPosition(93, 0, 280, 90);\r
+                ContentCloseButton_->SetViewId(SCHEDULE_ViewId_ContentCloseButton_);\r
+                ContentCloseButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+                ContentCloseButton_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
+                ContentCloseButton_->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+                ContentCloseButton_->SetTextId(STR_CLOSE);\r
+                ContentCloseButton_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                ContentCloseButton_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                ContentCloseButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
+                ContentCloseButton_->SetOnClickListener(presenter_);\r
+            }\r
 \r
-            int16_t y = ContentLabelExt2_->GetHeight();\r
-            ContentLabelExt3_->SetPosition(53, 0, 360, 35);\r
-            ContentLabelExt3_->SetStyle(STYLE_TEXT_FONT, 30);\r
-            ContentLabelExt3_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-            // ContentLabelExt3_->SetTextId(text_id);\r
-            ContentLabelExt3_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
-            ContentLabelExt3_->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_TOP);\r
-            ContentLabelExt3_->SetRollSpeed(70);\r
-            ContentLabelExt3_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-            ContentLabelExt3_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
+            ContentGroup_->Add(ContentDateLabelExt_);\r
+            ContentGroup_->Add(ContentTopicLabelExt_);\r
+            ContentGroup_->Add(ContentTopicLabelExt1_);\r
+            ContentGroup_->Add(ContentTimeLabelExt_);\r
+            ContentGroup_->Add(ContentTimeLabelExt1_);\r
+            ContentGroup_->Add(ContentContentLabelExt_);\r
+            ContentGroup_->Add(ContentContentLabelExt1_);\r
+            ContentGroup_->Add(ContentDeleteButton_);\r
+            ContentGroup_->Add(ContentCloseButton_);\r
         }\r
 \r
-        if(nullptr == ContentButton0_)\r
+        return ContentGroup_;\r
+    }\r
+\r
+    UIViewGroup * ScheduleView::InitDeleteScreen()\r
+    {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]", __LINE__);\r
+        if(nullptr == DeleteGroup_)\r
         {\r
-            ContentButton0_ = new UIButton();\r
-            if(nullptr == ContentButton0_)\r
+            DeleteGroup_ = new UIViewGroup();\r
+            if(nullptr == DeleteGroup_)\r
                 return nullptr;\r
 \r
-            ContentButton0_->SetPosition(93, 0, 280, 90);\r
-            // ContentButton0_->SetViewId();\r
-            ContentButton0_->SetStyle(STYLE_BACKGROUND_COLOR, 0xfffd5213);\r
-            ContentButton0_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-            ContentButton0_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xfffd5213, UIButton::PRESSED);\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 == ContentButton1_)\r
-        {\r
-            ContentButton1_ = new UIButton();\r
-            if(nullptr == ContentButton1_)\r
-                return nullptr;\r
+            if(nullptr == DeleteTitleLabelExt_)\r
+            {\r
+                DeleteTitleLabelExt_ = new UILabelExt();\r
+                if(nullptr == DeleteTitleLabelExt_)\r
+                    return nullptr;\r
+\r
+                DeleteTitleLabelExt_->SetPosition(83, 50, 300, 35);\r
+                DeleteTitleLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                DeleteTitleLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                DeleteTitleLabelExt_->SetTextId(STR_DELETE);\r
+                DeleteTitleLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
+                DeleteTitleLabelExt_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+                DeleteTitleLabelExt_->SetRollSpeed(70);\r
+                DeleteTitleLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                DeleteTitleLabelExt_->SetStyle(STYLE_TEXT_COLOR, 0xffff5a36);\r
+            }\r
 \r
-            ContentButton1_->SetPosition(93, 0, 280, 90);\r
-            // ContentButton1_->SetViewId();\r
-            ContentButton1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
-            ContentButton1_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
-            ContentButton1_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff191919, UIButton::PRESSED);\r
-        }\r
+            if(nullptr == DeletePromptLabelExt_)\r
+            {\r
+                DeletePromptLabelExt_ = new UILabelExt();\r
+                if(nullptr == DeletePromptLabelExt_)\r
+                    return nullptr;\r
+\r
+                DeletePromptLabelExt_->SetPosition(98, 187, 270, 35);\r
+                DeletePromptLabelExt_->SetStyle(STYLE_TEXT_FONT, 30);\r
+                DeletePromptLabelExt_->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+                DeletePromptLabelExt_->SetTextId(STR_SCHEDULE_DELETE_PROMPT);\r
+                DeletePromptLabelExt_->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);\r
+                DeletePromptLabelExt_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+                DeletePromptLabelExt_->SetRollSpeed(70);\r
+                DeletePromptLabelExt_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+                DeletePromptLabelExt_->SetStyle(STYLE_TEXT_COLOR, Color::White().full);\r
+            }\r
 \r
-        ContentGroup_->Add(ContentLabelExt0_);\r
-        ContentGroup_->Add(ContentLabelExt1_);\r
-        ContentGroup_->Add(ContentLabelExt2_);\r
-        ContentGroup_->Add(ContentLabelExt3_);\r
-        ContentGroup_->Add(ContentButton0_);\r
-        ContentGroup_->Add(ContentButton1_);\r
+            if(nullptr == DeleteCancelButton_)\r
+            {\r
+                DeleteCancelButton_ = new UILabelButtonExt();\r
+                if(nullptr == DeleteCancelButton_)\r
+                    return nullptr;\r
+\r
+                DeleteCancelButton_->SetPosition(111, 299, 100, 100);\r
+                DeleteCancelButton_->SetViewId(SCHEDULE_ViewId_DeleteCancelButton_);\r
+                DeleteCancelButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+                DeleteCancelButton_->SetStyle(STYLE_BACKGROUND_OPA, 25); // 10%\r
+                DeleteCancelButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED);\r
+                DeleteCancelButton_->SetStyleForState(STYLE_BACKGROUND_OPA, 25, UIButton::PRESSED);\r
+                DeleteCancelButton_->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+                DeleteCancelButton_->SetImagePosition(0, 0);\r
+                DeleteCancelButton_->SetImageSrc(PNG_SYSTEM_CHECK_OFF_IMAGE, PNG_SYSTEM_CHECK_OFF_IMAGE);\r
+                DeleteCancelButton_->SetOnClickListener(presenter_);\r
+            }\r
 \r
-        return ContentGroup_;\r
+            if(nullptr == DeleteOKButton_)\r
+            {\r
+                DeleteOKButton_ = new UILabelButtonExt();\r
+                if(nullptr == DeleteOKButton_)\r
+                    return nullptr;\r
+\r
+                DeleteOKButton_->SetPosition(256, 299, 100, 100);\r
+                DeleteOKButton_->SetViewId(SCHEDULE_ViewId_DeleteOKButton_);\r
+                DeleteOKButton_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+                DeleteOKButton_->SetStyle(STYLE_BACKGROUND_OPA, 25); // 10%\r
+                DeleteOKButton_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED);\r
+                DeleteOKButton_->SetStyleForState(STYLE_BACKGROUND_OPA, 25, UIButton::PRESSED);\r
+                DeleteOKButton_->SetStyle(STYLE_BORDER_RADIUS, 100);\r
+                DeleteOKButton_->SetImagePosition(0, 0);\r
+                DeleteOKButton_->SetImageSrc(PNG_SYSTEM_CHECK_ON_IMAGE, PNG_SYSTEM_CHECK_ON_IMAGE);\r
+                DeleteOKButton_->SetOnClickListener(presenter_);\r
+            }\r
+\r
+            DeleteGroup_->Add(DeleteTitleLabelExt_);\r
+            DeleteGroup_->Add(DeletePromptLabelExt_);\r
+            DeleteGroup_->Add(DeleteCancelButton_);\r
+            DeleteGroup_->Add(DeleteOKButton_);\r
+        }\r
+\r
+        return DeleteGroup_;\r
     }\r
 \r
     UILabelExt * ScheduleView::InitLabel(int16_t x, int16_t y, int16_t width, int16_t height,\r
@@ -513,4 +711,38 @@ namespace OHOS
         return LabelExt;\r
     }\r
 \r
+    void ScheduleView::ContentScreenItemIndexSet(uint8_t index)\r
+    {\r
+        ContentItemIndex_ = index;\r
+    }\r
+\r
+    uint8_t ScheduleView::ContentScreenItemIndexGet(void)\r
+    {\r
+        return ContentItemIndex_;\r
+    }\r
+\r
+    void ScheduleView::ItemListAdd(const ScheduleListItemInfo &item)\r
+    {\r
+        ScheduleListAdapter_->AddListItem(item);\r
+    }\r
+\r
+    void ScheduleView::ItemListClear(void)\r
+    {\r
+        ScheduleListAdapter_->ClearListItem();\r
+    }\r
+\r
+    void ScheduleView::ItemListContentUpdate(void)\r
+    {\r
+        uint8_t ItemCount = ScheduleModel::GetInstance().ScheduleItemDataCountGet();\r
+        if(0 != ItemCount)\r
+        {\r
+            ItemListClear();\r
+            ScheduleListItemInfo * ItemInfo = ScheduleModel::GetInstance().ScheduleAllItemDataGet();\r
+            for (uint8_t i = 0; i < ItemCount; i++)\r
+            {\r
+                ItemListAdd(ItemInfo[i]);\r
+            }\r
+        }\r
+    }\r
+\r
 }
\ No newline at end of file