${CMAKE_CURRENT_SOURCE_DIR}/nativeui/InitComponent/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/uisample/uitest/framework/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/heart_blood/health_service/
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/traing_card/
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/producttest/include
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingModel.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingMoreView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingMorePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingListLimitView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingListLimitPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingNomalView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingNomalPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSsetView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSsetPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetDistView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetDistPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetSeptView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetCaluliPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingControlView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingControlPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingCardView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingCardPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingDataView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingDataPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingDetailView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingEndnote2Presenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingEnddataView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingEnddataPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSlackView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSlackPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSnoteView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSnotePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingStrongView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingStrongPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSlostPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSlostView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSbackPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingGPSbackView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingWinView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingWinPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingMusicView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingMusicPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/traing_card/Traing_CardView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/traing_card/Traing_CardPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingStrongView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingStrongPresenter.cpp
+
+ #主界面训练卡片
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/Training_CardView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/Training_CardPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/TraingCardView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/TraingCardPresenter.cpp
+
+ #训练记录
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordPresenter.cpp
+ #GPS训练
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlackView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlackPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSnoteView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSnotePresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlostPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlostView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSbackPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSbackView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSsetView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSsetPresenter.cpp
+
+ #训练列表
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitAdapter.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitItemView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitModel.cpp
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreView.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp
+
#saveele
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/saveele/src/SaveEleModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/saveele/src/SaveElePresenter.cpp
VIEW_SAVEBAT, // 省电模式界面
/* ----------------------------------- 训练 ----------------------------------- */
VIEW_TRAINING, // 训练
- VIEW_TRAININGMUSIC, // 训练音乐
+ VIEW_TRAININGMUSIC, // 训练音乐
VIEW_TRAININGMORE, // 更多训练
VIEW_RUNNING, // 跑步训练之列表
VIEW_TRAININGLIMIT, // 极限运动子列表
/* -------------------------------------------------------------------------- */
#include "traing/include/TraingView.h"
#include "traing/include/TraingPresenter.h"
-#include "traing/include/TraingMorePresenter.h"
-#include "traing/include/TraingMoreView.h"
-#include "traing/include/TraingListLimitPresenter.h"
-#include "traing/include/TraingListLimitView.h"
#include "traing/include/TraingNomalPresenter.h"
#include "traing/include/TraingNomalView.h"
#include "traing/include/TraingSetPresenter.h"
#include "traing/include/TraingSetView.h"
-#include "traing/include/TraingGPSsetPresenter.h"
-#include "traing/include/TraingGPSsetView.h"
#include "traing/include/TraingSetTimePresenter.h"
#include "traing/include/TraingSetTimeView.h"
#include "traing/include/TraingSetCaluliPresenter.h"
#include "traing/include/TraingSetSeptView.h"
#include "traing/include/TraingControlPresenter.h"
#include "traing/include/TraingControlView.h"
-#include "traing/include/TraingCardPresenter.h"
-#include "traing/include/TraingCardView.h"
#include "traing/include/TraingDataPresenter.h"
#include "traing/include/TraingDataView.h"
#include "traing/include/TraingDetailPresenter.h"
#include "traing/include/TraingEndnote2View.h"
#include "traing/include/TraingEnddataPresenter.h"
#include "traing/include/TraingEnddataView.h"
-#include "traing/include/TraingGPSPresenter.h"
-#include "traing/include/TraingGPSView.h"
-#include "traing/include/TraingGPSlackPresenter.h"
-#include "traing/include/TraingGPSlackView.h"
-#include "traing/include/TraingGPSnotePresenter.h"
-#include "traing/include/TraingGPSnoteView.h"
#include "traing/include/TraingStrongPresenter.h"
#include "traing/include/TraingStrongView.h"
-#include "traing/include/TraingGPSlostPresenter.h"
-#include "traing/include/TraingGPSlostView.h"
-#include "traing/include/TraingGPSbackPresenter.h"
-#include "traing/include/TraingGPSbackView.h"
#include "traing/include/TraingWinPresenter.h"
#include "traing/include/TraingWinView.h"
#include "traing/include/TraingMusicView.h"
#include "traing/include/TraingMusicPresenter.h"
-
+/* ---------------------------------- GPS训练 --------------------------------- */
+#include "traing/training_GPS/include/TraingGPSPresenter.h"
+#include "traing/training_GPS/include/TraingGPSView.h"
+#include "traing/training_GPS/include/TraingGPSlackPresenter.h"
+#include "traing/training_GPS/include/TraingGPSlackView.h"
+#include "traing/training_GPS/include/TraingGPSnotePresenter.h"
+#include "traing/training_GPS/include/TraingGPSnoteView.h"
+#include "traing/training_GPS/include/TraingGPSlostPresenter.h"
+#include "traing/training_GPS/include/TraingGPSlostView.h"
+#include "traing/training_GPS/include/TraingGPSbackPresenter.h"
+#include "traing/training_GPS/include/TraingGPSbackView.h"
+#include "traing/training_GPS/include/TraingGPSsetPresenter.h"
+#include "traing/training_GPS/include/TraingGPSsetView.h"
+/* ---------------------------------- 训练记录 ---------------------------------- */
#include "traingrecord/include/TraingRecordView.h"
#include "traingrecord/include/TraingRecordPresenter.h"
+/* ---------------------------------- 训练列表 ---------------------------------- */
+#include "traing/training_list_more/include/TraingMorePresenter.h"
+#include "traing/training_list_more/include/TraingMoreView.h"
+#include "traing/training_list_limit/include/TraingLimitPresenter.h"
+#include "traing/training_list_limit/include/TraingLimitView.h"
+/* ---------------------------------- 主界面卡片 --------------------------------- */
+#include "traing/training_card/include/TraingCardPresenter.h"
+#include "traing/training_card/include/TraingCardView.h"
/* -------------------------------------------------------------------------- */
-
#ifdef SUPPORT_ALIPAY_SEC
#include "AlipayMainView.h"
#include "AlipayPresenter.h"
}
void NativeLauncher::InitTraingListLimitSlice(void)
{
- SliceProxy *TraingListLimitview = new AbilitySliceProxy<TraingListLimitView, TraingListLimitPresenter>;
+ SliceProxy *TraingListLimitview = new AbilitySliceProxy<TraingLimitView, TraingLimitPresenter>;
NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGLIMIT, TraingListLimitview);
}
void NativeLauncher::InitTraingNomalSlice(void)
+
/**
* Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
* Description: alipay list adapt.
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-02-01 15:18:45
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 19:45:28
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/applist/include/ApplistModel.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: ApplistModel.h
#include "components/ui_cross_view.h"
#include "heart_blood/include/BloodCardView.h"
-#include "traing/traing_card/Traing_CardView.h"
+#include "traing/training_card/include/Training_CardView.h"
#include "ApplistCardView.h"
#include "weather/include/WeatherControlView.h"
#include "message/include/MessageCardView.h"
HeartRateView *heartRateView{nullptr};
BloodCardView *bloodView{nullptr};
WeatherControlView *weatherControlView{nullptr};
- Traing_CardView *traingView{nullptr};
+ Training_CardView *traingView{nullptr};
ApplistCardView *applistCardView{nullptr};
UIButton *changebut{nullptr};
/* -------------------------------------------------------------------------- */
#include "DialModelTime.h"
#include "DialModelPower.h"
#include "gfx_utils/mem_check.h"
-#include "traing/traing_card/Traing_CardView.h"
+#include "traing/training_card/include/Training_CardView.h"
#if USE_OFFLINE_DIAL
#include "DialViewGroup.h"
#endif
// 主界面训练卡片
UICardPage *MainViewSample::InitTrainingPage(void)
{
- traingView = new Traing_CardView();
+ traingView = new Training_CardView();
if (traingView == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "traingView new fail");
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 17:59:57
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/message/include/MessageAdapter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#ifndef Message_ADAPTER_H
#define Message_ADAPTER_H
explicit MessageListAdapter();
virtual ~MessageListAdapter();
- /* *
- * @brief Sets the UIView adapter data, which is a MessageListItem linked list.
- *
- * @param data Indicates the MessageListItem linked list data.
- * @since 1.0
- * @version 1.0
- */
void SetData(std::list<MessageListItem> &data);
- /* *
- * @brief Obtains the <b>data</b> size of the UILabel adapter.
- *
- * @return Returns the <b>data</b> size of the UILabel adapter.
- * @since 1.0
- * @version 1.0
- */
virtual uint16_t GetCount(void) override;
virtual UIView *GetView(UIView *inView, int16_t index) override;
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:00:19
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/message/include/MessageModel.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#ifndef Message_MODEL_H
#define Message_MODEL_H
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:16:05
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/message/src/MessageAdapter.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#include "message/include/MessageAdapter.h"
#include "message/include/MessageItemView.h"
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 20:20:20
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/message/src/MessageItemView.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#include "message/include/MessageItemView.h"
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 20:08:00
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/message/src/MessageModel.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#include "message/include/MessageModel.h"
#include "common/image_cache_manager.h"
MessageList->SetPosition(43, 120, 380, 600);
MessageList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
}
-
+ UIList *MessageView::GetList()
+ {
+ return MessageList;
+ }
void MessageView::DeInitView()
{
// scrollView-> RemoveAll();
return true;
}
- UIList *MessageView::GetList()
- {
- return MessageList;
- }
}
\ No newline at end of file
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-01-29 19:58:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 21:02:12
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: SettingItemView.cpp
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-01-29 19:58:37
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 11:28:03
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/system/src/SystemModel.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
#include "system/include/SystemModel.h"
static constexpr const char *INCO_UP_40_IMAGE = MODULES "/Inco_up_40.bin";
static constexpr const char *LINE_IMAGE = MODULES "/Line.bin";
static constexpr const char *LINE_1_IMAGE = MODULES "/Line_1.bin";
- static constexpr const char *LINE_2_IMAGE = MODULES "/Line_2.bin";
static constexpr const char *MILEAGE_IMAGE = MODULES "/Mileage.bin";
+ static constexpr const char *LINE_2_IMAGE = MODULES "/Line_2.bin";
static constexpr const char *MILEAGE_30_IMAGE = MODULES "/Mileage_30.bin";
static constexpr const char *MORE_IMAGE = MODULES "/More.bin";
static constexpr const char *MOREVIEW_IMAGE = MODULES "/MoreView.bin";
+++ /dev/null
-
-#ifndef _TraingListLimit_PRESENTER_H
-#define _TraingListLimit_PRESENTER_H
-
-#include "Presenter.h"
-#include "TraingListLimitView.h"
-
-namespace OHOS
-{
- class TraingListLimitView;
-
- class TraingListLimitPresenter : public Presenter<TraingListLimitView>,
- public UIView::OnClickListener,
- public UIView::OnDragListener
- {
- public:
- TraingListLimitPresenter();
- virtual ~TraingListLimitPresenter();
-
- void OnStart() override;
- void OnPause() override;
- void OnResume() override;
- void OnStop() override;
-
- static TraingListLimitPresenter *GetInstance();
-
- private:
- // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
- bool OnClick(UIView &view, const ClickEvent &event) override;
- bool OnDrag(UIView &view, const DragEvent &event) override;
- bool OnDragEnd(UIView& view, const DragEvent& event) override;
-
- };
-} // namespace OHOS
-
-#endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
+++ /dev/null
-#ifndef _TraingListLimit_VIEW_H
-#define _TraingListLimit_VIEW_H
-
-#include "BaseView.h"
-#include "View.h"
-#include <ui_scroll_view.h>
-#include "components/ui_view_group.h"
-#include "components/ui_label.h"
-#include "components/ui_image_view.h"
-#include "components/ui_button.h"
-#include "components/ui_image_animator.h"
-#include "components/ui_label_button_ext.h"
-#include "components/ui_chart.h"
-#include "components/ui_list.h"
-#include "components/icon_adapter.h"
-#include "wearable_log.h"
-#include "ohos_types.h"
-#include "components/ui_card_page.h"
-#include "traing/include/TraingModel.h"
-#include "traing/Training_UiConfig.h"
-
-#include "TraingListLimitPresenter.h"
-namespace OHOS
-{
-#define BUTTON1 "button1"
-#define BUTTON2 "button2"
-#define BUTTON3 "button3"
-#define BUTTON4 "button4"
-#define BUTTON5 "button5"
-#define BUTTON6 "button6"
-#define BUTTON7 "button7"
-#define BUTTON8 "button8"
-
- class TraingListLimitPresenter;
- class TraingListLimitView : public View<TraingListLimitPresenter>
- {
-
- public:
- TraingListLimitView();
- virtual ~TraingListLimitView();
- static TraingListLimitView *GetInstance(void);
-
- void OnStart() override;
- void OnSetUpView() override;
- void OnTearDownView() override;
- void OnStop() override;
- void InitView();
- void DeInit();
-
- void InitList();
- void PreLoad(void);
-
- private:
- UIView::OnDragListener *draglistener{nullptr};
- TraingListLimitView(TraingListLimitView &&) = delete;
- TraingListLimitView &operator=(TraingListLimitView &&) = delete;
-
- UIViewGroup *container_ = nullptr;
- UIScrollView *scrollView1_ = nullptr;
- UILabelExt *label1_ = nullptr;
- UIImageView *image1_ = nullptr;
- UIImageView *image2_ = nullptr;
- UIImageView *image3_ = nullptr;
- UIImageView *image4_ = nullptr;
- UIImageView *image5_ = nullptr;
- UIImageView *image6_ = nullptr;
- UIImageView *image7_ = nullptr;
- UIImageView *image8_ = nullptr;
- UIButton *button1_ = nullptr;
- UIButton *button2_ = nullptr;
- UIButton *button3_ = nullptr;
- UIButton *button4_ = nullptr;
- UIButton *button5_ = nullptr;
- UIButton *button6_ = nullptr;
- UIButton *button7_ = nullptr;
- UIButton *button8_ = nullptr;
- UIList *list1_ = nullptr;
- IconAdapter *list1adapter_ = nullptr;
- List<IconItemNode *> *list1data_ = nullptr;
- bool viewiInitStatus{false};
- };
-} // namespace OHOS
-#endif // TraingListLimit_PRESENTER_H
+++ /dev/null
-\r
-#include "AppViewIDs.h"\r
-#include "NativeAbility.h"\r
-\r
-#include <iostream>\r
-#include <chrono>\r
-#include <thread>\r
-#include "traing/include/TraingListLimitPresenter.h"\r
-// #include "TraingListLimitView.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- // 当前Presenter属性实例化的内存指针\r
- static TraingListLimitPresenter *g_pTraingListLimitPresenter = nullptr;\r
-\r
- TraingListLimitPresenter::TraingListLimitPresenter()\r
- {\r
-\r
- g_pTraingListLimitPresenter = this;\r
- }\r
-\r
- TraingListLimitPresenter::~TraingListLimitPresenter()\r
- {\r
-\r
- g_pTraingListLimitPresenter = nullptr;\r
- }\r
-\r
- TraingListLimitPresenter *TraingListLimitPresenter::GetInstance()\r
- {\r
-\r
- return g_pTraingListLimitPresenter;\r
- }\r
-\r
- void TraingListLimitPresenter::OnStart()\r
- {\r
-\r
- Presenter<TraingListLimitView>::OnStart();\r
- }\r
-\r
- void TraingListLimitPresenter::OnPause(void)\r
- {\r
-\r
- Presenter<TraingListLimitView>::OnPause();\r
- }\r
-\r
- void TraingListLimitPresenter::OnResume(void)\r
- {\r
-\r
- Presenter<TraingListLimitView>::OnResume();\r
- }\r
-\r
- void TraingListLimitPresenter::OnStop(void)\r
- {\r
-\r
- Presenter<TraingListLimitView>::OnStop();\r
- }\r
- bool TraingListLimitPresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
- return true;\r
- }\r
- bool TraingListLimitPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
- {\r
-\r
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);\r
- }\r
- UNUSED(view);\r
- return true;\r
- }\r
-\r
- bool TraingListLimitPresenter::OnClick(UIView &view, const ClickEvent &event)\r
- {\r
- // 根据控件id查找是哪个控件触发了点击回调\r
- if (strcmp(view.GetViewId(), BUTTON1) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON2) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON3) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON4) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON5) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON6) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON7) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- if (strcmp(view.GetViewId(), BUTTON8) == 0)\r
- {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGNOMAL);\r
- }\r
- return true;\r
- }\r
-}\r
+++ /dev/null
-\r
-#include "traing/include/TraingListLimitView.h"\r
-\r
-#include "common/image_cache_manager.h"\r
-#include "UiConfig.h"\r
-#include "ui_resource_image.h"\r
-#include <ui_scroll_view.h>\r
-#include "components/ui_button.h"\r
-\r
-#include "traing/include/TraingModel.h"\r
-#include "traing/Training_UiConfig.h"\r
-namespace OHOS\r
-{\r
-\r
- static char *text[] = {"一般极限运动", "滑板", "攀岩", "高空弹跳/蹦极", "跑酷", "BMX", "定向越野", "跳伞", "赛车", "铁人三项运动"};\r
-\r
- static TraingListLimitView *g_pTraingListLimitView{nullptr};\r
-\r
- TraingListLimitView::TraingListLimitView()\r
- {\r
- g_pTraingListLimitView = this;\r
- }\r
-\r
- TraingListLimitView::~TraingListLimitView()\r
- {\r
- DeInit();\r
- g_pTraingListLimitView = nullptr;\r
- }\r
-\r
- TraingListLimitView *TraingListLimitView::GetInstance()\r
- {\r
-\r
- return g_pTraingListLimitView;\r
- }\r
-\r
- /* Traing:初始化list */\r
- void TraingListLimitView::InitList()\r
- {\r
- // Add List to App\r
- if (list1_ == nullptr)\r
- {\r
- list1_ = new UIList();\r
- }\r
- list1_->SetPosition(35, 110); // widget's left position and top position\r
- list1_->Resize(300, 1100); // widget's width and height\r
- list1_->SetViewId("list1"); // Set style\r
- list1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
- list1_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
- // Set additional property\r
- if (list1data_ == nullptr)\r
- {\r
- list1data_ = new List<IconItemNode *>();\r
- }\r
-\r
- // 使用全局变量来初始化列表项\r
- for (int i = 0; i < 8; ++i)\r
- {\r
- IconItemNode *listData = new IconItemNode();\r
- // listData->imagePath = imagePaths[i];\r
- listData->txt = text[i];\r
- list1data_->PushBack(listData);\r
- }\r
-\r
- if (list1adapter_ == nullptr)\r
- {\r
- list1adapter_ = new IconAdapter();\r
- }\r
- list1adapter_->SetItemSize(250, 120);\r
- list1adapter_->SetImageSize(130, 120);\r
- list1adapter_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- list1adapter_->SetData(list1data_);\r
- list1_->SetAdapter(list1adapter_);\r
-\r
- // Add to scrollView1\r
- // scrollView1_->Add(list1_);\r
- list1_->SetVisible(true);\r
- }\r
- /* InitView:初始化界面*/\r
- void TraingListLimitView ::InitView()\r
- {\r
- if (container_ == nullptr)\r
- {\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- }\r
- // Add ScrollView to App\r
- if (scrollView1_ == nullptr)\r
- {\r
- scrollView1_ = new UIScrollView();\r
- }\r
- scrollView1_->SetPosition(0, 0); // widget's left position and top position\r
- scrollView1_->Resize(466, 466); // widget's width and height\r
- scrollView1_->SetViewId("scrollView1"); // Set style\r
- scrollView1_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- // Add to rootView\r
- container_->Add(scrollView1_);\r
- scrollView1_->SetVisible(true);\r
-\r
- // 初始化titLable\r
- TraingModel::GetInstance()->InitLabelExt(label1_, 173, 52, 200, 60, "label1", "极限训练", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- scrollView1_->Add(label1_);\r
- // 初始化Button\r
- TraingModel::GetInstance()->InitButton(button1_, 43, 120, 380, 100, BUTTON1);\r
- TraingModel::GetInstance()->InitButton(button2_, 43, 240, 380, 100, BUTTON2);\r
- TraingModel::GetInstance()->InitButton(button3_, 43, 360, 380, 100, BUTTON3);\r
- TraingModel::GetInstance()->InitButton(button4_, 43, 480, 380, 100, BUTTON4);\r
- TraingModel::GetInstance()->InitButton(button5_, 43, 600, 380, 100, BUTTON5);\r
- TraingModel::GetInstance()->InitButton(button6_, 43, 720, 380, 100, BUTTON6);\r
- TraingModel::GetInstance()->InitButton(button7_, 43, 840, 380, 100, BUTTON7);\r
- TraingModel::GetInstance()->InitButton(button8_, 43, 960, 380, 100, BUTTON8);\r
- button1_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button2_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button3_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button4_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button5_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button6_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button7_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- button8_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingListLimitPresenter::GetInstance()));\r
- scrollView1_->Add(button1_);\r
- scrollView1_->Add(button2_);\r
- scrollView1_->Add(button3_);\r
- scrollView1_->Add(button4_);\r
- scrollView1_->Add(button5_);\r
- scrollView1_->Add(button6_);\r
- scrollView1_->Add(button7_);\r
- scrollView1_->Add(button8_);\r
- // 初始化image\r
- TraingModel::GetInstance()->InitImageView(image1_, 360, 160, 100, 100, "image1", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image2_, 360, 280, 100, 100, "image2", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image3_, 360, 400, 100, 100, "image3", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image4_, 360, 520, 100, 100, "image4", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image5_, 360, 640, 100, 100, "image5", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image6_, 360, 760, 100, 100, "image6", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image7_, 360, 880, 100, 100, "image7", ICON_IMAGE);\r
- TraingModel::GetInstance()->InitImageView(image8_, 360, 1000, 100, 100, "image8", ICON_IMAGE);\r
- scrollView1_->Add(image1_);\r
- scrollView1_->Add(image2_);\r
- scrollView1_->Add(image3_);\r
- scrollView1_->Add(image4_);\r
- scrollView1_->Add(image5_);\r
- scrollView1_->Add(image6_);\r
- scrollView1_->Add(image7_);\r
- scrollView1_->Add(image8_);\r
- // 初始化list\r
- InitList();\r
- scrollView1_->Add(list1_);\r
- }\r
- /* DeInit:删除组件*/\r
- void TraingListLimitView::DeInit()\r
- {\r
- container_->RemoveAll();\r
- if (label1_ != nullptr)\r
- {\r
- delete label1_;\r
- label1_ = nullptr;\r
- }\r
- if (button1_ != nullptr)\r
- {\r
- delete button1_;\r
- button1_ = nullptr;\r
- }\r
- if (button8_ != nullptr)\r
- {\r
- delete button8_;\r
- button8_ = nullptr;\r
- }\r
- if (button7_ != nullptr)\r
- {\r
- delete button7_;\r
- button7_ = nullptr;\r
- }\r
- if (button6_ != nullptr)\r
- {\r
- delete button6_;\r
- button6_ = nullptr;\r
- }\r
- if (button5_ != nullptr)\r
- {\r
- delete button5_;\r
- button5_ = nullptr;\r
- }\r
- if (button4_ != nullptr)\r
- {\r
- delete button4_;\r
- button4_ = nullptr;\r
- }\r
- if (button3_ != nullptr)\r
- {\r
- delete button3_;\r
- button3_ = nullptr;\r
- }\r
- if (button2_ != nullptr)\r
- {\r
- delete button2_;\r
- button2_ = nullptr;\r
- }\r
- if (image1_ != nullptr)\r
- {\r
- delete image1_;\r
- image1_ = nullptr;\r
- }\r
- if (image2_ != nullptr)\r
- {\r
- delete image2_;\r
- image2_ = nullptr;\r
- }\r
- if (image3_ != nullptr)\r
- {\r
- delete image3_;\r
- image3_ = nullptr;\r
- }\r
- if (image4_ != nullptr)\r
- {\r
- delete image4_;\r
- image4_ = nullptr;\r
- }\r
- if (image5_ != nullptr)\r
- {\r
- delete image5_;\r
- image5_ = nullptr;\r
- }\r
- if (image6_ != nullptr)\r
- {\r
- delete image6_;\r
- image6_ = nullptr;\r
- }\r
- if (image7_ != nullptr)\r
- {\r
- delete image7_;\r
- image7_ = nullptr;\r
- }\r
- if (image8_ != nullptr)\r
- {\r
- delete image8_;\r
- image8_ = nullptr;\r
- }\r
- if (list1_ != nullptr)\r
- {\r
- delete list1_;\r
- list1_ = nullptr;\r
- }\r
- if (list1adapter_ != nullptr)\r
- {\r
- delete list1adapter_;\r
- list1adapter_ = nullptr;\r
- }\r
- if (list1data_ != nullptr)\r
- {\r
- list1data_->Clear();\r
- delete list1data_;\r
- list1data_ = nullptr;\r
- }\r
- if (scrollView1_ != nullptr)\r
- {\r
- scrollView1_->RemoveAll();\r
- delete scrollView1_;\r
- scrollView1_ = nullptr;\r
- }\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll();\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- }\r
-\r
- void TraingListLimitView::PreLoad(void)\r
- {\r
- if (!viewiInitStatus)\r
- {\r
- InitView();\r
- viewiInitStatus = true;\r
- }\r
- }\r
- void TraingListLimitView::OnStart()\r
- {\r
- container_ = new UIViewGroup();\r
- if (container_ == nullptr)\r
- {\r
- return;\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 *>(TraingListLimitPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
- {\r
- return;\r
- }\r
- container_->SetOnDragListener(draglistener);\r
-\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
-\r
- PreLoad();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void TraingListLimitView::OnSetUpView()\r
- {\r
-\r
- View<TraingListLimitPresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void TraingListLimitView::OnTearDownView()\r
- {\r
-\r
- View<TraingListLimitPresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void TraingListLimitView::OnStop()\r
- {\r
- View<TraingListLimitPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
- }\r
-}\r
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSPresenter.h"
+#include "traing/training_GPS/include/TraingGPSPresenter.h"
// #include "TraingGPSView.h"
namespace OHOS
-#include "traing/include/TraingGPSView.h"
+#include "traing/training_GPS/include/TraingGPSView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSbackPresenter.h"
+#include "traing/training_GPS/include/TraingGPSbackPresenter.h"
// #include "TraingGPSbackView.h"
namespace OHOS
-#include "traing/include/TraingGPSbackView.h"
+#include "traing/training_GPS/include/TraingGPSbackView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSlackPresenter.h"
+#include "traing/training_GPS/include/TraingGPSlackPresenter.h"
// #include "TraingGPSlackView.h"
namespace OHOS
-#include "traing/include/TraingGPSlackView.h"
+#include "traing/training_GPS/include/TraingGPSlackView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSlostPresenter.h"
+#include "traing/training_GPS/include/TraingGPSlostPresenter.h"
// #include "TraingGPSlostView.h"
namespace OHOS
-#include "traing/include/TraingGPSlostView.h"
+#include "traing/training_GPS/include/TraingGPSlostView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSnotePresenter.h"
+#include "traing/training_GPS/include/TraingGPSnotePresenter.h"
// #include "TraingGPSnoteView.h"
namespace OHOS
-#include "traing/include/TraingGPSnoteView.h"
+#include "traing/training_GPS/include/TraingGPSnoteView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
#include <iostream>
#include <chrono>
#include <thread>
-#include "traing/include/TraingGPSsetPresenter.h"
+#include "traing/training_GPS/include/TraingGPSsetPresenter.h"
// #include "TraingGPSsetView.h"
namespace OHOS
-#include "traing/include/TraingGPSsetView.h"
+#include "traing/training_GPS/include/TraingGPSsetView.h"
#include "common/image_cache_manager.h"
#include "UiConfig.h"
+/*** \r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2024-03-19 17:37:18\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-03-26 16:54:22\r
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardPresenter.h\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
+ */\r
\r
#ifndef _TraingCard_PRESENTER_H\r
#define _TraingCard_PRESENTER_H\r
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-22 14:43:30
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 16:40:54
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/Training_Card/include/Training_CardPresenter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
-#ifndef TRAING_CARD_PRESENTER_H
-#define TRAING_CARD_PRESENTER_H
+#ifndef Training_Card_PRESENTER_H
+#define Training_Card_PRESENTER_H
#include "components/ui_view.h"
namespace OHOS
{
-#ifndef _Traing_CARD_VIEW_H
-#define _Traing_CARD_VIEW_H
+#ifndef _Training_Card_VIEW_H
+#define _Training_Card_VIEW_H
#include "BaseView.h"
#include "View.h"
#define BUTTON3 "button3" // 按键3
#define BUTTONMORE "button4" // 按键 更多
- class Traing_CardView : public UICardPage
+ class Training_CardView : public UICardPage
{
public:
- Traing_CardView();
- virtual ~Traing_CardView();
- static Traing_CardView *GetInstance(void);
+ Training_CardView();
+ virtual ~Training_CardView();
+ static Training_CardView *GetInstance(void);
bool InitView();
void DeInit();
private:
UIView::OnDragListener *draglistener{nullptr};
- Traing_CardView(Traing_CardView &&) = delete;
- Traing_CardView &operator=(Traing_CardView &&) = delete;
+ Training_CardView(Training_CardView &&) = delete;
+ Training_CardView &operator=(Training_CardView &&) = delete;
UILabelButtonExt *Button1 = nullptr;
UILabelButtonExt *Button2 = nullptr;
#include <iostream>\r
#include <chrono>\r
#include <thread>\r
-#include "traing/include/TraingCardPresenter.h"\r
+#include "traing/training_card/include/TraingCardPresenter.h"\r
// #include "TraingCardView.h"\r
\r
namespace OHOS\r
\r
-#include "traing/include/TraingCardView.h"\r
+#include "traing/training_card/include/TraingCardView.h"\r
#include "common/image_cache_manager.h"\r
#include "UiConfig.h"\r
#include "ui_resource_image.h"\r
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-22 14:43:06
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 16:43:39
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardPresenter.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
-#include "traing/traing_card/Traing_CardPresenter.h"
-#include "traing/traing_card/Traing_CardView.h"
+#include "traing/training_card/include/Training_CardPresenter.h"
+#include "traing/training_card/include/Training_CardView.h"
#include "AppViewIDs.h"
#include "NativeAbility.h"
bool TraingOnClickListener::OnClick(UIView &view, const ClickEvent &event)
{
UNUSED(event);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::OnClick %s", view.GetViewId());
- Traing_CardView *cardpage = Traing_CardView::GetInstance();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::OnClick %s", view.GetViewId());
+ Training_CardView *cardpage = Training_CardView::GetInstance();
if (cardpage == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::GetInstance");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::GetInstance");
return false;
}
if (strcmp(view.GetViewId(), BUTTON1) == 0)
\r
-#include "traing/traing_card/Traing_CardView.h"\r
+#include "traing/training_card/include/Training_CardView.h"\r
\r
#include "common/image_cache_manager.h"\r
#include "UiConfig.h"\r
#include "components/ui_view_group.h"\r
#include "common/image_cache_manager.h"\r
#include "MainPresenterSample.h"\r
-#include "traing/traing_card/Traing_CardPresenter.h"\r
+#include "traing/training_card/include/Training_CardPresenter.h"\r
namespace OHOS\r
{\r
- static Traing_CardView *g_pTraing_CardView{nullptr};\r
+ static Training_CardView *g_pTraining_CardView{nullptr};\r
\r
- Traing_CardView::Traing_CardView()\r
+ Training_CardView::Training_CardView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::Traing_CardView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::Training_CardView");\r
SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
- g_pTraing_CardView = this;\r
+ g_pTraining_CardView = this;\r
}\r
\r
- Traing_CardView::~Traing_CardView()\r
+ Training_CardView::~Training_CardView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::~Traing_CardView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::~Training_CardView");\r
RemoveAll();\r
DeInit();\r
- g_pTraing_CardView = nullptr;\r
+ g_pTraining_CardView = nullptr;\r
}\r
\r
- Traing_CardView *Traing_CardView::GetInstance()\r
+ Training_CardView *Training_CardView::GetInstance()\r
{\r
- return g_pTraing_CardView;\r
+ return g_pTraining_CardView;\r
}\r
- bool Traing_CardView::InitLable()\r
+ bool Training_CardView::InitLable()\r
{\r
// 检查标签指针是否为空\r
if (titleLabel == nullptr)\r
}\r
/* -------------------------------------------------------------------------- */\r
// 加载图片函数(针对UILabelButtonExt)\r
- bool Traing_CardView::LoadImage(UILabelButtonExt *view, uint32_t resId)\r
+ bool Training_CardView::LoadImage(UILabelButtonExt *view, uint32_t resId)\r
{\r
std::string file = TRAINING_IAMGES;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingView LoadImage: %s, resID=0x%x", TRAINING_IAMGES, resId);\r
ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
if (image == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::LoadImage %x fail", resId);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::LoadImage %x fail", resId);\r
return false;\r
}\r
// Assuming SetImageSrc is the correct function for UILabelButtonExt\r
}\r
\r
// 加载图片函数(针对UIImageView)\r
- bool Traing_CardView::LoadImage(UIImageView *view, uint32_t resId)\r
+ bool Training_CardView::LoadImage(UIImageView *view, uint32_t resId)\r
{\r
std::string file = TRAINING_IAMGES;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingView LoadImage: %s, resID=0x%x", TRAINING_IAMGES, resId);\r
ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
if (image == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::LoadImage %x fail", resId);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::LoadImage %x fail", resId);\r
return false;\r
}\r
view->SetSrc(image); // Assuming SetSrc is the correct function for UIImageView\r
return true;\r
}\r
\r
- bool Traing_CardView::AddButton()\r
+ bool Training_CardView::AddButton()\r
{\r
struct ButtonInfo\r
{\r
return true;\r
}\r
\r
- bool Traing_CardView::InitImage()\r
+ bool Training_CardView::InitImage()\r
{\r
struct ImageInfo\r
{\r
return true;\r
}\r
/* -------------------------------------------------------------------------- */\r
- bool Traing_CardView::InitView()\r
+ bool Training_CardView::InitView()\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Traing_CardView::InitView()");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::InitView()");\r
if (!InitLable())\r
{\r
printf("InitLable error!\n");\r
return true;\r
}\r
\r
- void Traing_CardView::DeInit()\r
+ void Training_CardView::DeInit()\r
{\r
UIImageView *imageViews[] = {image1, image2, image3};\r
UIButton *buttons[] = {ButtonMore, Button1, Button3, Button2};\r
}\r
}\r
\r
- void Traing_CardView::PreLoad(void)\r
+ void Training_CardView::PreLoad(void)\r
{\r
if (!viewiInitStatus)\r
{\r
// }\r
}\r
\r
- void Traing_CardView::UnLoad(void)\r
+ void Training_CardView::UnLoad(void)\r
{\r
// if (resLoadStatus)\r
// {\r
--- /dev/null
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-26 17:04:41
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:17:03
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#ifndef TraingLimit_ADAPTER_H
+#define TraingLimit_ADAPTER_H
+#include <list>
+#include <string>
+#include "components/ui_list.h"
+#include "components/abstract_adapter.h"
+#include "components/ui_label.h"
+#include "components/ui_checkbox.h"
+#include "AppViewIDs.h"
+
+// 音乐列表的适配器
+namespace OHOS
+{
+
+ typedef struct
+ {
+ AppViewId id;
+ const char *label; // 标签
+ } TraingLimitItem;
+
+ class TraingLimitAdapter : public AbstractAdapter
+ {
+ public:
+ explicit TraingLimitAdapter();
+ virtual ~TraingLimitAdapter();
+
+ void SetData(std::list<TraingLimitItem> &data);
+
+ virtual uint16_t GetCount(void) override;
+
+ virtual UIView *GetView(UIView *inView, int16_t index) override;
+
+ virtual void AddItem(const TraingLimitItem &item);
+
+ void SetItemClickListener(UIView::OnClickListener *itemclicklistener)
+ {
+ itemClickListener = itemclicklistener;
+ }
+
+ private:
+ std::list<TraingLimitItem> listData;
+ UIView::OnClickListener *itemClickListener{nullptr};
+ };
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-26 17:05:18
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:24:58
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitItemView.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#ifndef TraingLimit_ITEM_VIEW_H
+#define TraingLimit_ITEM_VIEW_H
+
+#include "components/ui_label.h"
+#include "components/ui_view_group.h"
+#include "components/ui_checkbox.h"
+#include "components/ui_image_view.h"
+#include "traing/training_list_limit/include/TraingLimitAdapter.h"
+#include "components/ui_label_button.h"
+#include "AppViewIDs.h"
+#include "ohos_types.h"
+
+namespace OHOS
+{
+ class TraingLimitItemView : public UIViewGroup
+ {
+ public:
+ explicit TraingLimitItemView();
+ virtual ~TraingLimitItemView();
+ virtual void SetItemInfo(const TraingLimitItem itemInfo);
+ virtual void SetUpChild();
+ AppViewId GetTraingLimitIndex();
+
+ private:
+ TraingLimitItemView(const TraingLimitItemView &);
+ UIImageView sbackground; // 背景
+ UIImageView sicon; // 箭头
+ UILabel sLabel; // 标签
+ TraingLimitItem sItemInfo = {VIEW_INVALID, nullptr};
+ };
+
+}
+#endif
\ No newline at end of file
--- /dev/null
+
+#ifndef TraingLimit_MODEL_H
+#define TraingLimit_MODEL_H
+
+#include <cstdint>
+#include <map>
+#include "AppViewIDs.h"
+#include "UiConfig.h"
+#include "TraingLimitPresenter.h"
+#include "traing/training_list_limit/include/TraingLimitAdapter.h"
+
+namespace OHOS
+{
+ class TraingLimitModel
+ {
+ public:
+ static TraingLimitModel &GetInstance(void);
+ void InitTraingLimitListItem();
+ const TraingLimitItem *GetTraingLimitlistItems() const;
+ uint8_t GetTraingLimitListNum() const;
+ // const std::map<TraingLimitIndex, AppViewId> &GetTraingLimitIdToViewId() const;
+
+ private:
+ TraingLimitModel();
+ TraingLimitModel(const TraingLimitModel &);
+ TraingLimitModel &operator=(const TraingLimitModel &);
+ virtual ~TraingLimitModel();
+ static const uint16_t TraingLimitListMaxNum = 10;
+ TraingLimitItem TraingLimits[TraingLimitListMaxNum] = {VIEW_INVALID, nullptr};
+ // std::map<int, AppViewId> TraingLimitIdToViewId;
+ bool btConnectStatus{false};
+ };
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-19 17:37:18
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 20:02:43
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-19 17:37:18
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:26:49
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#ifndef _TraingLimit_PRESENTER_H
+#define _TraingLimit_PRESENTER_H
+
+#include "Presenter.h"
+#include "TraingLimitView.h"
+
+namespace OHOS
+{
+ class TraingLimitView;
+ class TraingLimitModel;
+ class TraingLimitPresenter : public Presenter<TraingLimitView>,
+ public UIView::OnClickListener,
+ public UIView::OnDragListener
+ {
+ public:
+ TraingLimitPresenter();
+ virtual ~TraingLimitPresenter();
+
+ void OnStart() override;
+ void OnPause() override;
+ void OnResume() override;
+ void OnStop() override;
+
+ static TraingLimitPresenter *GetInstance();
+
+ private:
+ // 因为继承了OnClickener,所以有OnClick属性,至于参数,原函数也这样直接继承;
+ bool OnClick(UIView &view, const ClickEvent &event) override;
+ bool OnDrag(UIView &view, const DragEvent &event) override;
+ bool OnDragEnd(UIView &view, const DragEvent &event) override;
+
+ TraingLimitModel *p_TraingLimitModel{nullptr};
+ };
+} // namespace OHOS
+
+#endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
--- /dev/null
+
+#ifndef TraingLimit_VIEW_H
+#define TraingLimit_VIEW_H
+
+#include "BaseView.h"
+#include "View.h"
+#include "components/ui_view_group.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_list.h"
+#include "traing/training_list_limit/include/TraingLimitAdapter.h"
+#include "traing/training_list_limit/include/TraingLimitModel.h"
+#include "components/ui_label_button_ext.h"
+#include "components/ui_label_ext.h"
+
+namespace OHOS
+{
+ class TraingLimitPresenter;
+ class TraingLimitModel;
+ class TraingLimitView : public View<TraingLimitPresenter>, public UIViewGroup
+ {
+
+ public:
+ TraingLimitView();
+ virtual ~TraingLimitView();
+ static TraingLimitView *GetInstance(void);
+
+ void OnStart() override;
+ void OnSetUpView() override;
+ void OnTearDownView() override;
+ void OnStop() override;
+
+ UIList *GetList();
+ void AddToTraingLimitList(const TraingLimitItem &item);
+
+ private:
+ void InitView(void);
+ void DeInitView(void);
+ void PreLoad(void);
+
+ private:
+ UIScrollView *scrollView = nullptr;
+ UILabelExt *title{nullptr};
+ TraingLimitAdapter *p_TraingLimitListAdapter{nullptr};
+ UIList *TraingLimitList = nullptr;
+ UIView::OnDragListener *draglistener{nullptr};
+
+ TraingLimitPresenter *g_TraingLimitPresenter{nullptr};
+ TraingLimitModel *g_TraingLimitModel{nullptr};
+ bool viewInitStatus{false};
+ };
+} // namespace OHOS
+#endif
\ No newline at end of file
--- /dev/null
+#include "traing/training_list_limit/include/TraingLimitAdapter.h"
+#include "traing/training_list_limit/include/TraingLimitModel.h"
+#include "traing/training_list_limit/include/TraingLimitItemView.h"
+
+#include "wearable_log.h"
+
+namespace OHOS
+{
+ TraingLimitAdapter::TraingLimitAdapter() {}
+
+ TraingLimitAdapter::~TraingLimitAdapter()
+ {
+ listData.clear();
+ }
+
+ uint16_t TraingLimitAdapter::GetCount(void)
+ {
+ return listData.size();
+ }
+
+ void TraingLimitAdapter::SetData(std::list<TraingLimitItem> &data)
+ {
+ if (!listData.empty())
+ {
+ listData.clear();
+ }
+ std::list<TraingLimitItem>::iterator it;
+ for (it = data.begin(); it != data.end(); it++)
+ {
+ listData.push_back(*it);
+ }
+ }
+
+ /// @brief 为列表的每一项创建一个视图
+ /// @param inView 一个指向已存在的视图对象的指
+ /// @param index 要创建的视图在列表中的索引l。
+ /// @return 返回该视图对象
+ UIView *TraingLimitAdapter::GetView(UIView *inView, int16_t index)
+ {
+
+ // 1.先检查列表数据是否为空,若为空则返回空指针
+ if (listData.empty())
+ {
+ return nullptr;
+ }
+ // 2.接着检查索引是否小于0,若小于0则返回空指针
+ if (index < 0)
+ {
+ return nullptr;
+ }
+ // 3.检查是否超出列表数据大小,若超出则返回空指针
+ size_t uindex = index;
+ if (uindex >= listData.size())
+ {
+ return nullptr;
+ }
+ // 4.通过迭代器访问列表中指定索引位置的元素,将其赋值给itemData变量
+ std::list<TraingLimitItem>::iterator it = listData.begin();
+ for (int i = 0; i < index; i++)
+ {
+ it++;
+ }
+ TraingLimitItem itemData = *it;
+ TraingLimitItemView *item = nullptr;
+ /*
+ 5.根据传入的inView参数是否已经存在一个视图对象,
+ 若为空则创建一个新的MessageItemView对象,
+ 否则将inView转换成MessageItemView类型的指针
+ */
+ if (inView == nullptr)
+ {
+ item = new TraingLimitItemView();
+ }
+ else
+ {
+ item = static_cast<TraingLimitItemView *>(inView);
+ }
+ item->SetItemInfo(itemData);
+ item->SetOnClickListener(itemClickListener);
+ return item;
+ }
+
+ void TraingLimitAdapter::AddItem(const TraingLimitItem &item)
+ {
+ listData.push_back(item);
+ }
+} // namespace OHOS
--- /dev/null
+
+#include "traing/training_list_limit/include/TraingLimitItemView.h"
+#include "traing/include/TraingModel.h"
+#include "traing/Training_UiConfig.h"
+#include "UiConfig.h"
+namespace OHOS
+{
+
+ TraingLimitItemView::TraingLimitItemView()
+ {
+ SetPosition(0, 0, 380, 120); // 每一个itemview宽高要配置好,因为加到list都是以这个视图为基准
+ SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ SetStyle(STYLE_BACKGROUND_OPA, 255);
+ SetTouchable(true);
+ SetUpChild();
+ Add(&sbackground);
+ Add(&sicon);
+ Add(&sLabel);
+ }
+
+ TraingLimitItemView::~TraingLimitItemView()
+ {
+ Remove(&sbackground);
+ Remove(&sicon);
+ Remove(&sLabel);
+ }
+
+ /// @brief 设置item的信息
+ /// @param itemInfo
+ void TraingLimitItemView::SetItemInfo(const TraingLimitItem itemInfo)
+ {
+ sItemInfo = itemInfo;
+ sLabel.SetText(itemInfo.label);
+ }
+
+ /// @brief 设置每一个itemview上的组件
+ void TraingLimitItemView::SetUpChild()
+ {
+ sbackground.SetSrc(PNG_SETTING_BACKGROUND_IMAGE);
+
+ sicon.SetPosition(330, 40);
+ sicon.SetSrc(ICON_IMAGE);
+ sicon.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+
+ sLabel.SetPosition(50, 10, 300, 80);
+ sLabel.SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
+ sLabel.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ sLabel.SetRollSpeed(0);
+ sLabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ }
+
+ /// @brief 获取list的中每个组件的在list的下标
+ /// @return 返回下标
+ AppViewId TraingLimitItemView::GetTraingLimitIndex()
+ {
+ return sItemInfo.id;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-26 18:34:15
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:36:25
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitModel.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#include "traing/training_list_limit/include/TraingLimitModel.h"
+#include "common/image_cache_manager.h"
+#include "UiConfig.h"
+#include "ui_resource_image.h"
+#include "AppViewIDs.h"
+namespace OHOS
+{
+
+ TraingLimitModel::TraingLimitModel() {}
+
+ TraingLimitModel::~TraingLimitModel() {}
+
+ TraingLimitModel &TraingLimitModel::GetInstance()
+ {
+ static TraingLimitModel instance;
+ return instance;
+ }
+
+ static char *text[] = {"一般极限运动", "滑板", "攀岩", "高空弹跳/蹦极", "跑酷", "BMX", "定向越野", "跳伞", "赛车", "铁人三项运动"};
+
+ void TraingLimitModel::InitTraingLimitListItem()
+ {
+ TraingLimits[0] = {VIEW_TRAININGNOMAL, "一般极限运动"};
+ TraingLimits[1] = {VIEW_TRAININGNOMAL, "滑板"};
+ TraingLimits[2] = {VIEW_TRAININGNOMAL, "攀岩"};
+ TraingLimits[3] = {VIEW_TRAININGNOMAL, "高空弹跳/蹦极"};
+ TraingLimits[4] = {VIEW_TRAININGNOMAL, "跑酷"};
+ TraingLimits[5] = {VIEW_TRAININGNOMAL, "BMX"};
+ TraingLimits[6] = {VIEW_TRAININGNOMAL, "定向越野"};
+ TraingLimits[7] = {VIEW_TRAININGNOMAL, "跳伞"};
+ TraingLimits[8] = {VIEW_TRAININGNOMAL, "赛车"};
+ TraingLimits[9] = {VIEW_TRAININGNOMAL, "铁人三项运动"};
+ }
+
+ const TraingLimitItem *TraingLimitModel::GetTraingLimitlistItems() const
+ {
+ return TraingLimits;
+ }
+ uint8_t TraingLimitModel::GetTraingLimitListNum() const
+ {
+ return TraingLimitListMaxNum;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2024-03-19 17:37:19\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-03-26 19:51:06\r
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
+ */\r
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2024-03-19 17:37:19\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-03-26 14:23:32\r
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingLimitPresenter.cpp\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
+ */\r
+\r
+#include "AppViewIDs.h"\r
+#include "NativeAbility.h"\r
+\r
+#include <iostream>\r
+#include <chrono>\r
+#include <thread>\r
+#include "traing/training_list_limit/include/TraingLimitItemView.h"\r
+#include "traing/training_list_limit/include/TraingLimitPresenter.h"\r
+#include "traing/training_list_limit/include/TraingLimitView.h"\r
+// #include "TraingLimitView.h"\r
+\r
+namespace OHOS\r
+{\r
+ extern const char *Limit_buttons[];\r
+ extern char *Limit_text[];\r
+\r
+ // 当前Presenter属性实例化的内存指针\r
+ static TraingLimitPresenter *g_pTraingLimitPresenter = nullptr;\r
+\r
+ TraingLimitPresenter::TraingLimitPresenter()\r
+ {\r
+ p_TraingLimitModel = &TraingLimitModel::GetInstance();\r
+ g_pTraingLimitPresenter = this;\r
+ }\r
+\r
+ TraingLimitPresenter::~TraingLimitPresenter()\r
+ {\r
+\r
+ g_pTraingLimitPresenter = nullptr;\r
+ }\r
+\r
+ TraingLimitPresenter *TraingLimitPresenter::GetInstance()\r
+ {\r
+\r
+ return g_pTraingLimitPresenter;\r
+ }\r
+\r
+ void TraingLimitPresenter::OnStart()\r
+ {\r
+ p_TraingLimitModel->InitTraingLimitListItem();\r
+ Presenter<TraingLimitView>::OnStart();\r
+ }\r
+\r
+ void TraingLimitPresenter::OnPause(void)\r
+ {\r
+ Presenter<TraingLimitView>::OnPause();\r
+ }\r
+\r
+ void TraingLimitPresenter::OnResume(void)\r
+ {\r
+ if (view_ == nullptr)\r
+ {\r
+ return;\r
+ }\r
+ const TraingLimitItem *itemInfo = p_TraingLimitModel->GetTraingLimitlistItems();\r
+ for (int i = 0; i < p_TraingLimitModel->GetTraingLimitListNum(); i++)\r
+ {\r
+ view_->AddToTraingLimitList(itemInfo[i]);\r
+ }\r
+ Presenter<TraingLimitView>::OnResume();\r
+ }\r
+\r
+ void TraingLimitPresenter::OnStop(void)\r
+ {\r
+\r
+ Presenter<TraingLimitView>::OnStop();\r
+ }\r
+ bool TraingLimitPresenter::OnDrag(UIView &view, const DragEvent &event)\r
+ {\r
+ return true;\r
+ }\r
+ bool TraingLimitPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
+ {\r
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);\r
+ }\r
+ UNUSED(view);\r
+ return true;\r
+ }\r
+\r
+ bool TraingLimitPresenter::OnClick(UIView &view, const ClickEvent &event)\r
+ {\r
+ UNUSED(event);\r
+ TraingLimitItemView *itemView = static_cast<TraingLimitItemView *>(&view);\r
+ AppViewId viewId = itemView->GetTraingLimitIndex();\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d\n", viewId);\r
+ if (viewId < VIEW_MAX_INTER_APP)\r
+ {\r
+ NativeAbility::GetInstance().ChangeSlice(viewId);\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+\r
+}\r
--- /dev/null
+#include "traing/training_list_limit/include/TraingLimitView.h"\r
+#include "traing/training_list_limit/include/TraingLimitPresenter.h"\r
+#include "traing/include/TraingModel.h"\r
+#include "traing/Training_UiConfig.h"\r
+\r
+#include "UiConfig.h"\r
+#include "wearable_log.h"\r
+\r
+namespace OHOS\r
+{\r
+ static constexpr uint8_t NUM_2 = 2;\r
+ static TraingLimitView *g_pTraingLimitView{nullptr};\r
+ /* --------------------------------- List --------------------------------- */\r
+ static constexpr int16_t Limit_LIST_POSITION_X = 43;\r
+ static constexpr int16_t Limit_LIST_POSITION_Y = 120;\r
+ static constexpr int16_t Limit_SCROLLBLANKSIZE = 35; // 设置此滚动视图的空白大小。\r
+ static constexpr int16 MAX_SCR_DIS = 1000;\r
+ static constexpr int16 LIST_POS = 20;\r
+ static constexpr int16 SNUM_2 = 2;\r
+\r
+ TraingLimitView::TraingLimitView()\r
+ {\r
+ g_pTraingLimitView = this;\r
+ }\r
+\r
+ TraingLimitView::~TraingLimitView()\r
+ {\r
+ if (viewInitStatus == true)\r
+ {\r
+ DeInitView();\r
+ }\r
+ g_pTraingLimitView = nullptr;\r
+ }\r
+\r
+ TraingLimitView *TraingLimitView::GetInstance()\r
+ {\r
+ return g_pTraingLimitView;\r
+ }\r
+ /// @param item\r
+ void TraingLimitView::AddToTraingLimitList(const TraingLimitItem &item)\r
+ {\r
+ p_TraingLimitListAdapter->AddItem(item);\r
+ }\r
+ void TraingLimitView::InitView()\r
+ {\r
+ if (scrollView == nullptr)\r
+ {\r
+ scrollView = new UIScrollView();\r
+ }\r
+ scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ scrollView->SetScrollBlankSize(52);\r
+ // scrollView->SetReboundSize(100);\r
+ scrollView->SetTouchable(true);\r
+ scrollView->SetDraggable(true);\r
+ scrollView->SetDirection(1);\r
+ draglistener = static_cast<UIView::OnDragListener *>(TraingLimitPresenter::GetInstance());\r
+ scrollView->SetOnDragListener(draglistener);\r
+ scrollView->SetYScrollBarVisible(true); // 设置滑动滚动条\r
+ /* -------------------------------------------------------------------------- */\r
+ // 初始化Lable\r
+ TraingModel::GetInstance()->InitLabelExt(title, 173, 52, 200, 60, "label1", "极限训练", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ scrollView->Add(title);\r
+ // UIList 的适配器\r
+ p_TraingLimitListAdapter = new TraingLimitAdapter();\r
+ p_TraingLimitListAdapter->SetItemClickListener(presenter_);\r
+ if (TraingLimitList == nullptr)\r
+ {\r
+ TraingLimitList = new UIList();\r
+ }\r
+ TraingLimitList->SetPosition(Limit_LIST_POSITION_X, Limit_LIST_POSITION_Y);\r
+ TraingLimitList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+ TraingLimitList->SetScrollBlankSize(Limit_SCROLLBLANKSIZE);\r
+ TraingLimitList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position\r
+ TraingLimitList->SetDraggable(true);\r
+ TraingLimitList->SetThrowDrag(false);\r
+ TraingLimitList->EnableAutoAlign(true);\r
+ TraingLimitList->SetElastic(true); // 设置回弹效果\r
+ TraingLimitList->SetMaxScrollDistance(MAX_SCR_DIS);\r
+\r
+ // 增加表冠控制\r
+ TraingLimitList->SetRotateFactor(2);\r
+ TraingLimitList->RequestFocus();\r
+ }\r
+ UIList *TraingLimitView::GetList()\r
+ {\r
+ return TraingLimitList;\r
+ }\r
+ void TraingLimitView::DeInitView()\r
+ {\r
+ // scrollView-> RemoveAll();\r
+ RemoveAll();\r
+ delete title;\r
+ title = nullptr;\r
+\r
+ delete TraingLimitList;\r
+ TraingLimitList = nullptr;\r
+\r
+ delete scrollView;\r
+ scrollView = nullptr;\r
+\r
+ delete draglistener;\r
+ draglistener = nullptr;\r
+ }\r
+\r
+ void TraingLimitView::PreLoad(void)\r
+ {\r
+ if (!viewInitStatus)\r
+ {\r
+ InitView();\r
+ viewInitStatus = true;\r
+ }\r
+ }\r
+\r
+ /// @brief 页面启动时需要执行的代码逻辑\r
+ void TraingLimitView::OnStart()\r
+ {\r
+ View<TraingLimitPresenter>::OnStart();\r
+ BaseView::RootView(Color::Black().full);\r
+ PreLoad();\r
+ }\r
+\r
+ /// @brief 创建页面的视图。\r
+ void TraingLimitView::OnSetUpView()\r
+ {\r
+ View<TraingLimitPresenter>::OnSetUpView();\r
+ // scrollView->Add(title);\r
+ scrollView->Add(TraingLimitList);\r
+ scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
+ RootView::GetInstance()->Add(scrollView);\r
+ TraingLimitList->SetAdapter(p_TraingLimitListAdapter);\r
+ // TraingLimitList->RefreshList(); // 刷新列表\r
+ Draw();\r
+ }\r
+\r
+ /// @brief 销毁页面的视图。\r
+ void TraingLimitView::OnTearDownView()\r
+ {\r
+ View<TraingLimitPresenter>::OnTearDownView();\r
+ return;\r
+ }\r
+\r
+ /// @brief 页面结束时需要执行的销毁逻辑。\r
+ void TraingLimitView::OnStop()\r
+ {\r
+ View<TraingLimitPresenter>::OnStop();\r
+ RootView::GetInstance()->RemoveAll();\r
+ RootView::GetInstance()->ClearFocus();\r
+ return;\r
+ }\r
+}
\ No newline at end of file
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-19 17:37:18
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:26:47
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMorePresenter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#ifndef _TraingMore_PRESENTER_H
#define _TraingMore_PRESENTER_H
#include <iostream>\r
#include <chrono>\r
#include <thread>\r
-#include "traing/include/TraingMorePresenter.h"\r
+#include "traing/training_list_more/include/TraingMorePresenter.h"\r
#include "MainViewSample.h"\r
#include "ScreenModels.h"\r
// #include "TraingMoreView.h"\r
\r
-#include "traing/include/TraingMoreView.h"\r
+#include "traing/training_list_more/include/TraingMoreView.h"\r
#include "traing/include/TraingModel.h"\r
#include "traing/Training_UiConfig.h"\r
\r