添加tlv组件

一、TLV组件介绍

为提升 TLV 组件的配置管理效率与项目适配灵活性,我们构建了动态可裁剪的组件管理机制。该机制允许根据项目需求灵活增减组件配置,通过 TLV 框架内统一的标准化接口,实现对消息模块堆叠功能快捷栏侧边导航栏等核心组件的高效管理,从而显著增强系统的可扩展性与适配能力,满足不同项目场景的多样化需求。

二、TLV组件框架

TLV组件框架已在 solution\framework\gui_fwk\tlv_fwk.c 实现,主要接口及说明如下

1、组件状态
组件状态主要用于状态机的转换,状态的改变只能按指定的状态机切换。同平铺状态机

enum
{
    TLV_STATE_STARTED,          /**< start a tileview application               */
    TLV_STATE_RESUMED,          /**< activate a tileview application            */
    TLV_STATE_PAUSED,           /**< pause a tileview application               */
    TLV_STATE_STOPED,           /**< destory a tileview application             */
};

状态机切换函数

int tlv_comp_change_state(const char *id, lv_obj_t *parent, tlv_state_t state);

2、注册组件

static void on_start(void *param)
{
    p_notify = (notification_t *)app_calloc(1, sizeof(notification_t));
    RT_ASSERT(p_notify);

    p_notify->parent = TLV_COMP_GET_PARENT;

}

static void on_resume(void *param)
{

}

static void on_pause(void *param)
{

}

static void on_stop(void *param)
{
	p_notify = NULL;
}

TLV_COMPONENT_REGISTER(notify);

三、内置TLV组件

TLV组件框架以适配一下组件,不同项目可进行个性化适配,不需要时直接删掉相应目录或去掉相应的宏配置。

1、消息模块

fishy

2、堆叠功能

fishy

3、快捷栏

fishy

4、侧边导航栏

fishy