#include "system/include/SystemLanguageView.h"\r
-#include "system/include/SystemLanguagePresenter.h"\r
+#include "system/include/SystemPresenter.h"\r
#include "string.h"\r
#include "UiConfig.h"\r
-#include "ui_view.h"\r
+#include "wearable_log.h"\r
+\r
namespace OHOS\r
{\r
\r
\r
SystemLanguageView::SystemLanguageView()\r
{\r
-\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SystemLanguageView");\r
g_pSystemLanguageView = this;\r
}\r
\r
SystemLanguageView::~SystemLanguageView()\r
{\r
- DeInitView();\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::~SystemLanguageView");\r
+ ClearAll();\r
g_pSystemLanguageView = nullptr;\r
}\r
\r
SystemLanguageView *SystemLanguageView::GetInstance()\r
{\r
-\r
return g_pSystemLanguageView;\r
}\r
\r
- void SystemLanguageView::InitView()\r
+ void SystemLanguageView::ClearAll()\r
{\r
- if (container_ == nullptr)\r
+ if (initViewStatus == true)\r
{\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemLanguagePresenter::GetInstance());\r
- if (draglistener == nullptr)\r
+ scrollView->RemoveAll();\r
+ delete Title;\r
+ Title = nullptr;\r
+ for (int i = 0; i < 2; i++)\r
{\r
- return;\r
+ delete Background[i];\r
+ Background[i] = nullptr;\r
}\r
- container_->SetOnDragListener(draglistener);\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
- }\r
- /***********************************************************************************************************/\r
- if (scrollView == nullptr)\r
- {\r
- scrollView = new UIScrollView();\r
- }\r
- scrollView->SetPosition(0, 0);\r
- scrollView->Resize(466, 466);\r
- scrollView->SetViewId("scrollView");\r
- scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- scrollView->SetStyle(STYLE_BORDER_RADIUS, 1294);\r
- container_->Add(scrollView);\r
- scrollView->SetVisible(true);\r
- /***********************************************************************************************************/\r
- // Add Label to App\r
- if (LanguageLabel == nullptr)\r
- {\r
- LanguageLabel = new UILabel();\r
- }\r
- LanguageLabel->SetPosition(203, 52); // widget's left position and top position\r
- LanguageLabel->Resize(200, 60); // widget's width and height\r
- LanguageLabel->SetViewId("LanguageLabel"); // Set style\r
- LanguageLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- LanguageLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- // Set additional property\r
- LanguageLabel->SetText("语言");\r
- LanguageLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- LanguageLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- LanguageLabel->SetRollSpeed(0);\r
- LanguageLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- scrollView->Add(LanguageLabel);\r
- LanguageLabel->SetVisible(true);\r
- /***********************************************************************************************************/\r
- if (SimplifiedChineseImage == nullptr)\r
- {\r
- SimplifiedChineseImage = new UIImageView();\r
- }\r
- SimplifiedChineseImage->SetPosition(43, 120); \r
- SimplifiedChineseImage->Resize(380, 100); \r
- SimplifiedChineseImage->SetViewId(SIMPLIFIED_CHINESE_BUTTON);\r
- SimplifiedChineseImage->SetStyle(STYLE_BORDER_RADIUS, 50);\r
- SimplifiedChineseImage->SetSrc(PNG_SETTING_BACKGROUND_IMAGE);\r
- // Add to scrollView1\r
- scrollView->Add(SimplifiedChineseImage);\r
- SimplifiedChineseImage->SetVisible(true);\r
- /***********************************************************************************************************/\r
- if (SimplifiedChineseLabel == nullptr)\r
- {\r
- SimplifiedChineseLabel = new UILabel();\r
- }\r
- SimplifiedChineseLabel->SetPosition(90, 153); \r
- SimplifiedChineseLabel->Resize(120, 35); \r
- SimplifiedChineseLabel->SetViewId("SimplifiedChineseLabel");\r
- SimplifiedChineseLabel->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- SimplifiedChineseLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SimplifiedChineseLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- SimplifiedChineseLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- // Set additional property\r
- SimplifiedChineseLabel->SetText("简体中文");\r
- SimplifiedChineseLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- SimplifiedChineseLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- SimplifiedChineseLabel->SetRollSpeed(0);\r
- SimplifiedChineseLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- // Add to scrollView1\r
- scrollView->Add(SimplifiedChineseLabel);\r
- SimplifiedChineseLabel->SetVisible(true);\r
- /***********************************************************************************************************/\r
- // Add CheckBox to App\r
- if (SimplifiedChineseCheckBox == nullptr)\r
- {\r
- SimplifiedChineseCheckBox = new UICheckBox();\r
- }\r
- SimplifiedChineseCheckBox->SetState(UICheckBox::SELECTED);\r
- SimplifiedChineseCheckBox->SetPosition(300, 130); // widget's left position and top position\r
- SimplifiedChineseCheckBox->Resize(80, 80); // widget's width and height\r
- SimplifiedChineseCheckBox->SetViewId(SIMPLIFIED_CHINESE_CHECKBOX); // Set style\r
- SimplifiedChineseCheckBox->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- SimplifiedChineseCheckBox->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SimplifiedChineseCheckBox->SetImages(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE);\r
- // Add the CallBack about events\r
- UIView::OnClickListener *SimplifiedChineseCheckBoxClick = static_cast<UIView::OnClickListener *>(SystemLanguagePresenter::GetInstance());\r
- SimplifiedChineseCheckBox->SetOnClickListener(SimplifiedChineseCheckBoxClick);\r
- // Add to scrollView1\r
- scrollView->Add(SimplifiedChineseCheckBox);\r
- SimplifiedChineseCheckBox->SetVisible(true);\r
- /***********************************************************************************************************/\r
- if (EnglishImage == nullptr)\r
- {\r
- EnglishImage = new UIImageView();\r
- }\r
- EnglishImage->SetPosition(43, 240); \r
- EnglishImage->Resize(380, 100); \r
- EnglishImage->SetViewId(ENGLISH_BUTTON);\r
- EnglishImage->SetStyle(STYLE_BORDER_RADIUS, 50);\r
- EnglishImage->SetSrc(PNG_SETTING_BACKGROUND_IMAGE);\r
- scrollView->Add(EnglishImage);\r
- EnglishImage->SetVisible(true);\r
- /***********************************************************************************************************/\r
- if (EnglishLabel == nullptr)\r
- {\r
- EnglishLabel = new UILabel();\r
+ delete SimplifiedChineseLabel;\r
+ SimplifiedChineseLabel = nullptr;\r
+ delete EnglishLabel;\r
+ EnglishLabel = nullptr;\r
+ delete SimplifiedChineseRadioButton;\r
+ SimplifiedChineseRadioButton = nullptr;\r
+ delete EnglishRadioButton;\r
+ EnglishRadioButton = nullptr;\r
+ delete scrollView;\r
+ scrollView = nullptr;\r
}\r
- EnglishLabel->SetPosition(90, 273); // widget's left position and top position\r
- EnglishLabel->Resize(126, 35); // widget's width and height\r
- EnglishLabel->SetViewId("EnglishLabel"); // Set style\r
- EnglishLabel->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- EnglishLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- EnglishLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- EnglishLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
-\r
- // Set additional property\r
- EnglishLabel->SetText("ENGLISH");\r
- EnglishLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- EnglishLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- EnglishLabel->SetRollSpeed(0);\r
- EnglishLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-\r
- // Add to scrollView1\r
- scrollView->Add(EnglishLabel);\r
- EnglishLabel->SetVisible(true);\r
+ }\r
\r
- // Add CheckBox to App\r
- if (EnglishCheckBox == nullptr)\r
+ // 设置图片\r
+ UIImageView *SystemLanguageView::SetUpImageVIew(ImageConfig &imageconfig)\r
+ {\r
+ UIImageView *Image = new UIImageView();\r
+ if (Image == nullptr)\r
{\r
- EnglishCheckBox = new UICheckBox();\r
+ return nullptr;\r
}\r
- EnglishCheckBox->SetPosition(300, 250); \r
- EnglishCheckBox->Resize(80, 80); \r
- EnglishCheckBox->SetViewId(ENGLISH_CHECKBOX);\r
- EnglishCheckBox->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- EnglishCheckBox->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- EnglishCheckBox->SetImages(PNG_CHECKBOX_ON_IMAGE, PNG_CHECKBOX_OFF_IMAGE);\r
-\r
- // Add the CallBack about events\r
- UIView::OnClickListener *EnglishCheckBoxClick = static_cast<UIView::OnClickListener *>(SystemLanguagePresenter::GetInstance());\r
- EnglishCheckBox->SetOnClickListener(EnglishCheckBoxClick);\r
- // Add to scrollView1\r
- scrollView->Add(EnglishCheckBox);\r
- EnglishCheckBox->SetVisible(true);\r
+ Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h);\r
+ Image->SetSrc(imageconfig.ImageSrc);\r
+ return Image;\r
+ }\r
\r
- /***********************************************************************************************************/\r
- // Add the CallBack about SimplifiedChineseImage sevents\r
- UIView::OnClickListener *ButtonClick = static_cast<UIView::OnClickListener *>(new SystemLanguagePresenter(SimplifiedChineseCheckBox, EnglishCheckBox));\r
- SimplifiedChineseCheckBox->SetOnClickListener(ButtonClick);\r
- EnglishCheckBox->SetOnClickListener(ButtonClick);\r
+ // 设置标签\r
+ UILabel *SystemLanguageView::SetUpLabel(LabelConfig &labelconfig)\r
+ {\r
+ UILabel *label = new UILabel();\r
+ if (label == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\r
+ label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小\r
+ label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小\r
+ label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高\r
+ label->SetText(labelconfig.text); // 内容\r
+ label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。\r
+ label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
+ return label;\r
}\r
\r
- void SystemLanguageView::DeInitView()\r
+ // 设置单选按钮\r
+ UIRadioButton *SystemLanguageView::SetUpRadioButton(RadioButtonConfig &radioButtonconfig)\r
{\r
- if (container_ != nullptr)\r
+ UIRadioButton *radiobutton = new UIRadioButton(radioButtonconfig.name);\r
+ if (radiobutton == nullptr)\r
{\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
+ return nullptr;\r
}\r
- if (scrollView != nullptr)\r
- {\r
- delete scrollView;\r
- scrollView = nullptr;\r
- }\r
- if (LanguageLabel != nullptr)\r
- {\r
- delete LanguageLabel;\r
- LanguageLabel = nullptr;\r
- }\r
- if (SimplifiedChineseImage != nullptr)\r
+ radiobutton->SetPosition(radioButtonconfig.left, radioButtonconfig.top, radioButtonconfig.width, radioButtonconfig.height);\r
+ radiobutton->SetViewId(radioButtonconfig.viewId);\r
+ radiobutton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ radiobutton->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ radiobutton->SetImages(radioButtonconfig.select, radioButtonconfig.unselect);\r
+ return radiobutton;\r
+ }\r
+\r
+ // 设置单选框的选择状态\r
+ void SystemLanguageView::SetRadioButtonSelectStatus(UIRadioButton &radiobutton, bool state)\r
+ {\r
+ if (state == true)\r
{\r
- delete SimplifiedChineseImage;\r
- SimplifiedChineseImage = nullptr;\r
+ radiobutton.SetState(UICheckBox::SELECTED);\r
}\r
- if (SimplifiedChineseCheckBox != nullptr)\r
+ else\r
{\r
- delete SimplifiedChineseCheckBox;\r
- SimplifiedChineseCheckBox = nullptr;\r
+ radiobutton.SetState(UICheckBox::UNSELECTED);\r
}\r
- if (EnglishImage != nullptr)\r
+ }\r
+\r
+ UIScrollView *SystemLanguageView::SystemLanguageViewInit(void)\r
+ {\r
+ /* ------------------------------- scrollView ------------------------------- */\r
+ scrollView = new UIScrollView();\r
+ if (scrollView == nullptr)\r
{\r
- delete EnglishImage;\r
- EnglishImage = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::scrollView new fail!");\r
}\r
- if (SimplifiedChineseLabel != nullptr)\r
+ scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ scrollView->SetStyle(STYLE_BORDER_RADIUS, 1294);\r
+ scrollView->SetVisible(true);\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
+ if (draglistener == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "function = %s,Line = %d,draglistener can not be nullptr!", __FUNCTION__, __LINE__);\r
+ return nullptr;\r
+ }\r
+ scrollView->SetOnDragListener(draglistener);\r
+ /* ---------------------------------- Title --------------------------------- */\r
+ Title = new UILabel();\r
+ if (Title == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Title new fail!");\r
+ return nullptr;\r
+ }\r
+ Title->SetPosition(203, 52);\r
+ Title->SetStyle(STYLE_TEXT_FONT, 30);\r
+ Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ Title->SetText("语言");\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ scrollView->Add(Title);\r
+ /* ------------------------------- Background ------------------------------- */\r
+ ImageConfig imageconfig = {\r
+ .x = 43,\r
+ .y = 120,\r
+ .w = 380,\r
+ .h = 100,\r
+ .ImageSrc = "/user/res/SETTING_BACKGROUND.bin",\r
+ };\r
+ Background[0] = SetUpImageVIew(imageconfig);\r
+ if (Background[0] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Background[0] new fail!");\r
+ return nullptr;\r
+ }\r
+ imageconfig.y = 240;\r
+ Background[1] = SetUpImageVIew(imageconfig);\r
+ if (Background[1] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::Background[1] new fail!");\r
+ return nullptr;\r
+ }\r
+ scrollView->Add(Background[0]);\r
+ scrollView->Add(Background[1]);\r
+ /* ------------------------- SimplifiedChineseLabel ------------------------- */\r
+ LabelConfig labelconfig = {\r
+ .left = 90,\r
+ .top = 153,\r
+ .width = 200,\r
+ .height = 60,\r
+ .fontSize = 30,\r
+ .lineHeigh = 35,\r
+ .text = "简体中文",\r
+ .lineBreakMode = UILabel::LINE_BREAK_ADAPT,\r
+ };\r
+ SimplifiedChineseLabel = SetUpLabel(labelconfig);\r
+ if (SimplifiedChineseLabel == nullptr)\r
{\r
- delete SimplifiedChineseLabel;\r
- SimplifiedChineseLabel = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SimplifiedChineseLabel new fail!");\r
+ return nullptr;\r
}\r
- if (EnglishLabel != nullptr)\r
- {\r
- delete EnglishLabel;\r
- EnglishLabel = nullptr;\r
- }\r
- if (EnglishCheckBox != nullptr)\r
+ scrollView->Add(SimplifiedChineseLabel);\r
+ /* ------------------------------ EnglishLabel ------------------------------ */\r
+ labelconfig.top = 273;\r
+ labelconfig.text = "ENGLISH";\r
+ EnglishLabel = SetUpLabel(labelconfig);\r
+ if (EnglishLabel == nullptr)\r
{\r
- delete EnglishCheckBox;\r
- EnglishCheckBox = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::EnglishLabel new fail!");\r
+ return nullptr;\r
}\r
- }\r
-\r
- void SystemLanguageView::OnStart()\r
- {\r
- View<SystemLanguagePresenter>::OnStart();\r
- InitView();\r
- // container_容器属性 add\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void SystemLanguageView::OnSetUpView()\r
- {\r
-\r
- View<SystemLanguagePresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void SystemLanguageView::OnTearDownView()\r
- {\r
-\r
- View<SystemLanguagePresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void SystemLanguageView::OnStop()\r
- {\r
-\r
- View<SystemLanguagePresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
+ scrollView->Add(EnglishLabel);\r
+ /* ---------------------- SimplifiedChineseRadioButton ---------------------- */\r
+ RadioButtonConfig radioButtonConfig = {\r
+ .left = 300,\r
+ .top = 120,\r
+ .width = 100,\r
+ .height = 100,\r
+ .name = "LanguageCategory",\r
+ .viewId = SIMPLIFIED_CHINESE_CHECKBOX,\r
+ .select = "/user/res/CHECKBOX_ON.bin",\r
+ .unselect = "/user/res/CHECKBOX_OFF.bin",\r
+ };\r
+ SimplifiedChineseRadioButton = SetUpRadioButton(radioButtonConfig);\r
+ if (SimplifiedChineseRadioButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SimplifiedChineseRadioButton new fail!");\r
+ return nullptr;\r
+ }\r
+ SetRadioButtonSelectStatus(*SimplifiedChineseRadioButton, true);\r
+ scrollView->Add(SimplifiedChineseRadioButton);\r
+ /* --------------------------- EnglishRadioButton --------------------------- */\r
+ radioButtonConfig.left = 300;\r
+ radioButtonConfig.top = 240;\r
+ radioButtonConfig.viewId = ENGLISH_CHECKBOX;\r
+ EnglishRadioButton = SetUpRadioButton(radioButtonConfig);\r
+ if (EnglishRadioButton == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::EnglishRadioButton new fail!");\r
+ return nullptr;\r
+ }\r
+ scrollView->Add(EnglishRadioButton);\r
+ initViewStatus = true;\r
+ return scrollView;\r
}\r
}
\ No newline at end of file
SystemScrollView[0]->SetScrollBlankSize(35);\r
SystemScrollView[0]->SetReboundSize(50);\r
SystemScrollView[0]->SetDirection(1);\r
- draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
if (draglistener == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!");\r
return;\r
}\r
/* -------------------------------------------------------------------------- */\r
- clickListener = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
+ UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
/* -------------------------------------------------------------------------- */\r
ButtonConfig buttonconfig;\r
buttonconfig.x = 43;\r
if (initViewStatus == true)\r
{\r
SystemScrollView[0]->RemoveAll();\r
- for (int i = 0; i < 3; i++)\r
- {\r
- delete SystemScrollView[i];\r
- SystemScrollView[i] = nullptr;\r
- }\r
+ delete p_SystemAboutTheWatchView;\r
+ p_SystemAboutTheWatchView = nullptr;\r
+ delete p_SystemSuperviseView;\r
+ p_SystemSuperviseView = nullptr;\r
+ delete p_SystemLanguageView;\r
+ p_SystemLanguageView = nullptr;\r
delete SystemLabel;\r
SystemLabel = nullptr;\r
delete AboutTheWatchButton;\r
}\r
}\r
\r
+ // 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
bool SystemView::ChangeSystemView(int16_t thisView)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemView");\r
RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
return true;\r
}\r
\r
- //跳转到关于手表\r
+ // 1.跳转到关于手表\r
bool SystemView::ChangeSystemAboutView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
return false;\r
}\r
SystemScrollView[thisView] = p_SystemAboutTheWatchView->SystemAbouTheWatchtInitIView();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
}\r
- /* -------------------------------------------------------------------------- */\r
- // 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
- struct SystemViewMapper\r
- {\r
- const int16_t viewId;\r
- bool (SystemView::*func)(int16_t thisView);\r
- };\r
\r
- //跳转到系统监管\r
+ // 2.跳转到系统监管\r
bool SystemView::ChangeSystemSuperviseView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
return false;\r
}\r
SystemScrollView[thisView] = p_SystemSuperviseView->SystemSuperviseViewInit();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ }\r
+ return true;\r
+ }\r
+\r
+ // 3.跳转到系统语言界面\r
+ bool SystemView::ChangeSystemLanguageView(int16_t thisView)\r
+ {\r
+ if (SystemScrollView[thisView] == nullptr)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemLanguageView");\r
+ p_SystemLanguageView = new SystemLanguageView();\r
+ if (p_SystemLanguageView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
+ return false;\r
+ }\r
+ SystemScrollView[thisView] = p_SystemLanguageView->SystemLanguageViewInit();\r
+ RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
}\r
+\r
+ /* -------------------------------------------------------------------------- */\r
+ // 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
+ struct SystemViewMapper\r
+ {\r
+ const int16_t viewId;\r
+ bool (SystemView::*func)(int16_t thisView);\r
+ };\r
+\r
// 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
static const SystemViewMapper ViewMapper[] =\r
{\r
{0, &SystemView::ChangeSystemView},\r
{1, &SystemView::ChangeSystemAboutView},\r
- {2, &SystemView::ChangeSystemSuperviseView}\r
+ {2, &SystemView::ChangeSystemSuperviseView},\r
+ {3, &SystemView::ChangeSystemLanguageView},\r
};\r
\r
// 3.根据传入的interface参数执行相应视图ID关联的成员函数。\r
// 4.切换视图\r
void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
{\r
- if (hideView > 4)\r
+ if (hideView > 5)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainStopWatchView:: StopWatchViewId Overstep ones bounds");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
return;\r
}\r
SystemScrollView[hideView]->SetVisible(false);\r
SystemScrollView[showView]->SetVisible(true);\r
Draw();\r
}\r
+ /* -------------------------------------------------------------------------- */\r
\r
void SystemView::OnStart()\r
{\r