${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemAboutTheWatchView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemSuperviseView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemLanguageView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/Systemupgrade.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/system/src/SystemFactoryResetView.cpp
STR_GRID_DISPLAY$Grid Display\r
STR_CELLULAR_DISPLAY$Cellular Display\r
STR_AUTO_DETECT$Auto Detect\r
+STR_ABOUT_WATCH$About Watch\r
+STR_WATCH_QR_CODE$watch QR code\r
+STR_SYSTEM_LANGUAGE$System Language\r
+STR_RESTART$ Restart\r
+STR_SHUTDOWN$Shutdown\r
+STR_FACTORY_RESET$Factory Reset\r
STR_LANGUAGE$Language
\ No newline at end of file
STR_GRID_DISPLAY$网格显示\r
STR_CELLULAR_DISPLAY$蜂窝显示\r
STR_AUTO_DETECT$自动识别\r
+STR_ABOUT_WATCH$关于手表\r
+STR_WATCH_QR_CODE$手表二维码\r
+STR_SYSTEM_LANGUAGE$系统语言\r
+STR_RESTART$重启\r
+STR_SHUTDOWN$关机\r
+STR_FACTORY_RESET$恢复出厂\r
STR_LANGUAGE$语言
\ No newline at end of file
<lanstr id="STR_GRID_DISPLAY" value="Grid Display"/>
<lanstr id="STR_CELLULAR_DISPLAY" value="Cellular Display"/>
<lanstr id="STR_AUTO_DETECT" value="Auto Detect"/>
+ <lanstr id="STR_ABOUT_WATCH" value="About Watch"/>
+ <lanstr id="STR_WATCH_QR_CODE" value="watch QR code"/>
+ <lanstr id="STR_SYSTEM_LANGUAGE" value="System Language"/>
+ <lanstr id="STR_RESTART" value=" Restart"/>
+ <lanstr id="STR_SHUTDOWN" value="Shutdown"/>
+ <lanstr id="STR_FACTORY_RESET" value="Factory Reset"/>
<lanstr id="STR_LANGUAGE" value="Language"/>
</language>
<lanstr id="STR_GRID_DISPLAY" value="网格显示"/>
<lanstr id="STR_CELLULAR_DISPLAY" value="蜂窝显示"/>
<lanstr id="STR_AUTO_DETECT" value="自动识别"/>
+ <lanstr id="STR_ABOUT_WATCH" value="关于手表"/>
+ <lanstr id="STR_WATCH_QR_CODE" value="手表二维码"/>
+ <lanstr id="STR_SYSTEM_LANGUAGE" value="系统语言"/>
+ <lanstr id="STR_RESTART" value="重启"/>
+ <lanstr id="STR_SHUTDOWN" value="关机"/>
+ <lanstr id="STR_FACTORY_RESET" value="恢复出厂"/>
<lanstr id="STR_LANGUAGE" value="语言"/>
</language>
STR_GRID_DISPLAY = 301,\r
STR_CELLULAR_DISPLAY = 302,\r
STR_AUTO_DETECT = 303,\r
- STR_LANGUAGE = 304,\r
- STR_MAX_ID = 305,\r
+ STR_ABOUT_WATCH = 304,\r
+ STR_WATCH_QR_CODE = 305,\r
+ STR_SYSTEM_LANGUAGE = 306,\r
+ STR_RESTART = 307,\r
+ STR_SHUTDOWN = 308,\r
+ STR_FACTORY_RESET = 309,\r
+ STR_LANGUAGE = 310,\r
+ STR_MAX_ID = 311,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 09:14:38\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-15 18:20:29\r
+ * @LastEditTime: 2024-05-06 19:09:44\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemAboutTheWatchView.h\r
*/\r
#ifndef SYSTEM_ABOUT_VIEW_H\r
#include <iostream>\r
namespace OHOS\r
{\r
+ static constexpr const char *SYSTEMABOUTTHEWATCHVIEWID = "SystemAboutTheWatchView"; // 关于手表\r
class SystemAboutTheWatchView\r
{\r
\r
+++ /dev/null
-#ifndef SYSTEM_LANGUAGE_VIEW_H\r
-#define SYSTEM_LANGUAGE_VIEW_H\r
-\r
-#include "BaseView.h"\r
-#include "View.h"\r
-#include "components/ui_scroll_view.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_label_ext.h"\r
-#include "components/ui_radio_button.h"\r
-#include "components/ui_image_view.h"\r
-#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
-namespace OHOS\r
-{\r
- class SystemLanguageView\r
- {\r
-\r
- public:\r
- struct ImageConfig\r
- {\r
- int x;\r
- int y;\r
- int w;\r
- int h;\r
- const char *ImageSrc;\r
- };\r
- struct LabelConfig\r
- {\r
- int16_t left;\r
- int16_t top;\r
- int16_t width;\r
- int16_t height;\r
- int16_t fontSize; // 字体大小\r
- int16_t lineHeigh; // 行高\r
- const char *text; // 文本\r
- uint8_t lineBreakMode; // 断行模式。\r
- };\r
- struct RadioButtonConfig\r
- {\r
- int16_t left;\r
- int16_t top;\r
- int16_t width;\r
- int16_t height;\r
- const char *name;\r
- const char *viewId;\r
- const char *select;\r
- const char *unselect;\r
- };\r
- SystemLanguageView();\r
- virtual ~SystemLanguageView();\r
- static SystemLanguageView *GetInstance(void);\r
- UIScrollView *SystemLanguageViewInit(void); // 系统语言视图初始化\r
- void ClearAll(void); // 清除所有组件\r
- UIImageView *SetUpImageVIew(ImageConfig &imageconfig); // 设置图片\r
- UILabel *SetUpLabel(LabelConfig &labelconfig); // 设置标签\r
- UIRadioButton *SetUpRadioButton(RadioButtonConfig &radiobutton); // 设置单选按钮\r
- void SetRadioButtonSelectStatus(UIRadioButton &radiobutton, bool state); // 设置单选框的选择状态\r
- private:\r
- UIScrollView *scrollView = nullptr;\r
- UILabelExt *Title = nullptr; // 标题\r
- UIImageView *Background[2]{nullptr}; // 放组件的背景\r
- UILabel *SimplifiedChineseLabel = nullptr;\r
- UILabel *EnglishLabel = nullptr;\r
- UIRadioButton *SimplifiedChineseRadioButton = nullptr;\r
- UIRadioButton *EnglishRadioButton = nullptr;\r
- bool initViewStatus{false};\r
- };\r
-} // namespace OHOS\r
-#endif
\ No newline at end of file
* @Author: luozheng 1732036298@qq.com\r
* @Date: 2024-03-30 18:29:43\r
* @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-04-02 16:00:14\r
+ * @LastEditTime: 2024-05-06 19:56:05\r
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h\r
*/\r
\r
{\r
SYSTEMVIEW = 0, // 系统视图(slice)\r
ABOUTTHEWATCHVIEW, // 关于手表视图(subView)\r
- SUPERVISEVIEW, // 监管视图(subView)\r
+ SYSTEMLUPGRADE, // 系统升级(subView)\r
+ WATCHQRCODE, // 手表二维码视图(subView)\r
SYSTEMLANGUAGEVIEW, // 系统语言视图(subView)\r
FACTORYRESETVIEW, // 恢复出厂设置视图(subView)upgrade\r
- SYSTEMLUPGRADE,\r
TEST,\r
MAX_SYSTEMVIEWID,\r
} SYSTEMVIEWID;\r
\r
- /* ---------------------------- 系统语言界面单选按钮VIEWID ---------------------------- */\r
- static const char *SIMPLIFIED_CHINESE_CHECKBOX = "SimplifiedChineseCheckBox"; // 简体中文\r
- static const char *ENGLISH_CHECKBOX = "EnglishCheckBox"; // English\r
/* ---------------------------- 恢复出厂设置界面按钮的VIEWID --------------------------- */\r
static const char *FACTORYRESET_CHECKON = "ShoutDownButtonCheckOn"; // 确认\r
static const char *FACTORYRESET_CHECKOFF = "ShoutDownButtonCheckOff"; // 取消\r
- class RadiobuttonOnChangeListener : public UICheckBox::OnChangeListener\r
- {\r
- public:\r
- RadiobuttonOnChangeListener(UIRadioButton *uiView, UILabelExt *label)\r
- {\r
- m_uiView = uiView;\r
- m_label = label;\r
- }\r
- ~RadiobuttonOnChangeListener() {}\r
- bool isChineseRadioButtonSelected();\r
- bool isEnglishRadioButtonSelected();\r
- bool OnChange(UICheckBox::UICheckBoxState state) override;\r
-\r
- private:\r
- UIRadioButton *m_uiView{nullptr};\r
- UILabelExt *m_label{nullptr};\r
- };\r
-\r
- class SystemViewOnDragListener : public UIView::OnDragListener\r
- {\r
- public:\r
- SystemViewOnDragListener() {}\r
- ~SystemViewOnDragListener() {}\r
- bool OnDrag(UIView &view, const DragEvent &event) override;\r
- bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
- };\r
\r
class SystemView;\r
class SystemPresenter : public Presenter<SystemView>,\r
public UIView::OnClickListener,\r
public RootView::OnKeyActListener,\r
- public UIView::OnDragListener, \r
- public UICheckBox::OnChangeListener,\r
+ public UIView::OnDragListener,\r
public UIView::OnTouchListener\r
{\r
public:\r
void OnStop() override;\r
\r
static SystemPresenter *GetInstance();\r
- void set_key_falg(bool);\r
+ //void set_key_falg(bool);\r
+\r
private:\r
// 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
bool OnClick(UIView &view, const ClickEvent &event) override;\r
bool OnDragEnd(UIView &view, const DragEvent &event) override;\r
bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件\r
bool OnPress(UIView &view, const PressEvent &event) override;\r
- bool OnChange(UICheckBox::UICheckBoxState state) override;\r
\r
private:\r
SystemModel *systemModel;\r
- bool isSystemUpgradeState{false};//是否处于升级状态\r
+ //bool isSystemUpgradeState{false}; // 是否处于升级状态\r
+ bool X_DRAG_FLAG{false};\r
};\r
} // namespace OHOS\r
\r
+/*\r
+ * @Author: luozheng 1732036298@qq.com\r
+ * @Date: 2024-03-30 18:29:39\r
+ * @LastEditors: luozheng 1732036298@qq.com\r
+ * @LastEditTime: 2024-05-06 20:35:44\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h\r
+ */\r
#ifndef SYSTEM_VIEW_H\r
#define SYSTEM_VIEW_H\r
\r
#include "components/ui_label_button_ext.h"\r
#include "system/include/SystemAboutTheWatchView.h"\r
#include "system/include/SystemSuperviseView.h"\r
-#include "system/include/SystemLanguageView.h"\r
#include "system/include/SystemFactoryResetView.h"\r
#include "system/include/Systemupgrade.h"\r
#include "components/ui_toggle_button.h"\r
\r
namespace OHOS\r
{\r
- static const char *ABOUT_THE_WATCH = "AboutTheWatchButton"; // 关于手表\r
- static const char *SUPERVISE = "SuperviseButton"; // 监管\r
- static const char *SYSTEM_LANGUAGE = "SystemLanguageButton"; // 系统语言\r
- static const char *FACTORY_RESET = "FactoryResetButton"; // 恢复出厂设置\r
- static const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级\r
- static const char *ABOUT_THE_WATCH_IMAGESRC = "/user/res/system/SYSTEM_ABOUT_THE_WATCH.bin";\r
- static const char *SUPERVISE_IMAGESRC = "/user/res/system/SYSTEM_SUPERVISE.bin";\r
- static const char *SYSTEM_LANGUAGE_IMAGESRC = "/user/res/system/SYSTEM_SYSTEM_LANGUAGE.bin";\r
- static const char *FACTORY_RESET_LANGUAGE_IMAGESRC = "/user/res/system/SYSTEM_FACTORY_RESET.bin";\r
+ static constexpr const char *ABOUT_THE_WATCH = "AboutTheWatchButton"; // 关于手表\r
+ static constexpr const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级\r
+ static constexpr const char *WATCH_QR_CODE = "WatchqrcodeButton"; // 手表二维码\r
+ static constexpr const char *SYSTEM_LANGUAGE = "SystemLanguageButton"; // 系统语言\r
+ static constexpr const char *FACTORY_RESET = "FactoryResetButton"; // 恢复出厂设置\r
class SystemPresenter;\r
class SystemView : public View<SystemPresenter>\r
{\r
void OnSetUpView() override;\r
void OnTearDownView() override;\r
void OnStop() override;\r
- struct ButtonConfig\r
- {\r
- int x;\r
- int y;\r
- int w;\r
- int h;\r
- const char *ViewId;\r
- const char *ImageSrc;\r
- };\r
+\r
struct ButtonConfig_ext_t\r
{\r
int x;\r
int y;\r
int w;\r
int h;\r
- const char *str;\r
+ // const char *str;\r
+ uint16_t textId;\r
const char *ViewId;\r
const char *ImageSrc;\r
\r
\r
bool ChangeSystemView(int16_t thisView);\r
bool ChangeSystemAboutView(int16_t thisView);\r
- bool ChangeSystemSuperviseView(int16_t thisView);\r
+ bool ChangeWatchQRCodeView(int16_t thisView);\r
bool ChangeSystemLanguageView(int16_t thisView);\r
bool ChangeSystemFactoryResetView(int16_t thisView);\r
bool ChangeSystemupgradeView(int16_t thisView);\r
void ClearAll(void);\r
bool SetTheSystemScrollView(void);\r
bool SetTheTitle(void);\r
- bool Cat1_4GabilityButtonViewInit();\r
UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &ButtonConfig_ext, UIView::OnClickListener *clickListener);\r
- SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr};\r
- SystemSuperviseView *p_SystemSuperviseView{nullptr};\r
- SystemLanguageView *p_SystemLanguageView{nullptr};\r
- SystemFactoryResetView *p_SystemFactoryResetView{nullptr};\r
- SystemupgradeView *p_SystemupgradeView{nullptr};\r
+ SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr}; // 关于手表\r
+ SystemupgradeView *p_SystemupgradeView{nullptr}; // 系统升级\r
+ SystemSuperviseView *p_WatchQRCodeView{nullptr}; // 手表二维码\r
+ SystemFactoryResetView *p_SystemFactoryResetView{nullptr}; // 恢复出厂设置\r
UIScrollView *SystemScrollView[10]{nullptr};\r
- UILabelExt *SystemLabel{nullptr}; // 标题\r
- bool initViewStatus{false};\r
+ UILabelExt *Title{nullptr}; // 标题\r
+ UILabelButtonExt *SystemViewButton[5]{nullptr};\r
};\r
} // namespace OHOS\r
\r
SystemAboutTheWatchScrollView->SetTouchable(true);\r
SystemAboutTheWatchScrollView->SetDraggable(true);\r
\r
- SystemAboutTheWatchScrollView->SetViewId("SystemAboutTheWatchTitle");\r
+ SystemAboutTheWatchScrollView->SetViewId(SYSTEMABOUTTHEWATCHVIEWID);\r
UIView::OnClickListener *touch = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
SystemAboutTheWatchScrollView->SetOnClickListener(touch);\r
return true;\r
+++ /dev/null
-#include "system/include/SystemLanguageView.h"\r
-#include "system/include/SystemPresenter.h"\r
-#include "string.h"\r
-#include "UiConfig.h"\r
-#include "wearable_log.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- static SystemLanguageView *g_pSystemLanguageView{nullptr};\r
-\r
- SystemLanguageView::SystemLanguageView()\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SystemLanguageView");\r
- g_pSystemLanguageView = this;\r
- }\r
-\r
- SystemLanguageView::~SystemLanguageView()\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::~SystemLanguageView");\r
- ClearAll();\r
- g_pSystemLanguageView = nullptr;\r
- }\r
-\r
- SystemLanguageView *SystemLanguageView::GetInstance()\r
- {\r
- return g_pSystemLanguageView;\r
- }\r
-\r
- void SystemLanguageView::ClearAll()\r
- {\r
- if (initViewStatus == true)\r
- {\r
- scrollView->RemoveAll();\r
- delete Title;\r
- Title = nullptr;\r
- for (int i = 0; i < 2; i++)\r
- {\r
- delete Background[i];\r
- Background[i] = nullptr;\r
- }\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
- }\r
-\r
- // 设置图片\r
- UIImageView *SystemLanguageView::SetUpImageVIew(ImageConfig &imageconfig)\r
- {\r
- UIImageView *Image = new UIImageView();\r
- if (Image == nullptr)\r
- {\r
- return nullptr;\r
- }\r
- Image->SetPosition(imageconfig.x, imageconfig.y, imageconfig.w, imageconfig.h);\r
- Image->SetSrc(imageconfig.ImageSrc);\r
- return Image;\r
- }\r
-\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
- // 设置单选按钮\r
- UIRadioButton *SystemLanguageView::SetUpRadioButton(RadioButtonConfig &radioButtonconfig)\r
- {\r
- UIRadioButton *radiobutton = new UIRadioButton(radioButtonconfig.name);\r
- if (radiobutton == nullptr)\r
- {\r
- return nullptr;\r
- }\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
- radiobutton.SetState(UICheckBox::SELECTED);\r
- }\r
- else\r
- {\r
- radiobutton.SetState(UICheckBox::UNSELECTED);\r
- }\r
- }\r
-\r
- UIScrollView *SystemLanguageView::SystemLanguageViewInit(void)\r
- {\r
- /* ------------------------------- scrollView ------------------------------- */\r
- scrollView = new UIScrollView();\r
- if (scrollView == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::scrollView new fail!");\r
- }\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
- 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 UILabelExt();\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, 200, 35);\r
- Title->SetTextId(0);\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
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::SimplifiedChineseLabel new fail!");\r
- return nullptr;\r
- }\r
- scrollView->Add(SimplifiedChineseLabel);\r
- /* ------------------------------ EnglishLabel ------------------------------ */\r
- labelconfig.top = 273;\r
- labelconfig.text = "ENGLISH";\r
- EnglishLabel = SetUpLabel(labelconfig);\r
- if (EnglishLabel == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemLanguageView::EnglishLabel new fail!");\r
- return nullptr;\r
- }\r
- scrollView->Add(EnglishLabel);\r
- /* ---------------------- SimplifiedChineseRadioButton ---------------------- */\r
- RadioButtonConfig radioButtonConfig = {\r
- .left = 300,\r
- .top = 130,\r
- .width = 80,\r
- .height = 80,\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
- UICheckBox::OnChangeListener *SimplifiedChineseRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new RadiobuttonOnChangeListener(SimplifiedChineseRadioButton, Title));\r
- SimplifiedChineseRadioButton->SetOnChangeListener(SimplifiedChineseRadioButtonChange);\r
- scrollView->Add(SimplifiedChineseRadioButton);\r
- /* --------------------------- EnglishRadioButton --------------------------- */\r
- radioButtonConfig.left = 300;\r
- radioButtonConfig.top = 250;\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
- UICheckBox::OnChangeListener *EnglishRadioButtonChange = static_cast<UICheckBox::OnChangeListener *>(new RadiobuttonOnChangeListener(EnglishRadioButton, Title));\r
- EnglishRadioButton->SetOnChangeListener(EnglishRadioButtonChange);\r
- scrollView->Add(EnglishRadioButton);\r
- initViewStatus = true;\r
- return scrollView;\r
- }\r
-}
\ No newline at end of file
namespace OHOS\r
{\r
\r
- struct SystemView_ext_p\r
- {\r
- const int16_t viewId;\r
- char *viewid_str;\r
- bool enable_falg;\r
- };\r
-\r
- static SystemView_ext_p ViewMapper_t[] = {\r
- {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", true},\r
- {SUPERVISEVIEW, "SuperviseButton", true},\r
- {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", false},\r
- {FACTORYRESETVIEW, "FactoryResetButton", true},\r
- {SYSTEMLUPGRADE, "systemupgread", true},\r
- };\r
-\r
// 当前Presenter属性实例化的内存指针\r
static SystemPresenter *g_pSystemPresenter = nullptr;\r
\r
return true;\r
}\r
\r
- bool SystemPresenter::OnChange(UICheckBox::UICheckBoxState state)\r
- {\r
- return true;\r
- }\r
-\r
bool SystemPresenter::OnDrag(UIView &view, const DragEvent &event)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnDrag");\r
+ if ((event.GetDeltaX() > X_DRAG_OFFSET) && (event.GetDeltaX() > (DOUBLES * MATH_ABS(event.GetDeltaY())))) // 拖动过程中判断是否是水平滑动\r
+ {\r
+ SystemPresenter::X_DRAG_FLAG = true;\r
+ }\r
return true;\r
}\r
\r
bool SystemPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnDragEnd");\r
SystemView *p_SystemView = SystemView::GetInstance();\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+ if (p_SystemView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::GetInstance fail!");\r
+ return false;\r
+ }\r
+\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && SystemPresenter::X_DRAG_FLAG)\r
{\r
- for (int i = 1; i < MAX_SYSTEMVIEWID; i++)\r
+ if (&view == p_SystemView->GetSystemScrollView(SYSTEMVIEW))\r
{\r
- if (p_SystemView->GetSystemScrollView(i) != nullptr && p_SystemView->GetSystemScrollView(i)->IsVisible() == true)\r
- {\r
- p_SystemView->ChangeView(i, SYSTEMVIEW);\r
- break;\r
- }\r
+ NativeAbility::GetInstance().Back();\r
}\r
+ else if (&view == p_SystemView->GetSystemScrollView(ABOUTTHEWATCHVIEW))\r
+ {\r
+ p_SystemView->ChangeView(ABOUTTHEWATCHVIEW, SYSTEMVIEW);\r
+ }\r
+ else if (&view == p_SystemView->GetSystemScrollView(SYSTEMLUPGRADE))\r
+ {\r
+ p_SystemView->ChangeView(SYSTEMLUPGRADE, SYSTEMVIEW);\r
+ }\r
+ else if (&view == p_SystemView->GetSystemScrollView(WATCHQRCODE))\r
+ {\r
+ p_SystemView->ChangeView(WATCHQRCODE, SYSTEMVIEW);\r
+ }\r
+ else if (&view == p_SystemView->GetSystemScrollView(FACTORYRESETVIEW))\r
+ {\r
+ p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+ }\r
+ SystemPresenter::X_DRAG_FLAG = false;\r
return true;\r
}\r
return false;\r
// 该点击回调主要用于在系统视图界面进行跳转视图\r
bool SystemPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnClick");\r
SystemView *p_SystemView = SystemView::GetInstance();\r
- int len = sizeof(ViewMapper_t) / sizeof(SystemView_ext_p);\r
- // int len=5;\r
- // 根据控件id查找是哪个控件触发了点击回调\r
+ if (p_SystemView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::GetInstance fail!");\r
+ return false;\r
+ }\r
\r
- if (strcmp(view.GetViewId(), "SystemAboutTheWatchTitle") == 0)\r
+ if (strcmp(view.GetViewId(), SYSTEMABOUTTHEWATCHVIEWID) == 0) // 连续点击进入产测模式\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemAboutTheWatchTitle");\r
if (time == 0)\r
}\r
return true;\r
}\r
-\r
- if (strcmp(view.GetViewId(), "SystemLanguageButton") == 0)\r
+ else if (strcmp(view.GetViewId(), ABOUT_THE_WATCH) == 0) // 点击进入关于手表界面\r
{\r
- NativeAbility::GetInstance().EnterSlice(VIEW_LANGUAGE_SWITCH);\r
+ p_SystemView->ChangeView(SYSTEMVIEW, ABOUTTHEWATCHVIEW);\r
return true;\r
}\r
-\r
- for (int i = 0; i < len; i++)\r
+ else if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0) // 点击进入系统升级视图\r
{\r
- if (strcmp(view.GetViewId(), ViewMapper_t[i].viewid_str) == 0)\r
- {\r
- if (i == 5)\r
- {\r
-\r
- break;\r
- }\r
-\r
- if (ViewMapper_t[i].enable_falg == true)\r
- SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId);\r
- time = 0;\r
- return true;\r
- }\r
+ p_SystemView->ChangeView(SYSTEMVIEW, SYSTEMLUPGRADE);\r
+ return true;\r
}\r
-\r
- if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0)\r
+ else if (strcmp(view.GetViewId(), WATCH_QR_CODE) == 0) // 点击进入手表二维码视图\r
{\r
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING,NULL,0);\r
+ p_SystemView->ChangeView(SYSTEMVIEW, WATCHQRCODE);\r
return true;\r
}\r
- else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF) == 0)\r
+ else if (strcmp(view.GetViewId(), SYSTEM_LANGUAGE) == 0) // 点击进入系统语言界面\r
{\r
- p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+ NativeAbility::GetInstance().EnterSlice(VIEW_LANGUAGE_SWITCH);\r
return true;\r
}\r
-\r
- if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0)\r
+ else if (strcmp(view.GetViewId(), FACTORY_RESET) == 0) // 点击进入恢复出厂设置界面\r
{\r
- isSystemUpgradeState = true;\r
- SystemupgradeView::GetInstance()->statr_down_fwpkg();\r
+ p_SystemView->ChangeView(SYSTEMVIEW, FACTORYRESETVIEW);\r
+ return true;\r
}\r
- if (strcmp(view.GetViewId(), "labelButton1_exit") == 0)\r
+ else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0) // 恢复出厂设置确认\r
{\r
- // SystemView::GetInstance()->ChangeSlice(VIEW_SETTING);;\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
- isSystemUpgradeState = false;\r
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_RESTORE_FACTORY_SETTING, NULL, 0);\r
+ return true;\r
}\r
- return true;\r
- }\r
-\r
- // 该拖拽是用来处理系统视图(slice)的左滑退出事件和子视图的左滑退出到系统视图区分开\r
- bool SystemViewOnDragListener::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
- return true;\r
- }\r
-\r
- bool SystemViewOnDragListener::OnDragEnd(UIView &view, const DragEvent &event)\r
- {\r
- if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT))\r
+ else if (strcmp(view.GetViewId(), FACTORYRESET_CHECKOFF) == 0) // 恢复出厂设置取消\r
{\r
- SystemPresenter::GetInstance()->set_key_falg(false);\r
- NativeAbility::GetInstance().Back();\r
+ p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
+ return true;\r
}\r
- return true;\r
- }\r
\r
- /// @brief 简体中文单选按钮被选中\r
- /// @param void\r
- /// @return true 表示选中 ,false 表示未选中\r
- bool RadiobuttonOnChangeListener::isChineseRadioButtonSelected(void)\r
- {\r
- if (m_uiView->GetState() == UICheckBox::SELECTED && m_uiView->GetViewId() == SIMPLIFIED_CHINESE_CHECKBOX)\r
+\r
+ if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0) //点击是否立即升级\r
{\r
- return true;\r
+ SystemupgradeView::GetInstance()->statr_down_fwpkg();\r
}\r
- RootView::GetInstance()->Invalidate();\r
- return false;\r
- }\r
-\r
- /// @brief 英语单选按钮被选中\r
- /// @param void\r
- /// @return true 表示选中 ,false 表示未选中\r
- bool RadiobuttonOnChangeListener::isEnglishRadioButtonSelected(void)\r
- {\r
- if (m_uiView->GetState() == UICheckBox::SELECTED && m_uiView->GetViewId() == ENGLISH_CHECKBOX)\r
+ if (strcmp(view.GetViewId(), "labelButton1_exit") == 0) //稍后再说\r
{\r
- return true;\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
}\r
- return false;\r
- }\r
-\r
- /* -------------------------------------------------------------------------- */\r
- // 获取语言类\r
- //language *g_planguage = new language();\r
- /* -------------------------------------------------------------------------- */\r
- // 用来监听语言切换\r
- bool RadiobuttonOnChangeListener::OnChange(UICheckBox::UICheckBoxState state)\r
- {\r
- // language *g_planguage;\r
- // // static const char *en = "user/res/font/en.lang";\r
- // // static const char *zh_CN = "user/res/font/zh.lang";\r
- // switch (state)\r
- // {\r
- // case UICheckBox::SELECTED:\r
- // if (isChineseRadioButtonSelected())\r
- // {\r
- // // 中文文本\r
- // g_planguage->ChangeLanguage(LanguageId::ZH_CN);\r
- // }\r
- // else if (isEnglishRadioButtonSelected())\r
- // {\r
- // // 英语文本\r
- // g_planguage->ChangeLanguage(LanguageId::EN);\r
- // }\r
- // m_label->SetTextId(0);\r
- // // 强制刷新\r
- // m_label->ForceResetText();\r
- // RootView::GetInstance()->Invalidate();\r
- // break;\r
- // case UICheckBox::UNSELECTED:\r
- // // Handle unselected state if needed\r
- // break;\r
- // default:\r
- // break;\r
- // }\r
return true;\r
}\r
\r
bool SystemPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件\r
{\r
- if (!isSystemUpgradeState)\r
- { // 如果处于系统升级状态power键返回功能无效\r
- UNUSED(view);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnKeyAct");\r
- uint16 keyID = event.GetKeyId();\r
- uint16 keyState = event.GetState();\r
- // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
- if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
- {\r
- uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
- NativeAbility::GetInstance().Back();\r
- }\r
+ UNUSED(view);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnKeyAct");\r
+ uint16 keyID = event.GetKeyId();\r
+ uint16 keyState = event.GetState();\r
+ // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+ {\r
+ NativeAbility::GetInstance().Back();\r
}\r
return true;\r
}\r
\r
- void SystemPresenter::set_key_falg(bool falg) // 增加按键事件\r
- {\r
- isSystemUpgradeState = falg;\r
- }\r
+ // void SystemPresenter::set_key_falg(bool falg) // 增加按键事件\r
+ // {\r
+ // isSystemUpgradeState = falg;\r
+ // }\r
}
\ No newline at end of file
#include "wearable_log.h"\r
#include "bleService.h"\r
#include "battery_hal.h"\r
+#include "language/font/ui_resource_string.h"\r
extern uint8_t battery_get_voltage(float *voltage);\r
namespace OHOS\r
{\r
{\r
const int16_t viewId;\r
const char *viewid_str;\r
- const char *Labe_str;\r
+ // const char *Labe_str;\r
+ uint16_t textId;\r
bool (SystemView::*func)(int16_t thisView);\r
};\r
- static UILabelButtonExt *button[10] = {NULL};\r
\r
SystemViewMapper_ext ViewMapper_t[] = {\r
- {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", "关于手表", &SystemView::ChangeSystemAboutView},\r
- {SUPERVISEVIEW, "SuperviseButton", "监管模式", &SystemView::ChangeSystemSuperviseView},\r
- {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", "切换语言", &SystemView::ChangeSystemLanguageView},\r
- {FACTORYRESETVIEW, "FactoryResetButton", "恢复出厂", &SystemView::ChangeSystemFactoryResetView},\r
- {SYSTEMLUPGRADE, "systemupgread", "系统升级", &SystemView::ChangeSystemupgradeView},\r
+ {ABOUTTHEWATCHVIEW, ABOUT_THE_WATCH, STR_ABOUT_WATCH, &SystemView::ChangeSystemAboutView},\r
+ {SYSTEMLUPGRADE, SYSTEM_UPGRADE, STR_SYSTEM_UPDATE, &SystemView::ChangeSystemupgradeView},\r
+ {WATCHQRCODE, WATCH_QR_CODE, STR_WATCH_QR_CODE, &SystemView::ChangeWatchQRCodeView},\r
+ {SYSTEMLANGUAGEVIEW, SYSTEM_LANGUAGE, STR_SYSTEM_LANGUAGE, &SystemView::ChangeSystemLanguageView},\r
+ {FACTORYRESETVIEW, FACTORY_RESET, STR_FACTORY_RESET, &SystemView::ChangeSystemFactoryResetView},\r
+\r
};\r
\r
+ // 根据传入的interface参数执行相应视图ID关联的成员函数。\r
+ bool SystemView::ClickFunc(int16_t interface)\r
+ {\r
+ int funcSize = sizeof(ViewMapper_t) / sizeof(ViewMapper_t[SYSTEMVIEW]);\r
+ for (int i = 0; i < funcSize; i++)\r
+ {\r
+ if (interface == ViewMapper_t[i].viewId)\r
+ {\r
+ bool jug = (this->*(ViewMapper_t[i].func))(interface);\r
+ if (jug == false)\r
+ {\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+\r
+ // 切换视图\r
+ void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
+ {\r
+ if (hideView > MAX_SYSTEMVIEWID)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
+ return;\r
+ }\r
+ SystemScrollView[hideView]->SetVisible(false);\r
+ ClickFunc(showView);\r
+ SystemScrollView[showView]->SetVisible(true);\r
+ Draw();\r
+ }\r
+\r
SystemView::SystemView()\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
\r
void SystemView::ClearAll()\r
{\r
- if (initViewStatus == true)\r
+ if (SystemScrollView[SYSTEMVIEW] != nullptr)\r
{\r
SystemScrollView[SYSTEMVIEW]->RemoveAll();\r
- UIView::OnDragListener *draglistener = SystemScrollView[SYSTEMVIEW]->GetOnDragListener();\r
- if (draglistener != nullptr)\r
+\r
+ if (Title != nullptr)\r
{\r
- delete draglistener;\r
- draglistener = nullptr;\r
+ delete Title;\r
+ Title = nullptr;\r
+ }\r
+\r
+ for (int i = 0; i < (sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext)); i++)\r
+ {\r
+ delete SystemViewButton[i];\r
+ SystemViewButton[i] = nullptr;\r
}\r
\r
if (p_SystemAboutTheWatchView != nullptr)\r
delete p_SystemAboutTheWatchView;\r
p_SystemAboutTheWatchView = nullptr;\r
}\r
- if (p_SystemSuperviseView != nullptr)\r
+\r
+ if (p_SystemupgradeView != nullptr)\r
{\r
- delete p_SystemSuperviseView;\r
- p_SystemSuperviseView = nullptr;\r
+ delete p_SystemupgradeView;\r
+ p_SystemupgradeView = nullptr;\r
}\r
\r
- if (p_SystemLanguageView != nullptr)\r
+ if (p_WatchQRCodeView != nullptr)\r
{\r
- delete p_SystemLanguageView;\r
- p_SystemLanguageView = nullptr;\r
+ delete p_WatchQRCodeView;\r
+ p_WatchQRCodeView = nullptr;\r
}\r
\r
if (p_SystemFactoryResetView != nullptr)\r
p_SystemFactoryResetView = nullptr;\r
}\r
\r
- if (SystemLabel != nullptr)\r
- {\r
- delete SystemLabel;\r
- SystemLabel = nullptr;\r
- }\r
-\r
delete SystemScrollView[SYSTEMVIEW];\r
SystemScrollView[SYSTEMVIEW] = nullptr;\r
}\r
SystemScrollView[SYSTEMVIEW]->SetScrollBlankSize(35);\r
SystemScrollView[SYSTEMVIEW]->SetReboundSize(50);\r
SystemScrollView[SYSTEMVIEW]->SetDirection(1);\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new SystemViewOnDragListener());\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 true 设置成功,false 失败\r
bool SystemView::SetTheTitle(void)\r
{\r
- SystemLabel = new UILabelExt();\r
- if (SystemLabel == nullptr)\r
+ Title = new UILabelExt();\r
+ if (Title == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemLabel new fail!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title new fail!");\r
return false;\r
}\r
- SystemLabel->SetPosition(203, 52);\r
- SystemLabel->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- SystemLabel->SetStyle(STYLE_TEXT_FONT, 30);\r
- SystemLabel->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- SystemLabel->SetText("系统");\r
- SystemLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
- SystemLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- SystemLabel->SetRollSpeed(6);\r
- SystemLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ Title->SetPosition(83, 52, 300, 35);\r
+ Title->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ Title->SetStyle(STYLE_TEXT_FONT, 30);\r
+ Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
+ // Title->SetText("系统");\r
+ Title->SetTextId(STR_SYSTEM);\r
+ Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);\r
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ // Title->SetRollSpeed(6);\r
+ Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
return true;\r
}\r
\r
button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
button->SetOnClickListener(clickListener);\r
\r
- button->SetText(buttonconfig.str);\r
+ // button->SetText(buttonconfig.str);\r
+ button->SetTextId(buttonconfig.textId);\r
button->SetAlign(TEXT_ALIGNMENT_LEFT);\r
button->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y);\r
button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, buttonconfig.Fontsize);\r
\r
for (int i = 0; i < len; i++)\r
{\r
- buttonconfig.str = ViewMapper_t[i].Labe_str;\r
+ // buttonconfig.str = ViewMapper_t[i].Labe_str;\r
+ buttonconfig.textId = ViewMapper_t[i].textId;\r
buttonconfig.ViewId = ViewMapper_t[i].viewid_str;\r
buttonconfig.ImageSrc = imagsrc;\r
buttonconfig.label_x = 40;\r
buttonconfig.label_y = 0;\r
buttonconfig.Fontsize = 30;\r
buttonconfig.ALIGN = TEXT_ALIGNMENT_LEFT;\r
- button[i] = SetTheButton_ext(buttonconfig, clickListener);\r
+ SystemViewButton[i] = SetTheButton_ext(buttonconfig, clickListener);\r
buttonconfig.y += interval;\r
}\r
- /* -------------------------------------------------------------------------- */\r
- initViewStatus = true;\r
}\r
\r
// 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
return true;\r
}\r
\r
- // 2.跳转到系统监管\r
- bool SystemView::ChangeSystemSuperviseView(int16_t thisView)\r
+ // 2.跳转到手表二维码\r
+ bool SystemView::ChangeWatchQRCodeView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemSuperviseView");\r
- p_SystemSuperviseView = new SystemSuperviseView();\r
- if (p_SystemSuperviseView == nullptr)\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeWatchQRCodeView");\r
+ p_WatchQRCodeView = new SystemSuperviseView();\r
+ if (p_WatchQRCodeView == nullptr)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
return false;\r
}\r
- SystemScrollView[thisView] = p_SystemSuperviseView->SystemSuperviseViewInit();\r
+ SystemScrollView[thisView] = p_WatchQRCodeView->SystemSuperviseViewInit();\r
RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
// 3.跳转到系统语言界面\r
bool SystemView::ChangeSystemLanguageView(int16_t thisView)\r
{\r
-#if 1\r
- if (SystemScrollView[thisView] == nullptr)\r
- {\r
- WEARABLE_LOGE(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
-#endif\r
return true;\r
}\r
\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemFactoryResetView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemupgradeView");\r
p_SystemupgradeView = new SystemupgradeView();\r
if (p_SystemupgradeView == nullptr)\r
{\r
return SystemScrollView[ViewId];\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
- {SYSTEMVIEW, &SystemView::ChangeSystemView},\r
- {ABOUTTHEWATCHVIEW, &SystemView::ChangeSystemAboutView},\r
- {SUPERVISEVIEW, &SystemView::ChangeSystemSuperviseView},\r
- {SYSTEMLANGUAGEVIEW, &SystemView::ChangeSystemLanguageView},\r
- {FACTORYRESETVIEW, &SystemView::ChangeSystemFactoryResetView},\r
- };\r
-\r
- // 3.根据传入的interface参数执行相应视图ID关联的成员函数。\r
- bool SystemView::ClickFunc(int16_t interface)\r
- {\r
- int funcSize = sizeof(ViewMapper_t) / sizeof(ViewMapper_t[SYSTEMVIEW]);\r
- for (int i = 0; i < funcSize; i++)\r
- {\r
- if (interface == ViewMapper_t[i].viewId)\r
- {\r
- bool jug = (this->*(ViewMapper_t[i].func))(interface);\r
- if (jug == false)\r
- {\r
- return false;\r
- }\r
- return true;\r
- }\r
- }\r
- return false;\r
- }\r
-\r
- // 4.切换视图\r
- void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
- {\r
- if (hideView > MAX_SYSTEMVIEWID)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
- return;\r
- }\r
- SystemScrollView[hideView]->SetVisible(false);\r
- ClickFunc(showView);\r
- SystemScrollView[showView]->SetVisible(true);\r
- Draw();\r
- }\r
- /* -------------------------------------------------------------------------- */\r
-\r
void SystemView::OnStart()\r
{\r
View<SystemPresenter>::OnStart();\r
return;\r
}\r
\r
- SystemScrollView[SYSTEMVIEW]->Add(SystemLabel);\r
+ SystemScrollView[SYSTEMVIEW]->Add(Title);\r
int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext);\r
\r
for (int i = 0; i < len; i++)\r
{\r
- SystemScrollView[SYSTEMVIEW]->Add(button[i]);\r
+ SystemScrollView[SYSTEMVIEW]->Add(SystemViewButton[i]);\r
}\r
RootView::GetInstance()->Add(SystemScrollView[SYSTEMVIEW]);\r
Draw();\r
STR_GRID_DISPLAY = 301,\r
STR_CELLULAR_DISPLAY = 302,\r
STR_AUTO_DETECT = 303,\r
- STR_LANGUAGE = 304,\r
- STR_MAX_ID = 305,\r
+ STR_ABOUT_WATCH = 304,\r
+ STR_WATCH_QR_CODE = 305,\r
+ STR_SYSTEM_LANGUAGE = 306,\r
+ STR_RESTART = 307,\r
+ STR_SHUTDOWN = 308,\r
+ STR_FACTORY_RESET = 309,\r
+ STR_LANGUAGE = 310,\r
+ STR_MAX_ID = 311,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:992905e904b5e96cc6e86d1da6060d4f091469cd5360fd55e2606c3d5b64de4b
+size 24984
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:efdea91c4ef6371d11becb8651e5f1b952bed953af0e1e4610bb71cf1017048a
-size 25624
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:7b2eaa958d59789b0398505a7e2ed21c58059c5186ebe8839641ee443ca192ef
-size 25624
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:d9e67bc841ccc0ea2ad23a091e80b620412c1ab85a412e6830ee6ee9d439b5cf
-size 25624
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:2ff7a6c1c5266019f052011cb76163eb8fed71444f29736d3ced050bafde87d6
-size 25624
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:979a740e2a057ed4d32eb31900c671070c7929d924a6d91d1e27485cd57482e0
-size 146040