描述TUISYS (tuisys) - Gitee.com
在TUI运行只需要3个函数,TUI系统就可以运行,不依赖任何,如下:
int main(int argc, char** argv)
{
tui_start_init("../../res.disk", -1, -1);
while (1) {
tui_run_loop();
}
tui_end_uninit();
}
初始化运行后,UI什么都没有显示,如果要显示视图就需要创建视图,注册系统消息函数,使界面逻辑跑起来。
系统消息函数
用户通过消息函数注册int32_t tui_sys_msg_reg(tui_sys_msg_cb_t cb);
传进参数cb
回调函数,回调函数就可以接收int32_t tui_sys_msg_send(uint32_t cmd, void *param0, void *param1);
发送的消息。
消息发送是广播的形式,所以只要注册了消息回调的函数的都能收到消息。消息注册的函数如果不使用,要及时释放,避免资源浪费。
目前系统消息统一在./includes/sys_msg_def.h
里面管理,方便应用。
控件消息触发
在工具里面我们选择了回调函数
,会自动生成对应的代码,当控件触发后,回调函数会被调用
一个完整的触发消息示例
为了使软件达到逻辑视图分离,我们里面使用控件消息触发,发送系统消息,接收系统消息,最后处理消息。
第一步,创建一个.\apps\home\home.c
,初始化TUI,注册系统消息函数,创建视图,运行,最后退出,代码如下:
#include "tui.h"
extern tui_obj_t * home_main_view_view_create(void);
static int32_t home_sys_msg_cb(uint32_t cmd,