201 lines
7.1 KiB
C++
201 lines
7.1 KiB
C++
#ifndef TJDUI_APP_BUSINESSCARD_VIEW_H
|
|
#define TJDUI_APP_BUSINESSCARD_VIEW_H
|
|
|
|
#include "TjdUiAppBusinesscardAdapter.h"
|
|
#include "TjdUiAppBusinesscardPresenter.h"
|
|
#include "View.h"
|
|
#include "components/ui_button.h"
|
|
#include "components/ui_image_view.h"
|
|
#include "components/ui_label.h"
|
|
#include "components/ui_list.h"
|
|
#include "components/ui_qrcode.h"
|
|
#include "components/ui_scroll_view.h"
|
|
#include "components/ui_view_group.h"
|
|
#include "sql_bt.h"
|
|
#include "sys_typedef.h"
|
|
#include "ui_label_ext.h"
|
|
#include <iostream>
|
|
#include "components/tjd_ui_transform_list_group.h"
|
|
#include "components/ui_scroll_view_nested.h"
|
|
extern bool sql_bt_get_qrcode_show_flag(void);
|
|
extern bool sql_bt_get_qrcode_exist(qrcode_type_t type);
|
|
extern int8_t sql_bt_get_qrcode_info(qrcode_type_t type, char *info, uint16_t *len);
|
|
|
|
namespace TJD {
|
|
|
|
enum BusinessCardIndex
|
|
{
|
|
BUSINESSCARD_TIPVIEW,
|
|
BUSINESSCARD_LISTVIEW,
|
|
BUSINESSCARD_CARDVIEW,
|
|
BUSINESSCARD_MAXTHVIEW
|
|
};
|
|
|
|
class BusinesscardUIScrollView : public OHOS::UIScrollViewNested
|
|
{
|
|
public:
|
|
BusinesscardUIScrollView() {}
|
|
~BusinesscardUIScrollView() {}
|
|
bool OnDragStartEvent(const OHOS::DragEvent &event) override;
|
|
bool OnDragEvent(const OHOS::DragEvent &event) override;
|
|
bool OnDragEndEvent(const OHOS::DragEvent &event) override;
|
|
|
|
private:
|
|
bool isOnStart_{false};
|
|
};
|
|
|
|
// typedef bool (TjdUiAppBusinessCardView::*BusinessCardChangeView)(BusinessCardView hideView);
|
|
|
|
// class TjdUiAppBusinesscardPresenter;
|
|
// class TjdUiAppBusinessCardView : public OHOS::View<TjdUiAppBusinesscardPresenter>, public OHOS::UIViewGroup
|
|
// {
|
|
// public:
|
|
// TjdUiAppBusinessCardView();
|
|
// ~TjdUiAppBusinessCardView();
|
|
// static TjdUiAppBusinessCardView *GetInstance(void);
|
|
// void InitBusinesscardList();
|
|
// void OnStart() override;
|
|
// void OnStop() override;
|
|
// void ChooseBusinesscardItem(BusinessCardItemIndex index);
|
|
// void InitBusinesscardItemView(BusinessCardItemIndex index);
|
|
|
|
// void ChangedView(BusinessCardView view, BusinessCardView hideView);
|
|
// OHOS::UILabel &GetLblTipCardView() { return *lblTip_cardView; }
|
|
// OHOS::UILabel &GetLblTitleCardView() { return *lblTitle_cardView; }
|
|
// OHOS::UIImageView &GetImgReturnCardView() { return *imgReturn_cardView; }
|
|
// OHOS::UIQrcode &GetQrcodeCardView() { return *qrcode_; }
|
|
// OHOS::UIViewGroup &GetBusinesscardCardView() { return *cardView_; }
|
|
// OHOS::List<BusinessCardCaseInfo> &GetBusinesscardItemList() { return *businessCardItemList_; }
|
|
// OHOS::UIView::OnClickListener &GetCardViewClickListener() { return *onClickListener_; }
|
|
|
|
// private:
|
|
// // void InitSettingItemView(BusinessCardItemIndex index);
|
|
// OHOS::UIViewGroup *containerAll_{nullptr};
|
|
// OHOS::UIViewGroup *groupList_[BusinessCardView::MAXTH_VIEW]{nullptr};
|
|
// // UIView::OnClickListener *onClickListener_{nullptr};
|
|
// // UIView::OnDragListener *OnDragListener_{nullptr};
|
|
// OHOS::UIScrollView *listView_{nullptr};
|
|
// OHOS::UIViewGroup *tipView_{nullptr};
|
|
// OHOS::UIViewGroup *cardView_{nullptr};
|
|
|
|
// // OHOS::UILabel *lblTitle_listView{nullptr};
|
|
// OHOS::UILabel *lblTitle_cardView{nullptr};
|
|
// OHOS::UILabel *lblTip_{nullptr};
|
|
// OHOS::UILabel *lblTip_cardView{nullptr};
|
|
// OHOS::UIImageView *imgReturn_{nullptr};
|
|
// OHOS::UIImageView *imgReturn_cardView{nullptr};
|
|
// OHOS::ImageInfo* imgInfo{nullptr};
|
|
// OHOS::UIQrcode *qrcode_{nullptr};
|
|
// TjdUiAppBusinessCardAdapter *businessCardListAdapter_{nullptr};
|
|
// OHOS::UIList *businessCardList_{nullptr};
|
|
// // SettingItemViewBase *itemView_[BUSINESSCARD_MAX_INDEX]{nullptr};
|
|
// BusinessCardItemIndex currentBusinessCardIItem_{BUSINESSCARD_MAX_INDEX};
|
|
// OHOS::List<BusinessCardCaseInfo> *businessCardItemList_{nullptr};
|
|
// OHOS::ImageInfo *imgItemInfo[BUSINESSCARD_MAX_INDEX];
|
|
|
|
// OHOS::UIViewGroup *InitTipView();
|
|
// OHOS::UIScrollView *InitListView();
|
|
// OHOS::UIViewGroup *InitCardView();
|
|
|
|
// bool ShowTipView(BusinessCardView hideView);
|
|
// bool ShowListView(BusinessCardView hideView);
|
|
// bool ShowCardView(BusinessCardView hideView);
|
|
|
|
// // OHOS::List<BusinessCardCaseInfo> *settingItemList_{nullptr};
|
|
|
|
// BusinessCardChangeView viewMapper_[MAXTH_VIEW] = {
|
|
// &TjdUiAppBusinessCardView::ShowTipView,
|
|
// &TjdUiAppBusinessCardView::ShowListView,
|
|
// &TjdUiAppBusinessCardView::ShowCardView,
|
|
// };
|
|
// };
|
|
|
|
class TjdUiAppBusinessCardViewBase : public OHOS::UIScrollView
|
|
{
|
|
public:
|
|
TjdUiAppBusinessCardViewBase() { SetHorizontalScrollState(false); }
|
|
virtual ~TjdUiAppBusinessCardViewBase() {}
|
|
virtual void ShowView() { SetVisible(true); };
|
|
virtual void HideView() { SetVisible(false); };
|
|
};
|
|
|
|
class BusinessCardTipView : public TjdUiAppBusinessCardViewBase
|
|
{
|
|
public:
|
|
BusinessCardTipView();
|
|
~BusinessCardTipView();
|
|
static BusinessCardTipView *GetInstance(void);
|
|
void ShowView() override;
|
|
void HideView() override;
|
|
OHOS::UIImageView &GetReturnBtn() { return return_; }
|
|
|
|
private:
|
|
OHOS::UILabelExt title_;
|
|
OHOS::UILabelExt tip_;
|
|
// OHOS::UIButton return_;
|
|
OHOS::UIImageView return_;
|
|
};
|
|
|
|
class BusinessCardListView : public TjdUiAppBusinessCardViewBase
|
|
{
|
|
public:
|
|
BusinessCardListView();
|
|
~BusinessCardListView();
|
|
static BusinessCardListView *GetInstance(void);
|
|
void ShowView() override;
|
|
void HideView() override;
|
|
void ChooseBusinesscardItem(BusinessCardItemIndex index);
|
|
void InitBusinesscardItemView(BusinessCardItemIndex index);
|
|
|
|
private:
|
|
OHOS::UILabelExt listTitle_;
|
|
TjdUITransformListGroup *businessCardListView{nullptr};
|
|
TjdUITransformListGroupAdapter<BusinessCardCaseInfo, BusinessCardCaseItemView, std::list<BusinessCardCaseInfo>>
|
|
*businessCardAdapterPtr_{nullptr};
|
|
// TjdUiAppBusinessCardAdapter *businessCardListAdapter_{nullptr};
|
|
// OHOS::UIList businessCardList_;
|
|
};
|
|
|
|
class BusinessCardCardView : public TjdUiAppBusinessCardViewBase
|
|
{
|
|
public:
|
|
BusinessCardCardView();
|
|
~BusinessCardCardView();
|
|
static BusinessCardCardView *GetInstance(void);
|
|
void ShowView() override;
|
|
void HideView() override;
|
|
OHOS::UIQrcode &GetQrcode() { return qrcode_; }
|
|
OHOS::UILabel *GetTitle() { return &descButtom_; }
|
|
|
|
private:
|
|
OHOS::UIImageView bg_;
|
|
OHOS::UILabelExt desc_;
|
|
OHOS::UILabel descButtom_;
|
|
OHOS::UIQrcode qrcode_;
|
|
};
|
|
|
|
class TjdUiAppBusinesscardPresenter;
|
|
class TjdUiAppBusinessCardView : public OHOS::View<TjdUiAppBusinesscardPresenter>
|
|
{
|
|
public:
|
|
TjdUiAppBusinessCardView();
|
|
~TjdUiAppBusinessCardView();
|
|
static TjdUiAppBusinessCardView *GetInstance(void);
|
|
static BusinessCardIndex currentViewIndex_;
|
|
void OnStart() override;
|
|
void OnStop() override;
|
|
void ShowView(BusinessCardIndex showIndex);
|
|
void InitBusinesscardList();
|
|
std::list<BusinessCardCaseInfo>* GetBusinesscardItemList(void) { return businessCardItemList_; }
|
|
|
|
private:
|
|
TjdUiAppBusinessCardViewBase *viewManager_[BusinessCardIndex::BUSINESSCARD_MAXTHVIEW]{nullptr};
|
|
BusinesscardUIScrollView *mainView_{nullptr};
|
|
void InitTargetView(BusinessCardIndex index);
|
|
std::list<BusinessCardCaseInfo> *businessCardItemList_{nullptr};
|
|
OHOS::ImageInfo *imgItemInfo[BUSINESSCARD_MAX_INDEX];
|
|
};
|
|
|
|
} // namespace TJD
|
|
|
|
#endif |