\r
#include "traing/include/TraingView.h"\r
-\r
+#include <iostream>\r
+#include <string>\r
namespace OHOS\r
{\r
// 按钮设置\r
- static constexpr uint16_t BUTTON_WIDHT = 230;\r
- static constexpr uint16_t BUTTON_HEIGHT = 80;\r
- static constexpr uint16_t BUTTON1_X = 118;\r
- static constexpr uint16_t BUTTON1_Y = 336;\r
- static constexpr uint16_t BUTTON2_X = 118;\r
- static constexpr uint16_t BUTTON2_Y = 336;\r
- static constexpr uint16_t BUTTON3_X = 118;\r
- static constexpr uint16_t BUTTON3_Y = 336;\r
- static constexpr uint16_t BUTTONMORE_X = 118;\r
- static constexpr uint16_t BUTTONMORE_Y = 336;\r
+ static constexpr uint16_t BUTTON_WIDHT = 140;\r
+ static constexpr uint16_t BUTTON_HEIGHT = 140;\r
+ static constexpr uint16_t BUTTON1_X = 86;\r
+ static constexpr uint16_t BUTTON1_Y = 118;\r
+ static constexpr uint16_t BUTTON2_X = 236;\r
+ static constexpr uint16_t BUTTON2_Y = 118;\r
+ static constexpr uint16_t BUTTON3_X = 86;\r
+ static constexpr uint16_t BUTTON3_Y = 268;\r
+ static constexpr uint16_t BUTTONMORE_X = 236;\r
+ static constexpr uint16_t BUTTONMORE_Y = 268;\r
\r
// 标签设置\r
static constexpr uint16_t LABEL_FONT_SIZE = 30;\r
static constexpr uint16_t LABEL_X_SIZE = 200;\r
static constexpr uint16_t LABEL_Y_SIZE = 60;\r
- static constexpr uint16_t TITLE_LABEL_X = 83;\r
- static constexpr uint16_t TITLE_LABEL_Y = 103;\r
+ static constexpr uint16_t TITLE_LABEL_X = 181;\r
+ static constexpr uint16_t TITLE_LABEL_Y = 52;\r
\r
static constexpr uint16_t BTN1_LABEL_X = 135;\r
static constexpr uint16_t BTN1_LABEL_Y = 210;\r
\r
// 图片设置\r
static constexpr uint16_t BTN_IMAGE_SIZE = 100;\r
+\r
static constexpr uint16_t BTN1_IMAGE_X = 126;\r
static constexpr uint16_t BTN1_IMAGE_Y = 148;\r
+\r
static constexpr uint16_t BTN2_IMAGE_X = 276;\r
static constexpr uint16_t BTN2_IMAGE_Y = 148;\r
- static constexpr uint16_t BTNMORE_IMAGE_X = 129;\r
- static constexpr uint16_t BTNMORE_IMAGE_Y = 298;\r
+\r
+ static constexpr uint16_t BTN3_IMAGE_X = 129;\r
+ static constexpr uint16_t BTN3_IMAGE_Y = 298;\r
\r
static TraingView *g_pTraingView{nullptr};\r
- QuickTraining *data = new QuickTraining;\r
+ static QuickTraining *data = new QuickTraining;\r
\r
TraingView::TraingView()\r
{\r
*/\r
bool TraingView::AddLabel()\r
{\r
- // 初始化标签\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::AddLabel");\r
+ // 初始化标签\r
TraingModel::GetInstance()->InitLabel(title_label, TITLE_LABEL_X, TITLE_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "title_label", "快速训练", DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
- const char *dataStr1 = data->training1_Text;\r
- const char *dataStr2 = data->training2_Text;\r
- const char *dataStr3 = data->training3_Text;\r
+ const char *dataStr1 = (data->training1_Text).c_str();\r
+ const char *dataStr2 = (data->training2_Text).c_str();\r
+ const char *dataStr3 = (data->training3_Text).c_str();\r
TraingModel::GetInstance()->InitLabel(btn1_label, BTN1_LABEL_X, BTN1_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "btu1_label", dataStr1, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
TraingModel::GetInstance()->InitLabel(btn2_label, BTN2_LABEL_X, BTN2_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "btu2_label", dataStr2, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
TraingModel::GetInstance()->InitLabel(btn3_label, BTN3_LABEL_X, BTN3_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "btu3_label", dataStr3, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
\r
bool TraingView::AddButton()\r
{\r
+ TraingModel::GetInstance()->InitButton(button1_, BUTTON1_X, BUTTON1_Y, BUTTON_WIDHT, BUTTON_HEIGHT, BUTTON1);\r
+ button1_->SetImageSrc(BUTTONGROUND2_IMAGE, nullptr);\r
+ UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
+ button1_->SetOnClickListener(button1Click);\r
+\r
+ TraingModel::GetInstance()->InitButton(button2_, BUTTON2_X, BUTTON2_Y, BUTTON_WIDHT, BUTTON_HEIGHT, BUTTON2);\r
+ button2_->SetImageSrc(BOUTTONGROUND_IMAGE, nullptr);\r
+ UIView::OnClickListener *button2Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
+ button2_->SetOnClickListener(button2Click);\r
+\r
+ TraingModel::GetInstance()->InitButton(button3_, BUTTON3_X, BUTTON3_Y, BUTTON_WIDHT, BUTTON_HEIGHT, BUTTON3);\r
+ button3_->SetImageSrc(BUTTONGROUND2_IMAGE, nullptr);\r
+ UIView::OnClickListener *button3Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
+ button3_->SetOnClickListener(button3Click);\r
+\r
+ TraingModel::GetInstance()->InitButton(buttonmore_, BUTTONMORE_X, BUTTONMORE_Y, BUTTON_WIDHT, BUTTON_HEIGHT, BUTTONMORE);\r
+ buttonmore_->SetImageSrc(MORE_IMAGE, nullptr);\r
+ UIView::OnClickListener *button4Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
+ buttonmore_->SetOnClickListener(button4Click);\r
+\r
+ return true;\r
}\r
/***\r
* @description:\r
*/\r
bool TraingView::AddImageView()\r
{\r
- const char *dataStr1 = data->training1_Image;\r
- const char *dataStr2 = data->training2_Image;\r
- const char *dataStr3 = data->training3_Image;\r
+ const char *dataStr1 = (data->training1_Image).c_str();\r
+ const char *dataStr2 = (data->training2_Image).c_str();\r
+ const char *dataStr3 = (data->training3_Image).c_str();\r
+ // const char *dataStr1 = WALKING_60_IMAGE;\r
+ // const char *dataStr2 = RUNNING_60_IMAGE;\r
+ // const char *dataStr3 = RIDING_60_IMAGE;\r
TraingModel::GetInstance()->InitImageView(btn1_image, BTN1_IMAGE_X, BTN1_IMAGE_Y, BTN_IMAGE_SIZE, BTN_IMAGE_SIZE, "btn1_image", dataStr1);\r
TraingModel::GetInstance()->InitImageView(btn2_image, BTN2_IMAGE_X, BTN2_IMAGE_Y, BTN_IMAGE_SIZE, BTN_IMAGE_SIZE, "btn2_image", dataStr2);\r
- TraingModel::GetInstance()->InitImageView(btn3_image, BTN3_LABEL_X, BTN3_LABEL_Y, BTN_IMAGE_SIZE, BTN_IMAGE_SIZE, "btn3_image", dataStr3);\r
+ TraingModel::GetInstance()->InitImageView(btn3_image, BTN3_IMAGE_X, BTN3_IMAGE_Y, BTN_IMAGE_SIZE, BTN_IMAGE_SIZE, "btn3_image", dataStr3);\r
return true;\r
}\r
void TraingView::InitView()\r
}\r
\r
// 初始化按键\r
-\r
+ AddButton();\r
// 初始化标签\r
+ AddLabel();\r
+ // 初始化图片\r
+ AddImageView();\r
+\r
+ container_->Add(button1_);\r
+ container_->Add(button2_);\r
+ container_->Add(button3_);\r
+ container_->Add(buttonmore_);\r
+ container_->Add(title_label);\r
+ container_->Add(btn1_label);\r
+ container_->Add(btn2_label);\r
+ container_->Add(btn3_label);\r
+ container_->Add(btn1_image);\r
+ container_->Add(btn2_image);\r
+ container_->Add(btn3_image);\r
+\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::InitView");\r
+ }\r
\r
-#if 0\r
- // Add Button to App\r
- if (button3_ == nullptr)\r
+ void TraingView::DeInitView()\r
+ {\r
+ container_->RemoveAll();\r
+ if (buttonmore_ != nullptr)\r
{\r
- button3_ = new UIButton();\r
+ delete buttonmore_;\r
+ buttonmore_ = nullptr;\r
}\r
- button3_->SetPosition(236, 268); // widget's left position and top position\r
- button3_->Resize(140, 140); // widget's width and height\r
- button3_->SetViewId(BUTTONMORE); // Set style\r
- button3_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- button3_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
- const char *button3defaultImgSrc = PNG_TRAING_BOUTTONMORE_IMAGE;\r
- char *button3triggeredImgSrc = nullptr;\r
- button3_->SetImageSrc(button3defaultImgSrc, button3triggeredImgSrc);\r
- button3_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff33df1c, UIButton::PRESSED);\r
- button3_->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
- button3_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- // Add the CallBack about events\r
- UIView::OnClickListener *button3Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
- button3_->SetOnClickListener(button3Click);\r
- // Add to rootView\r
- container_->Add(button3_);\r
- button3_->SetVisible(true);\r
- // Add Button to App\r
- if (button4_ == nullptr)\r
+ if (button1_ != nullptr)\r
{\r
- button4_ = new UIButton();\r
+ delete button1_;\r
+ button1_ = nullptr;\r
}\r
- button4_->SetPosition(86, 118); // widget's left position and top position\r
- button4_->Resize(140, 140); // widget's width and height\r
- button4_->SetViewId(BUTTON2); // Set style\r
- button4_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- button4_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
- const char *button4defaultImgSrc = PNG_TRAING_BUTTONGRONG2_IMAGE;\r
- char *button4triggeredImgSrc = nullptr;\r
- button4_->SetImageSrc(button4defaultImgSrc, button4triggeredImgSrc);\r
- button4_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff33df1c, UIButton::PRESSED);\r
- button4_->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
- button4_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- UIView::OnClickListener *button4Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
- button4_->SetOnClickListener(button4Click);\r
- // Add to rootView\r
- container_->Add(button4_);\r
- button4_->SetVisible(true);\r
-\r
- // Add Button to App\r
- if (button1_ == nullptr)\r
+ if (button2_ != nullptr)\r
{\r
- button1_ = new UIButton();\r
+ delete button2_;\r
+ button2_ = nullptr;\r
}\r
- button1_->SetPosition(86, 268); // widget's left position and top position\r
- button1_->Resize(140, 140); // widget's width and height\r
- button1_->SetViewId(BUTTON3); // Set style\r
- button1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- button1_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
- const char *button1defaultImgSrc = PNG_TRAING_BUTTONGRONG_IMAGE;\r
- char *button1triggeredImgSrc = nullptr;\r
- button1_->SetImageSrc(button1defaultImgSrc, button1triggeredImgSrc);\r
- button1_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff33df1c, UIButton::PRESSED);\r
- button1_->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
- button1_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener *button1Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
- button1_->SetOnClickListener(button1Click);\r
- // Add to rootView\r
- container_->Add(button1_);\r
- button1_->SetVisible(true);\r
-\r
- // Add Button to App\r
- if (button2_ == nullptr)\r
+ if (button3_ != nullptr)\r
{\r
- button2_ = new UIButton();\r
+ delete button3_;\r
+ button3_ = nullptr;\r
}\r
- button2_->SetPosition(236, 118); // widget's left position and top position\r
- button2_->Resize(140, 140); // widget's width and height\r
- button2_->SetViewId(BUTTON1); // Set style\r
- button2_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- button2_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
- const char *button2defaultImgSrc = PNG_TRAING_BUTTONGRONG_IMAGE;\r
- char *button2triggeredImgSrc = nullptr;\r
- button2_->SetImageSrc(button2defaultImgSrc, button2triggeredImgSrc);\r
- button2_->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff33df1c, UIButton::PRESSED);\r
- button2_->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED);\r
- button2_->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener *button2Click = static_cast<UIView::OnClickListener *>(TraingPresenter::GetInstance());\r
- button2_->SetOnClickListener(button2Click);\r
- // Add to rootView\r
- container_->Add(button2_);\r
- button2_->SetVisible(true);\r
-#endif\r
- }\r
-\r
- void TraingView::DeInitView()\r
- {\r
+ if (title_label != nullptr)\r
+ {\r
+ delete title_label;\r
+ title_label = nullptr;\r
+ }\r
+ if (btn1_label != nullptr)\r
+ {\r
+ delete btn1_label;\r
+ btn1_label = nullptr;\r
+ }\r
+ if (btn2_label != nullptr)\r
+ {\r
+ delete btn2_label;\r
+ btn2_label = nullptr;\r
+ }\r
+ if (btn3_label != nullptr)\r
+ {\r
+ delete btn3_label;\r
+ btn3_label = nullptr;\r
+ }\r
+ if (btn1_image != nullptr)\r
+ {\r
+ delete btn1_image;\r
+ btn1_image = nullptr;\r
+ }\r
+ if (btn2_image != nullptr)\r
+ {\r
+ delete btn2_image;\r
+ btn2_image = nullptr;\r
+ }\r
+ if (btn3_image != nullptr)\r
+ {\r
+ delete btn3_image;\r
+ btn3_image = nullptr;\r
+ }\r
+ // 删除容器\r
if (container_ != nullptr)\r
{\r
- container_->RemoveAll();\r
+ container_->RemoveAll(); // 移除容器中的所有组件\r
delete container_;\r
container_ = nullptr;\r
}\r
\r
void TraingView::OnStart()\r
{\r
+ printf(" data--training1_Text: %s\n", data->training1_Text.c_str());\r
+ printf(" data--training1_Image: %s\n", data->training1_Image.c_str());\r
+ printf(" data--training2_Text: %s\n", data->training2_Text.c_str());\r
+ printf(" data--training2_Image: %s\n", data->training2_Image.c_str());\r
+ printf(" data--training3_Text: %s\n", data->training3_Text.c_str());\r
+ printf(" data--training3_Image: %s\n", data->training3_Image.c_str());\r
container_ = new UIViewGroup();\r
if (container_ == nullptr)\r
{\r
container_->SetDraggable(true);\r
\r
GetView();\r
+\r
RootView::GetInstance()->Add(container_);\r
}\r
\r
void TraingView::OnSetUpView()\r
{\r
-\r
View<TraingPresenter>::OnSetUpView();\r
Draw();\r
}\r
\r
void TraingView::OnTearDownView()\r
{\r
-\r
View<TraingPresenter>::OnTearDownView();\r
return;\r
}\r