165 lines
5.6 KiB
C++
165 lines
5.6 KiB
C++
/*----------------------------------------------------------------------------
|
|
* 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 <time.h>
|
|
#include <unordered_map>
|
|
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
|