/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: * * Author: huangshuyi * * Create: 2024-7 *--------------------------------------------------------------------------*/ #include "TjdUiMessageConfirmDelPage.h" #include "components/ui_label.h" #include "wearable_log.h" #include "common/image_cache_manager.h" #include #include #include "gfx_utils/image_info.h" #include "gfx_utils/heap_base.h" #include "TjdUiImageIds.h" #include "ui_label.h" #include "TjdUiMultiLanguageExt.h" #include "sys_config.h" #include "components/ui_view.h" #include "TjdUiMessageTotalPage.h" #include "TjdUiMessageNoMessagePage.h" #include "TjdUiMemManage.h" using namespace OHOS; namespace TJD { #define ENABLE_PRINT_INFO 1 #if ENABLE_PRINT_INFO #define static_print_info(...) sys_ui_log_i(__VA_ARGS__) //一般信息打印宏控制 #define static_print_warn(...) sys_ui_log_w(__VA_ARGS__) //警告信息打印一般常开 #define static_print_error(...) sys_ui_log_e(__VA_ARGS__) //错误信息打印一般常开 #define static_print_debug(...) sys_ui_log_d(__VA_ARGS__) #else #define static_print_info(...) #define static_print_warn(...) #define static_print_error(...) #define static_print_debug(...) #endif #define IMAGE_BIN_PATH TJD_IMAGE_PATH"img_confirm_cancel.bin" static TjdUiMessageConfirmDelPage *g_pMessageConfirmDelPage = nullptr; TjdUiMessageConfirmDelPage::TjdUiMessageConfirmDelPage() { //SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); g_pMessageConfirmDelPage = this; } TjdUiMessageConfirmDelPage::~TjdUiMessageConfirmDelPage() { static_print_debug("delete TjdUiMessageConfirmDelPage......"); if (clickListener) { delete clickListener; clickListener = nullptr; } container_->Remove(pageGroup); TjdUiMemManage::DeleteChildren(pageGroup); g_pMessageConfirmDelPage = nullptr; } TjdUiMessageConfirmDelPage *TjdUiMessageConfirmDelPage::GetInstance(void) { return g_pMessageConfirmDelPage; } class TjdUiMessageClickListener : public UIView:: OnClickListener { public: TjdUiMessageClickListener(const TjdUiMessageClickListener &) = delete; TjdUiMessageClickListener &operator=(const TjdUiMessageClickListener &) = delete; TjdUiMessageClickListener() {} ~TjdUiMessageClickListener() override { } bool OnClick(UIView& view, const ClickEvent& event) override { if (strcmp(view.GetViewId(), "confirmImage") == 0) { TjdUiMessageConfirmDelPage::GetInstance()->hide(); TjdUiMessageConfirmDelPage::GetInstance()->GetParentPage()->DeleteMessage(0); } else if (strcmp(view.GetViewId(), "cancelImage") == 0) { TjdUiMessageConfirmDelPage::GetInstance()->GetParentPage()->show(); TjdUiMessageConfirmDelPage::GetInstance()->hide(); } return true; } }; void TjdUiMessageConfirmDelPage::show(void) { static_print_debug("TjdUiMessageConfirmDelPage::show"); if (pageGroup) { pageGroup->SetVisible(true); } } void TjdUiMessageConfirmDelPage::hide(void) { static_print_debug("TjdUiMessageConfirmDelPage::hide"); if (pageGroup) { pageGroup->SetVisible(false); } } void TjdUiMessageConfirmDelPage::SetParentPage(TjdUiMessagePageCommon* parent) { parentPage = parent; } TjdUiMessagePageCommon* TjdUiMessageConfirmDelPage::GetParentPage(void) { return parentPage; } void TjdUiMessageConfirmDelPage::PageInit(UIViewGroup *cont) { static_print_debug("TjdUiMessageConfirmDelPage::PageInit"); if (pageGroup) { //return pageGroup; return; } container_ = cont; pageGroup = new TjdUiMessageScroll(); //pageGroup = new UIViewGroup(); pageGroup->SetPosition(0, 0); pageGroup->SetWidth(Screen::GetInstance().GetWidth()); pageGroup->SetHeight(Screen::GetInstance().GetHeight()); clickListener = new TjdUiMessageClickListener(); ImageInfo* imgInfo; imgInfo = ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_CONFIRM_CANCEL_CONFIRM, IMAGE_BIN_PATH); UIImageView *confirmImage = new UIImageView(); pageGroup->Add(confirmImage); confirmImage->SetOnClickListener(clickListener); confirmImage->SetViewId("confirmImage"); confirmImage->SetTouchable(true); confirmImage->SetSrc(imgInfo); confirmImage->SetPosition(271, 326); imgInfo = ImageCacheManager::GetInstance().LoadOneInMultiRes(IMG_CONFIRM_CANCEL_CANCEL, IMAGE_BIN_PATH); UIImageView *cancelImage = new UIImageView(); pageGroup->Add(cancelImage); cancelImage->SetOnClickListener(clickListener); cancelImage->SetViewId("cancelImage"); cancelImage->SetTouchable(true); cancelImage->SetSrc(imgInfo); cancelImage->SetPosition(103, 326); cont->Add(pageGroup); UILabel *labelTips = new UILabel(); pageGroup->Add(labelTips); labelTips->SetText("确认删除");//需要换成多语言 labelTips->SetFont(TJD_VECTOR_FONT_FILENAME, TJD_FONT_SIZE_38); labelTips->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); labelTips->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); labelTips->LayoutCenterOfParent(0, 0); uint16_t slice = NativeAbility::GetInstance().GetCurSliceId(); if (TJD_APP_VIEW_MAIN == slice) { pageGroup->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT); //pageGroup->SetDraggable(false); //pageGroup->SetTouchable(false); } //return pageGroup; } }