1. ui管理模块增加扩展接口
This commit is contained in:
parent
cc177be0eb
commit
1c8727bc9f
@ -31,13 +31,10 @@
|
|||||||
#define UIPAGE_LEN len
|
#define UIPAGE_LEN len
|
||||||
#define UIPAGE_CMD cmd
|
#define UIPAGE_CMD cmd
|
||||||
|
|
||||||
#if 1
|
|
||||||
#define UIPAGE_CASE(page, func, ...) case page: { LogD("current page[%d], event[%s]", page, #page); func(__VA_ARGS__); LogD("event End"); } break
|
#define UIPAGE_CASE(page, func, ...) case page: { LogD("current page[%d], event[%s]", page, #page); func(__VA_ARGS__); LogD("event End"); } break
|
||||||
#define UIPAGE_CASE_RET(page, func, ...) case page: { LogD("current page[%d], event[%s]", page, #page); return func(__VA_ARGS__); LogD("event End"); } break
|
#define UIPAGE_CASE_RET(page, func, ...) case page: { LogD("current page[%d], event[%s]", page, #page); return func(__VA_ARGS__); LogD("event End"); } break
|
||||||
#else
|
#define UIPAGE_CASE_TRACE(page, func, ...) case page: { LogTr("current page[%d], event[%s]", page, #page); func(__VA_ARGS__); LogTr("event End"); } break
|
||||||
#define UIPAGE_CASE(page, func, ...) case page: { func(__VA_ARGS__); } break
|
#define UIPAGE_CASE_RET_TRACE(page, func, ...) case page: { LogTr("current page[%d], event[%s]", page, #page); return func(__VA_ARGS__); LogTr("event End"); } break
|
||||||
#define UIPAGE_CASE_RET(page, func, ...) case page: { return func(__VA_ARGS__); } break
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define UIPAGE_INIT_FUNC(func, ...) UIPAGE_CASE(kCallInitPage, func, __VA_ARGS__)
|
#define UIPAGE_INIT_FUNC(func, ...) UIPAGE_CASE(kCallInitPage, func, __VA_ARGS__)
|
||||||
#define UIPAGE_FREE_FUNC(func, ...) UIPAGE_CASE(kCallFreePage, func, __VA_ARGS__)
|
#define UIPAGE_FREE_FUNC(func, ...) UIPAGE_CASE(kCallFreePage, func, __VA_ARGS__)
|
||||||
@ -58,7 +55,7 @@
|
|||||||
#define UI_CALL_EVENT_TYPE(value) ((HUiPageEvent_t *)value)
|
#define UI_CALL_EVENT_TYPE(value) ((HUiPageEvent_t *)value)
|
||||||
|
|
||||||
// HD集成任务处理
|
// HD集成任务处理
|
||||||
#define HD_UIPAGE_EVENT_FUNC(func) UIPAGE_CASE(kCallNotifyEvent, func, *(UI_CALL_EVENT_TYPE(UIPAGE_DATA)))
|
#define HD_UIPAGE_EVENT_FUNC(func) UIPAGE_CASE_TRACE(kCallNotifyEvent, func, *(UI_CALL_EVENT_TYPE(UIPAGE_DATA)))
|
||||||
/** ================================================================= */
|
/** ================================================================= */
|
||||||
|
|
||||||
|
|
||||||
@ -89,6 +86,9 @@ void HUIPageInit(initPageType_t initPage);
|
|||||||
// 设置主页, 切换到主页清空返回栈, 如果返回栈为空时, 当前页面不是主页, 则切换到主页
|
// 设置主页, 切换到主页清空返回栈, 如果返回栈为空时, 当前页面不是主页, 则切换到主页
|
||||||
void HUIPageSetHome(HUiPageIndex_t page);
|
void HUIPageSetHome(HUiPageIndex_t page);
|
||||||
|
|
||||||
|
// 获取主页
|
||||||
|
HUiPageIndex_t HUIPageGetHome();
|
||||||
|
|
||||||
// 切换页面, 当前页面入栈, 相同页面不操作, 需要检查栈, 栈存在就回栈清空之后的, 不存在就压栈
|
// 切换页面, 当前页面入栈, 相同页面不操作, 需要检查栈, 栈存在就回栈清空之后的, 不存在就压栈
|
||||||
// 因为有些页面可能不用HUIPageBack来返回, 所以需要兼容这种情况
|
// 因为有些页面可能不用HUIPageBack来返回, 所以需要兼容这种情况
|
||||||
void HUIPageSwitch(HUiPageIndex_t page);
|
void HUIPageSwitch(HUiPageIndex_t page);
|
||||||
@ -148,6 +148,12 @@ uint8_t HUIPageSaveIndex(uint8_t value);
|
|||||||
// 获取当前页面索引, 仅在 HUIPageIsBack() 返回1时有效, 否则返回0
|
// 获取当前页面索引, 仅在 HUIPageIsBack() 返回1时有效, 否则返回0
|
||||||
uint8_t HUIPageGetIndex();
|
uint8_t HUIPageGetIndex();
|
||||||
|
|
||||||
|
// 临时保存当前页面索引
|
||||||
|
void HUIPageSaveTempIndex(uint8_t value);
|
||||||
|
|
||||||
|
// 获取临时保存的当前页面索引
|
||||||
|
uint8_t HUIPageGetTempIndex();
|
||||||
|
|
||||||
// 获取当前页面
|
// 获取当前页面
|
||||||
HUiPageIndex_t HUIPageGetCurrPage();
|
HUiPageIndex_t HUIPageGetCurrPage();
|
||||||
|
|
||||||
|
|||||||
@ -34,6 +34,7 @@ typedef struct HUIPageManage
|
|||||||
uint8_t isInit : 1; ///< 初始化显示页面
|
uint8_t isInit : 1; ///< 初始化显示页面
|
||||||
uint8_t saveIndex : 1; ///< 允许保存索引
|
uint8_t saveIndex : 1; ///< 允许保存索引
|
||||||
uint8_t isBack : 1; ///< 标记是否是返回
|
uint8_t isBack : 1; ///< 标记是否是返回
|
||||||
|
uint8_t tmpIndex : 4; ///< 临时页面索引
|
||||||
} HUIPageManage;
|
} HUIPageManage;
|
||||||
|
|
||||||
// 页面管理
|
// 页面管理
|
||||||
@ -176,6 +177,10 @@ void HUIPageSetHome(HUiPageIndex_t page) {
|
|||||||
pageManage.homePage = page;
|
pageManage.homePage = page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HUiPageIndex_t HUIPageGetHome() {
|
||||||
|
return pageManage.homePage;
|
||||||
|
}
|
||||||
|
|
||||||
// 切换页面, 当前页面入栈, 相同页面不操作, 需要检查栈, 栈存在就回栈清空之后的, 不存在就压栈
|
// 切换页面, 当前页面入栈, 相同页面不操作, 需要检查栈, 栈存在就回栈清空之后的, 不存在就压栈
|
||||||
// 因为有些页面可能不用HUIPageBack来返回, 所以需要兼容这种情况
|
// 因为有些页面可能不用HUIPageBack来返回, 所以需要兼容这种情况
|
||||||
void HUIPageSwitch(HUiPageIndex_t page) {
|
void HUIPageSwitch(HUiPageIndex_t page) {
|
||||||
@ -436,6 +441,16 @@ uint8_t HUIPageGetIndex() {
|
|||||||
return HByteStackTop(indexStack);
|
return HByteStackTop(indexStack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 临时保存当前页面索引
|
||||||
|
void HUIPageSaveTempIndex(uint8_t value) {
|
||||||
|
pageManage.tmpIndex = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取临时保存的当前页面索引
|
||||||
|
uint8_t HUIPageGetTempIndex() {
|
||||||
|
return pageManage.tmpIndex;
|
||||||
|
}
|
||||||
|
|
||||||
// 获取当前页面
|
// 获取当前页面
|
||||||
HUiPageIndex_t HUIPageGetCurrPage() {
|
HUiPageIndex_t HUIPageGetCurrPage() {
|
||||||
return pageManage.currPage;
|
return pageManage.currPage;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user