/*---------------------------------------------------------------------------- * Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved. * * Description: * * Author: huangshuyi * * Create: 2024-7 *--------------------------------------------------------------------------*/ #include "TjdUiMessageConfirmDelPage.h" #include "TjdUiImageIds.h" #include "TjdUiMemManage.h" #include "TjdUiMessageNoMessagePage.h" #include "TjdUiMessageTotalPage.h" #include "TjdUiMultiLanguageExt.h" #include "TjdUiUtils.h" #include "common/image_cache_manager.h" #include "components/ui_label.h" #include "components/ui_label_ext.h" #include "components/ui_view.h" #include "gfx_utils/heap_base.h" #include "gfx_utils/image_info.h" #include "sys_config.h" #include "wearable_log.h" #include #include 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); UILabelExt *labelTips = new UILabelExt(); pageGroup->Add(labelTips); // labelTips->SetText("确认删除");//需要换成多语言 labelTips->SetTextId(STR_ID_287); 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); TjdUiUtils::AutoAlignHorizontalCenter(*labelTips, 466); 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; } } // namespace TJD