/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: * * Author: huangshuyi * * Create: 2024-4 *--------------------------------------------------------------------------*/ #ifndef TJD_UI_MAIN_SHORTCUT_H #define TJD_UI_MAIN_SHORTCUT_H #include "View.h" #include "components/ui_label.h" #include "components/root_view.h" #include "components/ui_view_group.h" #include "components/ui_image_view.h" #include "components/ui_scroll_view.h" #include "graphic_timer.h" #include "components/ui_card_page.h" #include namespace TJD { enum ShortcutView { SHORTCUT_NORMAL = 0, //当前处于下拉快捷栏界面 SHORTCUT_EDIT, //当前处于快捷栏编辑界面 SHORTCUT_MAX, }; class TjdUiAppMainPageShortcut : public OHOS::UICardPage { public: static constexpr uint8_t SHORTCUT_EDIT_INDEX = 0; static constexpr uint8_t SHORTCUT_BRIGHT_SCREEN_INDEX = 1; static constexpr uint8_t SHORTCUT_BUSINESS_CARD_INDEX = 2; static constexpr uint8_t SHORTCUT_LOCK_SCREEN_INDEX = 3; static constexpr uint8_t SHORTCUT_ALIPAY_INDEX = 4; static constexpr uint8_t SHORTCUT_NOT_DISTURB_INDEX = 5; static constexpr uint8_t SHORTCUT_POWER_SAVE_INDEX = 6; static constexpr uint8_t SHORTCUT_CARD_PACKET_INDEX = 7; static constexpr uint8_t SHORTCUT_FIND_PHONE_INDEX = 8; static constexpr uint8_t SHORTCUT_SCREEN_SET_INDEX = 9; static constexpr uint8_t SHORTCUT_WATER_INDEX = 10; static constexpr uint8_t SHORTCUT_MENU_STYLE_INDEX = 11; static constexpr uint8_t SHORTCUT_CLOCK_INDEX = 12; static constexpr uint8_t SHORTCUT_SYSTEM_SET_INDEX = 13; static constexpr uint8_t SHORTCUT_BLUETOOTH_INDEX = 14; static constexpr uint8_t SHORTCUT_BRIGHTNESS_SET_INDEX = 15; static constexpr uint8_t SHORTCUT_FLASHLIGHT_INDEX = 16; static constexpr uint8_t SHORTCUT_CONFIRM_INDEX = 17; struct ShortcutItem{ //const TjdUiTextId Textid; // const char* textId; const uint16_t textId; const uint8_t index; const int iconOpenId; const int iconCloseId; }; TjdUiAppMainPageShortcut(); virtual ~TjdUiAppMainPageShortcut(); static TjdUiAppMainPageShortcut *GetInstance(void); static std::list& GetShortcutList(void); static ShortcutItem* GetShortcutItems(void); static uint8_t GetShortcutItemsCnt(void); static std::list & GetShortcutAddList() { return shortcutAddList_; } bool InitView(void); void UpdateView(void); void PreLoad(void) override; void UnLoad(void) override; void ScrollBegin(bool isActive) override; void ScrollEnd(bool isActive) override; bool OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event); void DisplayScreenTips(uint8_t status, uint8_t min); void ResetKeepScreenIcon(void); void DeleteContainer(void); void SetEditShortcutViewVisible(bool isVisible); void ReturnToTop(void); OHOS::UIScrollView *GetScrollView(void) { return scrollCont; } static const uint8_t minShortcutNum = 6; OHOS::UIViewGroup *screenTipViewGroup_{nullptr}; OHOS::GraphicTimer* timerToReturn_{nullptr}; static ShortcutView currentViewIndex_; void ClearFocus() override; private: void CreateShortcutItemView(UIViewGroup *viewGroup, uint8_t index, int16_t itemX, int16_t itemY, UIView::OnClickListener *clickListener); bool viewiInitStatus{false}; UIViewGroup *container=nullptr; static std::listshortcutList; static std::listshortcutAddList_; static ShortcutItem shortcutItems[]; uint8_t FindArrayIndex(uint8_t index); OHOS::UIImageView *img_bat_level{nullptr}; OHOS::UILabel *label_bat_dig{nullptr}; OHOS::UIImageView *img_ble_status{nullptr}; OHOS::UILabel *label_week{nullptr}; OHOS::UILabel *label_date{nullptr}; OHOS::UIImageView *imgBt_{nullptr}; OHOS::UIImageView *imgBedClock_{nullptr}; OHOS::UIImageView *imgBrightScreen_{nullptr}; OHOS::UIImageView *imgNotDisturb_{nullptr}; OHOS::UIImageView *imgScreenSet_{nullptr}; OHOS::UIScrollView *scrollCont{nullptr}; OHOS::UIViewGroup *viewGroup{nullptr}; OHOS::UIViewGroup *viewGroup1{nullptr}; OHOS::UIViewGroup *viewGroup2{nullptr}; }; } // namespace OHOS #endif // MAIN_CLOCK_VIEW_H