${CMAKE_CURRENT_SOURCE_DIR}/nativeui/getpic/src/TakePicView.cpp\r
#Ѫ��\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/blood/src/BloodView.cpp\r
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/blood/src/BloodPresenter.cpp\r
+\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/blood/src/BloodShowView.cpp\r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/blood/src/BloodShowPresenter.cpp \r
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/blood/src/BloodCheckView.cpp\r
VIEW_GETPIC, // 手势拍照\r
VIEW_TAKEPIC, // 拍照\r
\r
- VIEW_BLOOD, // 血氧\r
+ //VIEW_BLOOD, // 血氧\r
VIEW_BLOODSHOW, // 血氧说明\r
VIEW_BLOODCHECK, // 血氧检查\r
VIEW_BLOODERROR, // 血氧监测错误\r
#include "phone/include/PhoneRingView.h"\r
#include "phone/include/PhoneRingPresenter.h"\r
#include "blood/include/BloodView.h"\r
-#include "blood/include/BloodPresenter.h"\r
+\r
#include "blood/include/BloodCheckPresenter.h"\r
#include "blood/include/BloodCheckView.h"\r
#include "blood/include/BloodShowPresenter.h"\r
{VIEW_PHONECALLING, &NativeLauncher::InitPhoneCallingSlice},\r
{VIEW_PHONECALLUP, &NativeLauncher::InitPhoneCallupSlice},\r
{VIEW_PHONERING, &NativeLauncher::InitPhoneRingSlice},\r
- {VIEW_BLOOD, &NativeLauncher::InitBloodSlice}, //血氧\r
+ //{VIEW_BLOOD, &NativeLauncher::InitBloodSlice}, //血氧\r
{VIEW_BLOODSHOW, &NativeLauncher::InitBloodShowSlice},\r
{VIEW_BLOODCHECK, &NativeLauncher::InitBloodCheckSlice},\r
{VIEW_BLOODERROR, &NativeLauncher::InitBloodErrorSlice},\r
NativeAbility::GetInstance().AddSliceProxy(VIEW_PHONERING, phoneringview);\r
}\r
\r
-void NativeLauncher::InitBloodSlice(void) //血氧\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitBloodSlice");\r
- SliceProxy *bloodview = new AbilitySliceProxy<BloodView, BloodPresenter>;\r
- if (bloodview == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bloodview");\r
- return;\r
- }\r
- NativeAbility::GetInstance().AddSliceProxy(VIEW_BLOOD, bloodview);\r
-}\r
+// void NativeLauncher::InitBloodSlice(void) //血氧\r
+// {\r
+// WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "NativeLauncher::InitBloodSlice");\r
+// SliceProxy *bloodview = new AbilitySliceProxy<BloodView, BloodPresenter>;\r
+// if (bloodview == nullptr)\r
+// {\r
+// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bloodview");\r
+// return;\r
+// }\r
+// NativeAbility::GetInstance().AddSliceProxy(VIEW_BLOOD, bloodview);\r
+// }\r
\r
void NativeLauncher::InitBloodShowSlice(void)\r
{\r
{VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr},\r
{VIEW_BLOODPRESSURE, PNG_APPLIST_BLOODPRESSURE_IMAGE, PNG_APPLIST_BLOODPRESSURE_IMAGE, "睡眠监测", nullptr},\r
{VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温检测", nullptr},\r
- {VIEW_BLOOD, PNG_APPLIST_BLOOD_IMAGE, PNG_APPLIST_BLOOD_IMAGE, "血氧监测", nullptr},\r
+ //{VIEW_BLOOD, PNG_APPLIST_BLOOD_IMAGE, PNG_APPLIST_BLOOD_IMAGE, "血氧监测", nullptr},\r
{VIEW_HEARTRATEREMIND, PNG_APPLIST_HEARTRATE_IMAGE, PNG_APPLIST_HEARTRATE_IMAGE, "心率检测", nullptr},\r
{VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr},\r
};\r
+++ /dev/null
-#ifndef _Blood_PRESENTER_H\r
-#define _Blood_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "BloodView.h"\r
-\r
-namespace OHOS\r
-{\r
- class BloodView;\r
-\r
- class BloodPresenter : public Presenter<BloodView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener\r
- {\r
- public:\r
- BloodPresenter();\r
- virtual ~BloodPresenter();\r
-\r
- void OnStart() override;\r
- void OnPause() override;\r
- void OnResume() override;\r
- void OnStop() override;\r
-\r
- static BloodPresenter *GetInstance();\r
-\r
- private:\r
- // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
- bool OnClick(UIView &view, const ClickEvent &event) override;\r
- bool OnDrag(UIView &view, const DragEvent &event) override;\r
- };\r
-} // namespace OHOS\r
-\r
-#endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2023-12-12 16:55:23\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-01-15 17:21:42\r
+ * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/blood/include/BloodView.h\r
+ * @Description:\r
+ * @\r
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.\r
+ */\r
#ifndef _Blood_VIEW_H\r
#define _Blood_VIEW_H\r
\r
#include "components/ui_button.h"\r
#include "components/ui_image_animator.h"\r
#include "components/ui_label_button_ext.h"\r
+#include "components/ui_card_page.h"\r
+\r
+\r
\r
-#include "BloodPresenter.h"\r
namespace OHOS\r
{\r
\r
#define WARNING "button1"\r
#define CHECK "button2"\r
\r
- class BloodPresenter;\r
- class BloodView : public View<BloodPresenter>\r
+ class BloodView : public UICardPage\r
{\r
\r
public:\r
virtual ~BloodView();\r
static BloodView *GetInstance(void);\r
\r
- void OnStart() override;\r
- void OnSetUpView() override;\r
- void OnTearDownView() override;\r
- void OnStop() override;\r
- void Init();\r
+ bool InitView();\r
void DeInit();\r
\r
- UIView *GetView();\r
+ bool AddButton();\r
+ bool InitLable();\r
+ bool Initbackground();\r
+\r
+ void PreLoad(void) override;\r
+ void UnLoad(void) override;\r
\r
private:\r
UIView::OnDragListener *draglistener{nullptr};\r
BloodView(BloodView &&) = delete;\r
BloodView &operator=(BloodView &&) = delete;\r
\r
- UIViewGroup *container_ = nullptr;\r
- UIImageView *image1_ = nullptr;\r
- UIButton *button1_ = nullptr;\r
- UILabelButtonExt *labelButton1_ = nullptr;\r
- UILabel *label2_ = nullptr;\r
- UILabel *label1_ = nullptr;\r
- UILabel *label3_ = nullptr;\r
+ UIImageView *background = nullptr;\r
+ UIButton *warnButton = nullptr;\r
+ UILabelButtonExt *monitorButton = nullptr;\r
+ UILabel *titleLabel = nullptr;\r
+ UILabel *bloodLabel = nullptr;\r
+ UILabel *timeLabel = nullptr;\r
+ bool viewiInitStatus{false};\r
};\r
} // namespace OHOS\r
#endif // Blood_PRESENTER_H\r
}\r
if (strcmp(view.GetViewId(), LABELBUTTONSTOP) == 0)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
}\r
\r
return true;\r
+/*** \r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2023-12-12 16:55:23\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-01-15 17:48:26\r
+ * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodNotePresenter.cpp\r
+ * @Description: \r
+ * @\r
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved. \r
+ */\r
#include "AppViewIDs.h"\r
#include "NativeAbility.h"\r
\r
// 根据控件id查找是哪个控件触发了点击回调\r
if (strcmp(view.GetViewId(), NOTEBUTTON) == 0)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
}\r
\r
return true;\r
+++ /dev/null
-#include "AppViewIDs.h"\r
-#include "NativeAbility.h"\r
-\r
-#include "blood/include/BloodPresenter.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- // 当前Presenter属性实例化的内存指针\r
- static BloodPresenter *g_pBloodPresenter = nullptr;\r
-\r
- BloodPresenter::BloodPresenter()\r
- {\r
-\r
- g_pBloodPresenter = this;\r
- }\r
-\r
- BloodPresenter::~BloodPresenter()\r
- {\r
-\r
- g_pBloodPresenter = nullptr;\r
- }\r
-\r
- BloodPresenter *BloodPresenter::GetInstance()\r
- {\r
-\r
- return g_pBloodPresenter;\r
- }\r
-\r
- void BloodPresenter::OnStart()\r
- {\r
-\r
- Presenter<BloodView>::OnStart();\r
- }\r
-\r
- void BloodPresenter::OnPause(void)\r
- {\r
-\r
- Presenter<BloodView>::OnPause();\r
- }\r
-\r
- void BloodPresenter::OnResume(void)\r
- {\r
-\r
- Presenter<BloodView>::OnResume();\r
- }\r
-\r
- void BloodPresenter::OnStop(void)\r
- {\r
-\r
- Presenter<BloodView>::OnStop();\r
- }\r
-\r
- bool BloodPresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
-\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
- {\r
- printf("draglistene is ok!\n");\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);\r
- }\r
- UNUSED(view);\r
- return true;\r
- }\r
-\r
- bool BloodPresenter::OnClick(UIView &view, const ClickEvent &event)\r
- {\r
- // 根据控件id查找是哪个控件触发了点击回调\r
- if (strcmp(view.GetViewId(), WARNING) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BLOODSHOW);\r
- }\r
- if (strcmp(view.GetViewId(), CHECK) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BLOODCHECK);\r
- }\r
- return true;\r
- }\r
-}
\ No newline at end of file
+/*** \r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2023-12-12 16:55:23\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-01-15 17:48:43\r
+ * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodShowPresenter.cpp\r
+ * @Description: \r
+ * @\r
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved. \r
+ */\r
#include "AppViewIDs.h"\r
#include "NativeAbility.h"\r
\r
if (event.GetDragDirection() == DragEvent::DIRECTION_RIGHT_TO_LEFT)\r
{\r
printf("draglistene is ok!\n");\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
+ //NativeAbility::GetInstance().ChangeSlice(VIEW_BLOOD);\r
}\r
UNUSED(view);\r
return true;\r
-\r
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2023-12-12 16:55:23\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-01-15 17:31:26\r
+ * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodView.cpp\r
+ * @Description:\r
+ * @\r
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.\r
+ */\r
\r
#include "blood/include/BloodView.h"\r
\r
#include "ui_resource_image.h"\r
#include <ui_scroll_view.h>\r
#include "components/ui_button.h"\r
+#include "MainViewSample.h"\r
+#include "components/ui_view_group.h"\r
+\r
namespace OHOS\r
{\r
static BloodView *g_pBloodView{nullptr};\r
\r
BloodView::BloodView()\r
{\r
-\r
+ SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
g_pBloodView = this;\r
}\r
\r
\r
BloodView *BloodView::GetInstance()\r
{\r
-\r
return g_pBloodView;\r
}\r
-\r
-void BloodView::Init()\r
-{\r
- if (container_ == nullptr) {\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- }\r
- \r
- // Add ImageView to App\r
- if (image1_ == nullptr) {\r
- image1_ = new UIImageView();\r
- }\r
- image1_->SetPosition(0, 0); // widget's left position and top position\r
- image1_->Resize(100, 100); // widget's width and height\r
- image1_->SetViewId("image1");// Set style\r
-\r
- // Set additional property\r
-#ifdef _WIN32\r
- char* image1imagesPath = "c:/Users/caiking/project/image_converter_tool/output/BloodOxygen/beijing.bin";\r
-#else\r
- char* image1imagesPath = "/user/res/Blood/beijing.bin";\r
-#endif\r
- image1_->SetSrc(image1imagesPath);\r
-\r
- // Add to rootView\r
- container_->Add(image1_);\r
- image1_->SetVisible(true);\r
- \r
- // Add Button to App\r
- if (button1_ == nullptr) {\r
- button1_ = new UIButton();\r
- }\r
- button1_->SetPosition(300, 57); // widget's left position and top position\r
- button1_->Resize(26, 26); // widget's width and height\r
- button1_->SetViewId(WARNING);// Set style\r
- button1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
- button1_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
- // Set additional property\r
-#ifdef _WIN32\r
- char* button1defaultImgSrc = "c:/Users/caiking/project/image_converter_tool/output/BloodOxygen/Vector.bin";\r
-#else\r
- char* button1defaultImgSrc = "/user/res/Blood/Vector.bin";\r
-#endif\r
- char * button1triggeredImgSrc = nullptr;\r
- button1_->SetImageSrc(button1defaultImgSrc, button1triggeredImgSrc);\r
- button1_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener* button1Click = static_cast<UIView::OnClickListener*>(BloodPresenter::GetInstance());\r
- button1_->SetOnClickListener(button1Click);\r
- // Add to rootView\r
- container_->Add(button1_);\r
- button1_->SetVisible(true);\r
- \r
- // Add LabelButtonExt to App\r
- if (labelButton1_ == nullptr) {\r
- labelButton1_ = new UILabelButtonExt();\r
- }\r
- labelButton1_->SetPosition(118, 336); // widget's left position and top position\r
- labelButton1_->Resize(230, 80); // widget's width and height\r
- labelButton1_->SetViewId(CHECK);// Set style\r
- labelButton1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xffcd492c);\r
-\r
- // Set additional property\r
- labelButton1_->SetText("检测");\r
- labelButton1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
- labelButton1_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener* labelButton1Click = static_cast<UIView::OnClickListener*>(BloodPresenter::GetInstance());\r
- labelButton1_->SetOnClickListener(labelButton1Click);\r
- // Add to rootView\r
- container_->Add(labelButton1_);\r
- labelButton1_->SetVisible(true);\r
- \r
- // Add Label to App\r
- if (label2_ == nullptr) {\r
- label2_ = new UILabel();\r
- }\r
- label2_->SetPosition(157, 105); // widget's left position and top position\r
- label2_->Resize(200, 60); // widget's width and height\r
- label2_->SetViewId("label2");// Set style\r
- label2_->SetStyle(STYLE_TEXT_FONT, 140);\r
-\r
- // Set additional property\r
- label2_->SetText("98");\r
- label2_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label2_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label2_->SetRollSpeed(0);\r
- label2_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 140);\r
-\r
- // Add to rootView\r
- container_->Add(label2_);\r
- label2_->SetVisible(true);\r
- \r
- // Add Label to App\r
- if (label1_ == nullptr) {\r
- label1_ = new UILabel();\r
- }\r
- label1_->SetPosition(141, 263); // widget's left position and top position\r
- label1_->Resize(185, 35); // widget's width and height\r
- label1_->SetViewId("label1");// Set style\r
- label1_->SetStyle(STYLE_TEXT_FONT, 30);\r
-\r
- // Set additional property\r
- label1_->SetText("20分钟前检测");\r
- label1_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label1_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label1_->SetRollSpeed(0);\r
- label1_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to rootView\r
- container_->Add(label1_);\r
- label1_->SetVisible(true);\r
- \r
- // Add Label to App\r
- if (label3_ == nullptr) {\r
- label3_ = new UILabel();\r
- }\r
- label3_->SetPosition(143, 52); // widget's left position and top position\r
- label3_->Resize(200, 60); // widget's width and height\r
- label3_->SetViewId("label3");// Set style\r
- label3_->SetStyle(STYLE_TEXT_FONT, 30);\r
-\r
- // Set additional property\r
- label3_->SetText("血氧饱和度");\r
- label3_->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- label3_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- label3_->SetRollSpeed(0);\r
- label3_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to rootView\r
- container_->Add(label3_);\r
- label3_->SetVisible(true);\r
- \r
-}\r
-\r
-void BloodView::DeInit()\r
-{\r
- if (container_ != nullptr) {\r
- container_->RemoveAll();\r
- delete container_ ;\r
- container_ = nullptr;\r
- }\r
- if (image1_ != nullptr) {\r
- delete image1_;\r
- image1_ = nullptr;\r
- }\r
- if (button1_ != nullptr) {\r
- delete button1_;\r
- button1_ = nullptr;\r
- }\r
- if (labelButton1_ != nullptr) {\r
- delete labelButton1_;\r
- labelButton1_ = nullptr;\r
- }\r
- if (label2_ != nullptr) {\r
- delete label2_;\r
- label2_ = nullptr;\r
- }\r
- if (label1_ != nullptr) {\r
- delete label1_;\r
- label1_ = nullptr;\r
- }\r
- if (label3_ != nullptr) {\r
- delete label3_;\r
- label3_ = nullptr;\r
- }\r
-}\r
-\r
-UIView* BloodView::GetView()\r
-{\r
- Init();\r
- return container_;\r
-}\r
- void BloodView::OnStart()\r
+ /***\r
+ * @description:\r
+ * @return 添加按键是否成功\r
+ */\r
+ bool BloodView::AddButton()\r
{\r
- container_ = new UIScrollView();\r
- if (container_ == nullptr)\r
+ // Add Button to App\r
+ if (warnButton == nullptr)\r
{\r
- return;\r
+ warnButton = new UIButton();\r
}\r
- container_->SetPosition(0, 0);\r
- container_->SetWidth(Screen::GetInstance().GetWidth());\r
- container_->SetHeight(Screen::GetInstance().GetHeight());\r
-\r
- // 创建 draglistener 实例并设置为拖动监听器\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(BloodPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
+ warnButton->SetPosition(300, 57); // widget's left position and top position\r
+ warnButton->Resize(26, 26); // widget's width and height\r
+ warnButton->SetViewId(WARNING); // Set style\r
+ warnButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);\r
+ warnButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+\r
+ // Set additional property\r
+ char *button1defaultImgSrc = "/user/res/Blood/Vector.bin";\r
+ char *button1triggeredImgSrc = nullptr;\r
+ warnButton->SetImageSrc(button1defaultImgSrc, button1triggeredImgSrc);\r
+ warnButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+ // Add the CallBack about events\r
+ // UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(BloodPresenter::GetInstance());\r
+ // warnButton->SetOnClickListener(button1Click);\r
+ // Add to rootView\r
+ Add(warnButton);\r
+\r
+ // Add LabelButtonExt to App\r
+ if (monitorButton == nullptr)\r
{\r
- return;\r
+ monitorButton = new UILabelButtonExt();\r
}\r
- container_->SetOnDragListener(draglistener);\r
-\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
-\r
- GetView();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void BloodView::OnSetUpView()\r
+ monitorButton->SetPosition(118, 336); // widget's left position and top position\r
+ monitorButton->Resize(230, 80); // widget's width and height\r
+ monitorButton->SetViewId(CHECK); // Set style\r
+ monitorButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffcd492c);\r
+\r
+ // Set additional property\r
+ monitorButton->SetText("检测");\r
+ monitorButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+ monitorButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+ // UIView::OnClickListener *labelButton1Click = static_cast<UIView::OnClickListener *>(BloodPresenter::GetInstance());\r
+ // monitorButton->SetOnClickListener(labelButton1Click);\r
+ Add(monitorButton);\r
+ return true;\r
+ }\r
+ /***\r
+ * @description:\r
+ * @return 初始化标签是否成功\r
+ */\r
+ bool BloodView::InitLable()\r
+ {\r
+ // Add Label to App\r
+ if (bloodLabel == nullptr)\r
+ {\r
+ bloodLabel = new UILabel();\r
+ }\r
+ bloodLabel->SetPosition(157, 105); // widget's left position and top position\r
+ bloodLabel->Resize(200, 60); // widget's width and height\r
+ bloodLabel->SetViewId("label2"); // Set style\r
+ bloodLabel->SetStyle(STYLE_TEXT_FONT, 140);\r
+\r
+ // Set additional property\r
+ int bloodoxygen = 98;\r
+ bloodLabel->SetText(std::to_string(bloodoxygen).c_str());\r
+ bloodLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ bloodLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ bloodLabel->SetRollSpeed(0);\r
+ bloodLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 140);\r
+\r
+ // Add to rootView\r
+ Add(bloodLabel);\r
+\r
+ // Add Label to App\r
+ if (timeLabel == nullptr)\r
+ {\r
+ timeLabel = new UILabel();\r
+ }\r
+ timeLabel->SetPosition(141, 263); // widget's left position and top position\r
+ timeLabel->Resize(185, 35); // widget's width and height\r
+ timeLabel->SetViewId("label1"); // Set style\r
+ timeLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+\r
+ // Set additional property\r
+ timeLabel->SetText("20分钟前检测");\r
+ timeLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ timeLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ timeLabel->SetRollSpeed(0);\r
+ timeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
+ // Add to rootView\r
+ Add(timeLabel);\r
+\r
+ // Add Label to App\r
+ if (titleLabel == nullptr)\r
+ {\r
+ titleLabel = new UILabel();\r
+ }\r
+ titleLabel->SetPosition(143, 52); // widget's left position and top position\r
+ titleLabel->Resize(200, 60); // widget's width and height\r
+ titleLabel->SetViewId("label3"); // Set style\r
+ titleLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
+\r
+ // Set additional property\r
+ titleLabel->SetText("血氧饱和度");\r
+ titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ titleLabel->SetRollSpeed(0);\r
+ titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+\r
+ // Add to rootView\r
+ Add(titleLabel);\r
+ return true;\r
+ }\r
+ /***\r
+ * @description:\r
+ * @return 初始化背景是否成功\r
+ */\r
+ bool BloodView::Initbackground()\r
+ {\r
+ // Add ImageView to App\r
+ if (background == nullptr)\r
+ {\r
+ background = new UIImageView();\r
+ }\r
+ background->SetPosition(0, 0); // widget's left position and top position\r
+ background->Resize(466, 466); // widget's width and height\r
+ background->SetViewId("image1"); // Set style\r
+ // Set additional property\r
+ char *image1imagesPath = "/user/res/Blood/beijing.bin";\r
+ background->SetSrc(image1imagesPath);\r
+\r
+ // Add to rootView\r
+ Add(background);\r
+ return true;\r
+ }\r
+ /***\r
+ * @description:\r
+ * @return 是否初始化成功\r
+ */\r
+ bool BloodView::InitView()\r
+ {\r
+ printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__);\r
+ if (!Initbackground())\r
+ {\r
+ printf("Initbackground error!\n");\r
+ };\r
+ if (!InitLable())\r
+ {\r
+ printf("InitLable error!\n");\r
+ };\r
+ if (!AddButton())\r
+ {\r
+ printf("AddButton error!\n");\r
+ };\r
+ SetCoverable(true);\r
+ return true;\r
+ }\r
+ /***\r
+ * @description:\r
+ * @return 删除组件\r
+ */\r
+ void BloodView::DeInit()\r
{\r
\r
- View<BloodPresenter>::OnSetUpView();\r
- Draw();\r
+ if (background != nullptr)\r
+ {\r
+ delete background;\r
+ background = nullptr;\r
+ }\r
+ if (warnButton != nullptr)\r
+ {\r
+ delete warnButton;\r
+ warnButton = nullptr;\r
+ }\r
+ if (monitorButton != nullptr)\r
+ {\r
+ delete monitorButton;\r
+ monitorButton = nullptr;\r
+ }\r
+ if (bloodLabel != nullptr)\r
+ {\r
+ delete bloodLabel;\r
+ bloodLabel = nullptr;\r
+ }\r
+ if (timeLabel != nullptr)\r
+ {\r
+ delete timeLabel;\r
+ timeLabel = nullptr;\r
+ }\r
+ if (titleLabel != nullptr)\r
+ {\r
+ delete titleLabel;\r
+ titleLabel = nullptr;\r
+ }\r
}\r
-\r
- void BloodView::OnTearDownView()\r
+ void BloodView::PreLoad(void)\r
{\r
-\r
- View<BloodPresenter>::OnTearDownView();\r
- return;\r
+ //printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__);\r
+ if (InitView())\r
+ {\r
+ viewiInitStatus = true;\r
+ }\r
}\r
\r
- void BloodView::OnStop()\r
+ void BloodView::UnLoad(void)\r
{\r
- View<BloodPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
}\r
+\r
}\r
#include "components/ui_sweep_clock.h"
#include <ctime>
#include <fstream>
-#include <string>
#include "battery.h"
#include "cJSON.h"
#include "sys/time.h"
{
std::string Dialtype = cJSON_GetObjectItem(cjson_json, "Dialtype")->valuestring;
Initbackground();
-
if (Dialtype == "pointer")
{
Initpointer();
* @Author: Caisking 3449750381@qq.com\r
* @Date: 2023-12-12 16:55:29\r
* @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-01-15 16:40:09\r
+ * @LastEditTime: 2024-01-15 17:19:52\r
* @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h\r
* @Description: \r
* @\r
#include "PullUpDownView.h"\r
#include "components/ui_cross_view.h"\r
#include "dial/include/Digital_clockView.h"\r
+#include "blood/include/BloodView.h"\r
namespace OHOS {\r
class MainPresenterSample;\r
class MainViewSample : public View<MainPresenterSample> {\r
UICardPage *InitCompassPage(void);\r
UICardPage *InitMusicPlayerPage(void);\r
UICardPage *InitNewDialPage(void);\r
+ UICardPage *InitBloodOxygenPage(void);\r
+ \r
void AnimatorStart(int pageIndex);\r
void AnimatorStop(void);\r
uint16_t GetHorCurrentPage() const\r
PullUpDownView *dropDownView{nullptr};\r
UICardPage *messageView{nullptr};\r
UILabel *messageLable{nullptr};\r
+ \r
+ /* -------------------------------------------------------------------------- */\r
Digital_clockView *mainClockView{nullptr};\r
ActivityWeekView *activityWeekView{nullptr};\r
PlayersView *playersView{nullptr};\r
+ /* -------------------------------------------------------------------------- */\r
+\r
CompassControlView *compassControlView{nullptr};\r
HeartRateView *heartRateView{nullptr};\r
Digital_clockView*dialView{nullptr};\r
+ BloodView*bloodView{nullptr};\r
UICardPage *recordCard[MAX_CARD]{nullptr};\r
bool pageStatus[MAX_CARD]{false};\r
UICrossView *mainSwipeGroup{nullptr};\r
swipeDirect = VERTICAL_SWIPE;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "vertical->OnDragEvent2, direct:%d index: %d", swipeDirect, vertical->GetCurrentPage());\r
vertical->OnDragEvent(event);\r
- } else if ((event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) &&\r
- (event.GetStartPoint().y > 300) && (horizontal->GetCurrentPage() == MUSIC_PLAYER)) {\r
- PlayersPresenter::GetInstance()->ShowPlayerListGroup();\r
}\r
+ // } else if ((event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) &&\r
+ // (event.GetStartPoint().y > 300) && (horizontal->GetCurrentPage() == MUSIC_PLAYER)) {\r
+ // PlayersPresenter::GetInstance()->ShowPlayerListGroup();\r
+ // }\r
}\r
} else if (swipeDirect == HORIZONTAL_SWIPE) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "horizontal->OnDragEvent2, direct:%d index: %d", swipeDirect, horizontal->GetCurrentPage());\r
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2023-12-12 16:55:29\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-01-15 18:54:40\r
+ * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp\r
+ * @Description:\r
+ * @\r
+ * @Copyright (c) 2024 by Caisking , All Rights Reserved.\r
+ */\r
/*\r
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
* Description: MainViewSample\r
#include "MainViewSample.h"\r
#include "graphic_service.h"\r
\r
-namespace OHOS {\r
-\r
-static MainViewSample *g_pMainView = nullptr;\r
-static constexpr uint16_t MESLABLE_X_TMP = 177;\r
-static constexpr uint16_t MESLABLE_Y_TMP = 212;\r
-static constexpr uint16_t MESLABLE_WIDTH_TMP = 100;\r
-static constexpr uint16_t MESLABLE_HEIGHT_TMP = 30;\r
-static constexpr uint8_t FONT_SIZE_TMP = 24;\r
-static constexpr uint8_t PULL_MIDDLE_VIEW_OPA = 0;\r
-\r
-struct MainViewMapper {\r
- CardId id;\r
- UICardPage *(MainViewSample::*func)(void);\r
-};\r
-\r
-static const MainViewMapper PageMapper[] = {\r
- {HEART_RATE, &MainViewSample::InitHeartRatePage},\r
- {COMPASS, &MainViewSample::InitCompassPage},\r
- {ACTIVITY, &MainViewSample::InitActivityPage},\r
- {MUSIC_PLAYER, &MainViewSample::InitMusicPlayerPage},\r
- {NEW_DAIL,&MainViewSample::InitNewDialPage},\r
-};\r
-\r
-MainViewSample::MainViewSample()\r
+namespace OHOS\r
{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::MainViewSample");\r
- g_pMainView = this;\r
-}\r
\r
-MainViewSample::~MainViewSample()\r
-{\r
- dropDownView->ClearBackgroundBlur();\r
- messageView->ClearBackgroundBlur();\r
-\r
- for (int32_t i = 0; i < maxPage; i++) {\r
- recordCard[i] = nullptr;\r
- pageStatus[i] = false;\r
+ static MainViewSample *g_pMainView = nullptr;\r
+ static constexpr uint16_t MESLABLE_X_TMP = 177;\r
+ static constexpr uint16_t MESLABLE_Y_TMP = 212;\r
+ static constexpr uint16_t MESLABLE_WIDTH_TMP = 100;\r
+ static constexpr uint16_t MESLABLE_HEIGHT_TMP = 30;\r
+ static constexpr uint8_t FONT_SIZE_TMP = 24;\r
+ static constexpr uint8_t PULL_MIDDLE_VIEW_OPA = 0;\r
+\r
+ struct MainViewMapper\r
+ {\r
+ CardId id;\r
+ UICardPage *(MainViewSample::*func)(void);\r
+ };\r
+\r
+ static const MainViewMapper PageMapper[] = {\r
+ {NEW_DAIL, &MainViewSample::InitNewDialPage},\r
+ {HEART_RATE, &MainViewSample::InitHeartRatePage},\r
+ {COMPASS, &MainViewSample::InitCompassPage},\r
+ {BloodOxygen, &MainViewSample::InitBloodOxygenPage},\r
+ };\r
+\r
+ MainViewSample::MainViewSample()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::MainViewSample");\r
+ g_pMainView = this;\r
}\r
\r
- if (mainSwipeGroup != nullptr) {\r
- delete mainSwipeGroup;\r
- mainSwipeGroup = nullptr;\r
- }\r
-\r
- if (mainClockView != nullptr) {\r
- delete mainClockView;\r
- mainClockView = nullptr;\r
- }\r
-\r
- if (activityWeekView != nullptr) {\r
- delete activityWeekView;\r
- activityWeekView = nullptr;\r
- }\r
+ MainViewSample::~MainViewSample()\r
+ {\r
+ dropDownView->ClearBackgroundBlur();\r
+ messageView->ClearBackgroundBlur();\r
\r
- if (playersView != nullptr) {\r
- delete playersView;\r
- playersView = nullptr;\r
- }\r
-\r
- if (heartRateView != nullptr) {\r
- delete heartRateView;\r
- heartRateView = nullptr;\r
- }\r
+ for (int32_t i = 0; i < maxPage; i++)\r
+ {\r
+ recordCard[i] = nullptr;\r
+ pageStatus[i] = false;\r
+ }\r
\r
- if (dropDownView != nullptr) {\r
- delete dropDownView;\r
- dropDownView = nullptr;\r
- }\r
+ if (mainSwipeGroup != nullptr)\r
+ {\r
+ delete mainSwipeGroup;\r
+ mainSwipeGroup = nullptr;\r
+ }\r
\r
- if (messageView != nullptr) {\r
- messageView->RemoveAll();\r
- delete messageView;\r
- messageView = nullptr;\r
- }\r
+ if (mainClockView != nullptr)\r
+ {\r
+ delete mainClockView;\r
+ mainClockView = nullptr;\r
+ }\r
\r
- if (messageLable != nullptr) {\r
- delete messageLable;\r
- messageLable = nullptr;\r
- }\r
+ if (activityWeekView != nullptr)\r
+ {\r
+ delete activityWeekView;\r
+ activityWeekView = nullptr;\r
+ }\r
\r
- if (compassControlView != nullptr) {\r
- delete compassControlView;\r
- compassControlView = nullptr;\r
- }\r
+ if (playersView != nullptr)\r
+ {\r
+ delete playersView;\r
+ playersView = nullptr;\r
+ }\r
\r
- if (dialView != nullptr) {\r
- delete dialView;\r
- dialView = nullptr;\r
- }\r
+ if (heartRateView != nullptr)\r
+ {\r
+ delete heartRateView;\r
+ heartRateView = nullptr;\r
+ }\r
\r
- g_pMainView = nullptr;\r
-}\r
+ if (dropDownView != nullptr)\r
+ {\r
+ delete dropDownView;\r
+ dropDownView = nullptr;\r
+ }\r
\r
+ if (messageView != nullptr)\r
+ {\r
+ messageView->RemoveAll();\r
+ delete messageView;\r
+ messageView = nullptr;\r
+ }\r
\r
+ if (messageLable != nullptr)\r
+ {\r
+ delete messageLable;\r
+ messageLable = nullptr;\r
+ }\r
\r
-MainViewSample *MainViewSample::GetInstance(void)\r
-{\r
- return g_pMainView;\r
-}\r
+ if (compassControlView != nullptr)\r
+ {\r
+ delete compassControlView;\r
+ compassControlView = nullptr;\r
+ }\r
\r
-void MainViewSample::OnStart()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnStart");\r
- View<MainPresenterSample>::OnStart();\r
- BaseView::RootView(Color::Black().full);\r
+ if (dialView != nullptr)\r
+ {\r
+ delete dialView;\r
+ dialView = nullptr;\r
+ }\r
+ if (bloodView != nullptr)\r
+ {\r
+ delete bloodView;\r
+ bloodView = nullptr;\r
+ }\r
+ g_pMainView = nullptr;\r
+ }\r
\r
- mainSwipeGroup = new UICrossView();\r
- if (mainSwipeGroup == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "mainSwipeGroup new fail");\r
- return;\r
+ MainViewSample *MainViewSample::GetInstance(void)\r
+ {\r
+ return g_pMainView;\r
}\r
\r
- if (callback == nullptr) {\r
- callback = new ZoomEffect();\r
- if (callback == nullptr) {\r
- delete mainSwipeGroup;\r
- mainSwipeGroup = nullptr;\r
- GRAPHIC_LOGE("SwipeCallback new fail\n");\r
+ void MainViewSample::OnStart()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnStart");\r
+ View<MainPresenterSample>::OnStart();\r
+ BaseView::RootView(Color::Black().full);\r
+\r
+ mainSwipeGroup = new UICrossView();\r
+ if (mainSwipeGroup == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "mainSwipeGroup new fail");\r
return;\r
}\r
- }\r
\r
- HorizontalViewInit();\r
- HorViewLoad();\r
- VerticalViewInit();\r
- VertViewLoad();\r
- mainSwipeGroup->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- mainSwipeGroup->SetAnimatorTime(50); // 50: animator drag time(ms);\r
- mainSwipeGroup->SetLoopState(true);\r
- mainSwipeGroup->EnableScreenCap(true);\r
- mainSwipeGroup->RegisterSwipeCallback(callback);\r
- mainSwipeGroup->SetHorCurrentPage(dialView->GetViewIndex());\r
- SetContainerView(mainSwipeGroup);\r
-}\r
+ if (callback == nullptr)\r
+ {\r
+ callback = new ZoomEffect();\r
+ if (callback == nullptr)\r
+ {\r
+ delete mainSwipeGroup;\r
+ mainSwipeGroup = nullptr;\r
+ GRAPHIC_LOGE("SwipeCallback new fail\n");\r
+ return;\r
+ }\r
+ }\r
\r
-bool MainViewSample::HorizontalViewInit(void)\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::HorizontalViewInit");\r
- UISwipeView::OnSwipeListener *listener = nullptr;\r
+ HorizontalViewInit();\r
+ HorViewLoad();\r
+ VerticalViewInit();\r
+ VertViewLoad();\r
+ mainSwipeGroup->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ mainSwipeGroup->SetAnimatorTime(50); // 50: animator drag time(ms);\r
+ mainSwipeGroup->SetLoopState(true);\r
+ mainSwipeGroup->EnableScreenCap(true);\r
+ mainSwipeGroup->RegisterSwipeCallback(callback);\r
+ mainSwipeGroup->SetHorCurrentPage(dialView->GetViewIndex());\r
+ SetContainerView(mainSwipeGroup);\r
+ }\r
\r
- maxPage = ScreenModels::GetInstance()->GetMaxCard();\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::HorizontalViewInit1");\r
+ bool MainViewSample::HorizontalViewInit(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::HorizontalViewInit");\r
+ UISwipeView::OnSwipeListener *listener = nullptr;\r
+\r
+ maxPage = ScreenModels::GetInstance()->GetMaxCard();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::HorizontalViewInit1");\r
+\r
+ for (int16_t i = 0; i < maxPage; i++)\r
+ {\r
+ recordCard[i] = CreatePage(i);\r
+ if (recordCard[i] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainViewSample:: recordCard %d error", i);\r
+ return false;\r
+ }\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample:: recordCard[%d]:%p", i, recordCard[i]);\r
+ }\r
\r
- for (int16_t i = 0; i < maxPage; i++) {\r
- recordCard[i] = CreatePage(i);\r
- if (recordCard[i] == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainViewSample:: recordCard %d error", i);\r
+ listener = static_cast<UISwipeView::OnSwipeListener *>(MainPresenterSample::GetInstance());\r
+ if (listener == nullptr)\r
+ {\r
return false;\r
}\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample:: recordCard[%d]:%p", i, recordCard[i]);\r
+ MainPresenterSample::GetInstance()->setCallback(callback);\r
+ mainSwipeGroup->SetOnSwipeListener(listener);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");\r
+ return true;\r
}\r
\r
- listener = static_cast<UISwipeView::OnSwipeListener *>(MainPresenterSample::GetInstance());\r
- if (listener == nullptr) {\r
- return false;\r
+ void MainViewSample::HorViewLoad(void)\r
+ {\r
+ for (int16_t i = 0; i < maxPage; i++)\r
+ {\r
+ mainSwipeGroup->HorAdd(recordCard[i]);\r
+ }\r
}\r
- MainPresenterSample::GetInstance()->setCallback(callback);\r
- mainSwipeGroup->SetOnSwipeListener(listener);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");\r
- return true;\r
-}\r
\r
-void MainViewSample::HorViewLoad(void)\r
-{\r
- for (int16_t i = 0; i < maxPage; i++) {\r
- mainSwipeGroup->HorAdd(recordCard[i]);\r
+ void MainViewSample::VerticalViewInit(void)\r
+ {\r
+ dropDownView = new PullUpDownView();\r
+ if (dropDownView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDownView new fail");\r
+ return;\r
+ }\r
+ dropDownView->PreLoad();\r
+ dropDownView->SetViewId("dropDownView");\r
+ dropDownView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ dropDownView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
+\r
+ messageView = new UICardPage();\r
+ if (messageView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageView new fail");\r
+ return;\r
+ }\r
+ messageView->SetPosition(0, 0);\r
+ messageView->SetWidth(Screen::GetInstance().GetWidth());\r
+ messageView->SetHeight(Screen::GetInstance().GetHeight());\r
+ messageView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
+ messageView->SetViewId("messageView");\r
+ messageView->SetTouchable(true);\r
+ messageView->SetIntercept(true);\r
+ messageLable = new UILabel();\r
+ if (messageLable == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageLable new fail");\r
+ return;\r
+ }\r
+ messageLable->SetPosition(MESLABLE_X_TMP, MESLABLE_Y_TMP, MESLABLE_WIDTH_TMP, MESLABLE_HEIGHT_TMP);\r
+ messageLable->SetText("无消息");\r
+ messageLable->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ messageLable->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_SIZE_TMP);\r
+ messageLable->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
+ messageView->Add(messageLable);\r
}\r
-}\r
\r
-void MainViewSample::VerticalViewInit(void)\r
-{\r
- dropDownView = new PullUpDownView();\r
- if (dropDownView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dropDownView new fail");\r
- return;\r
+ void MainViewSample::VertViewLoad(void)\r
+ {\r
+ mainSwipeGroup->VerAdd(dropDownView, UICrossView::VPage::UP_PAGE);\r
+ mainSwipeGroup->VerAdd(messageView, UICrossView::VPage::DOWN_PAGE);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::PullViewLoad::Pull View Load complete");\r
}\r
- dropDownView->PreLoad();\r
- dropDownView->SetViewId("dropDownView");\r
- dropDownView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- dropDownView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
-\r
- messageView = new UICardPage();\r
- if (messageView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageView new fail");\r
- return;\r
- }\r
- messageView->SetPosition(0, 0);\r
- messageView->SetWidth(Screen::GetInstance().GetWidth());\r
- messageView->SetHeight(Screen::GetInstance().GetHeight());\r
- messageView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
- messageView->SetViewId("messageView");\r
- messageView->SetTouchable(true);\r
- messageView->SetIntercept(true);\r
- messageLable = new UILabel();\r
- if (messageLable == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "messageLable new fail");\r
- return;\r
- }\r
- messageLable->SetPosition(MESLABLE_X_TMP, MESLABLE_Y_TMP, MESLABLE_WIDTH_TMP, MESLABLE_HEIGHT_TMP);\r
- messageLable->SetText("无消息");\r
- messageLable->SetAlign(TEXT_ALIGNMENT_CENTER);\r
- messageLable->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_SIZE_TMP);\r
- messageLable->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);\r
- messageView->Add(messageLable);\r
-}\r
\r
-void MainViewSample::VertViewLoad(void)\r
-{\r
- mainSwipeGroup->VerAdd(dropDownView, UICrossView::VPage::UP_PAGE);\r
- mainSwipeGroup->VerAdd(messageView, UICrossView::VPage::DOWN_PAGE);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::PullViewLoad::Pull View Load complete");\r
-}\r
+ void MainViewSample::OnSetUpView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnSetUpView");\r
+ View<MainPresenterSample>::OnSetUpView();\r
\r
-void MainViewSample::OnSetUpView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnSetUpView");\r
- View<MainPresenterSample>::OnSetUpView();\r
+ // show timerView\r
+ Draw();\r
+ }\r
\r
- // show timerView\r
- Draw();\r
-}\r
+ void MainViewSample::OnTearDownView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnTearDownView");\r
+ View<MainPresenterSample>::OnTearDownView();\r
+ return;\r
+ }\r
\r
+ void MainViewSample::OnStop()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnStop");\r
+ View<MainPresenterSample>::OnStop();\r
+ container_ = nullptr;\r
\r
-void MainViewSample::OnTearDownView()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnTearDownView");\r
- View<MainPresenterSample>::OnTearDownView();\r
- return;\r
-}\r
-\r
-void MainViewSample::OnStop()\r
-{\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::OnStop");\r
- View<MainPresenterSample>::OnStop();\r
- container_ = nullptr;\r
-\r
- messageView->RemoveAll();\r
- RootView::GetInstance()->ClearOnKeyActListener();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
-}\r
-\r
-UICardPage *MainViewSample::InitWatchFacePage(void)\r
-{\r
- mainClockView = new Digital_clockView();\r
- if (mainClockView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainClockView new fail");\r
- return nullptr;\r
+ messageView->RemoveAll();\r
+ RootView::GetInstance()->ClearOnKeyActListener();\r
+ RootView::GetInstance()->RemoveAll();\r
+ return;\r
}\r
- return mainClockView;\r
-}\r
\r
-UICardPage *MainViewSample::InitHeartRatePage(void)\r
-{\r
- \r
- heartRateView = new HeartRateView();\r
- if (heartRateView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateView new fail");\r
- return nullptr;\r
+ /* -------------------------------------------------------------------------- */\r
+ UICardPage *MainViewSample::InitWatchFacePage(void)\r
+ {\r
+ mainClockView = new Digital_clockView();\r
+ if (mainClockView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainClockView new fail");\r
+ return nullptr;\r
+ }\r
+ return mainClockView;\r
}\r
- return heartRateView;\r
-}\r
-\r
-UICardPage *MainViewSample::InitActivityPage(void)\r
-{\r
- \r
- activityWeekView = new ActivityWeekView();\r
- if (activityWeekView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "activityWeekView new fail");\r
- return nullptr;\r
+ UICardPage *MainViewSample::InitActivityPage(void)\r
+ {\r
+\r
+ activityWeekView = new ActivityWeekView();\r
+ if (activityWeekView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "activityWeekView new fail");\r
+ return nullptr;\r
+ }\r
+ return activityWeekView;\r
}\r
- return activityWeekView;\r
-}\r
-\r
-UICardPage *MainViewSample::InitCompassPage(void)\r
-{\r
- \r
- compassControlView = new CompassControlView();\r
- if (compassControlView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "compassControlView new fail");\r
- return nullptr;\r
+ UICardPage *MainViewSample::InitMusicPlayerPage(void)\r
+ {\r
+\r
+ playersView = new PlayersView();\r
+ if (playersView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView new fail");\r
+ return nullptr;\r
+ }\r
+ return playersView;\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
+ // 主界面心率卡片\r
+ UICardPage *MainViewSample::InitHeartRatePage(void)\r
+ {\r
+\r
+ heartRateView = new HeartRateView();\r
+ if (heartRateView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateView new fail");\r
+ return nullptr;\r
+ }\r
+ return heartRateView;\r
+ }\r
+ // 主界面指南针卡片\r
+ UICardPage *MainViewSample::InitCompassPage(void)\r
+ {\r
+ compassControlView = new CompassControlView();\r
+ if (compassControlView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "compassControlView new fail");\r
+ return nullptr;\r
+ }\r
+ return compassControlView;\r
+ }\r
+ // 主界面表盘卡片\r
+ UICardPage *MainViewSample::InitNewDialPage(void)\r
+ {\r
+ dialView = new Digital_clockView();\r
+ if (dialView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dialView new fail");\r
+ return nullptr;\r
+ }\r
+ return dialView;\r
+ }\r
+ // 主界面血氧卡片\r
+ UICardPage *MainViewSample::InitBloodOxygenPage(void)\r
+ {\r
+ bloodView = new BloodView();\r
+ if (bloodView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodView new fail");\r
+ return nullptr;\r
+ }\r
+ return bloodView;\r
}\r
- return compassControlView;\r
-}\r
\r
-UICardPage *MainViewSample::InitMusicPlayerPage(void)\r
-{\r
- \r
- playersView = new PlayersView();\r
- if (playersView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "playersView new fail");\r
+ UICardPage *MainViewSample::CreatePage(int32_t StreamId)\r
+ {\r
+ uint16_t i;\r
+ UICardPage *view = nullptr;\r
+ int32_t cardId = ScreenModels::GetInstance()->GetCardPage(StreamId);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage cardId:%d", cardId);\r
+ for (i = 0; i < sizeof(PageMapper) / sizeof(PageMapper[0]); i++)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d", PageMapper[i].id, cardId, StreamId);\r
+ //printf("MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d\n", PageMapper[i].id, cardId, StreamId);\r
+ if (PageMapper[i].id == cardId)\r
+ {\r
+ view = (this->*(PageMapper[i].func))();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage view:%p", view);\r
+ return view;\r
+ }\r
+ }\r
+\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreatePage view error!");\r
return nullptr;\r
}\r
- return playersView;\r
-}\r
\r
-UICardPage *MainViewSample::InitNewDialPage(void)\r
-{\r
- \r
- dialView = new Digital_clockView();\r
- if (dialView == nullptr) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "dialView new fail");\r
- return nullptr;\r
+ void MainViewSample::AnimatorStart(int pageIndex)\r
+ {\r
+ if (heartRateView != nullptr && pageIndex == ScreenModels::GetInstance()->GetCardPage(HEART_RATE))\r
+ {\r
+ heartRateView->HeartbeatImageAnimatorStart();\r
+ }\r
}\r
- return dialView;\r
-}\r
\r
-UICardPage *MainViewSample::CreatePage(int32_t StreamId)\r
-{\r
- \r
- uint16_t i;\r
- UICardPage *view = nullptr;\r
- int32_t cardId = ScreenModels::GetInstance()->GetCardPage(StreamId);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage cardId:%d", cardId);\r
- for (i = 0; i < sizeof(PageMapper) / sizeof(PageMapper[0]); i++) {\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d", PageMapper[i].id, cardId, StreamId);\r
- \r
- if (PageMapper[i].id == cardId) {\r
- \r
- view = (this->*(PageMapper[i].func))();\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CreatePage view:%p", view);\r
- return view;\r
+ void MainViewSample::AnimatorStop(void)\r
+ {\r
+ if (heartRateView != nullptr)\r
+ {\r
+ heartRateView->HeartbeatImageAnimatorStop();\r
}\r
+ // if (mainClockView != nullptr) {\r
+ // mainClockView->ClockAnimatorStop();\r
+ // }\r
}\r
\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CreatePage view error!");\r
- return nullptr;\r
-}\r
+ bool MainViewSample::IsMainView(void)\r
+ {\r
\r
-void MainViewSample::AnimatorStart(int pageIndex)\r
-{\r
- \r
- if (heartRateView != nullptr && pageIndex == ScreenModels::GetInstance()->GetCardPage(HEART_RATE)) {\r
- heartRateView->HeartbeatImageAnimatorStart();\r
- }\r
- // if ((mainClockView != nullptr && pageIndex == ScreenModels::GetInstance()->GetCardPage(WATCH_FACE)) &&\r
- // mainSwipeGroup->GetCurrentPageId(UISwipeView::VERTICAL) == 2) {\r
- // mainClockView->ClockAnimatorStart();\r
- // }\r
- if ((dialView != nullptr && pageIndex == ScreenModels::GetInstance()->GetCardPage(NEW_DAIL)) &&\r
- mainSwipeGroup->GetCurrentPageId(UISwipeView::VERTICAL) == 1) {\r
- dialView->PreLoad();\r
+ if (mainSwipeGroup->GetCurrentPageId(0) == ScreenModels::GetInstance()->GetCardPage(NEW_DAIL) &&\r
+ mainSwipeGroup->GetCurrentPageId(1) == 1)\r
+ { // 0: horizontal; 1: vertical\r
+ return true;\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
}\r
-}\r
\r
-void MainViewSample::AnimatorStop(void)\r
-{\r
- if (heartRateView != nullptr) {\r
- heartRateView->HeartbeatImageAnimatorStop();\r
+ void MainViewSample::SetDragFg(bool continFg)\r
+ {\r
+ continuDragFg = continFg;\r
}\r
- // if (mainClockView != nullptr) {\r
- // mainClockView->ClockAnimatorStop();\r
- // }\r
-}\r
\r
-bool MainViewSample::IsMainView(void)\r
-{\r
- \r
- if (mainSwipeGroup->GetCurrentPageId(0) == ScreenModels::GetInstance()->GetCardPage(NEW_DAIL) &&\r
- mainSwipeGroup->GetCurrentPageId(1) == 1) { // 0: horizontal; 1: vertical\r
- return true;\r
- } else {\r
- return false;\r
+ bool MainViewSample::GetDragFg(void)\r
+ {\r
+ return continuDragFg;\r
}\r
-}\r
-\r
-void MainViewSample::SetDragFg(bool continFg)\r
-{\r
- continuDragFg = continFg;\r
-}\r
-\r
-bool MainViewSample::GetDragFg(void)\r
-{\r
- return continuDragFg;\r
-}\r
-\r
\r
}\r
* @Author: Caisking 3449750381@qq.com\r
* @Date: 2023-12-15 14:33:22\r
* @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-01-11 19:29:58\r
+ * @LastEditTime: 2024-01-15 19:34:47\r
* @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h\r
* @Description: \r
* @\r
* @Copyright (c) 2024 by Caisking , All Rights Reserved. \r
*/\r
-/*\r
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
- * Description: ScreenModels\r
- * Author:\r
- * Create: 2022-01-22\r
- */\r
\r
#ifndef SCREEN_MODEL_H\r
#define SCREEN_MODEL_H\r
#include "gfx_utils/list.h"\r
#include "ui_image_view.h"\r
\r
-namespace OHOS {\r
-typedef enum {\r
- NEW_DAIL = 0,\r
- HEART_RATE,\r
- COMPASS,\r
- ACTIVITY,\r
- MUSIC_PLAYER,\r
- MAX_CARD,\r
-} CardId;\r
+namespace OHOS\r
+{\r
+ typedef enum\r
+ {\r
+ NEW_DAIL = 0,\r
+ HEART_RATE,\r
+ COMPASS,\r
+ BloodOxygen,\r
+ MAX_CARD,\r
+ } CardId;\r
\r
+ struct CardInfo\r
+ {\r
+ int16_t cardId;\r
+ };\r
\r
-struct CardInfo {\r
- int16_t cardId;\r
-};\r
+ class ScreenModels\r
+ {\r
+ public:\r
+ ScreenModels();\r
+ ~ScreenModels();\r
+ static ScreenModels *GetInstance(void);\r
+ // card funtion\r
+ bool SetUpListCase(void);\r
+ bool SaveCardConfig(void);\r
+ bool InitCardConfig(void);\r
+ void SetCardConfigDefault(void);\r
+ int16_t GetCardPage(uint16_t page);\r
+ bool CardInsertFirst(int32_t card);\r
+ bool CardDelete(int32_t card);\r
+ int16_t GetMaxCard(void);\r
+ int16_t GetLastCardPage(void);\r
+ bool LoadAppImages(std::string file, UIImageView *view, uint32_t resId);\r
+ void PreLoadAppimages(void);\r
\r
-class ScreenModels {\r
-public:\r
- ScreenModels();\r
- ~ScreenModels();\r
- static ScreenModels *GetInstance(void);\r
- // card funtion\r
- bool SetUpListCase(void);\r
- bool SaveCardConfig(void);\r
- bool InitCardConfig(void);\r
- void SetCardConfigDefault(void);\r
- int16_t GetCardPage(uint16_t page);\r
- bool CardInsertFirst(int32_t card);\r
- bool CardDelete(int32_t card);\r
- int16_t GetMaxCard(void);\r
- int16_t GetLastCardPage(void);\r
- bool LoadAppImages(std::string file, UIImageView *view, uint32_t resId);\r
- void PreLoadAppimages(void);\r
-private:\r
- void LoadAppMultiImages(std::string file, uint32_t startId, uint32_t lastId);\r
- List<CardInfo> *listMainView{nullptr}; // record main view pages\r
- int16_t maxPage = MAX_CARD;\r
-};\r
+ private:\r
+ void LoadAppMultiImages(std::string file, uint32_t startId, uint32_t lastId);\r
+ List<CardInfo> *listMainView{nullptr}; // record main view pages\r
+ int16_t maxPage = MAX_CARD;\r
+ };\r
}\r
#endif\r