免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1032 | 回复: 0
打印 上一主题 下一主题

嵌入式GUI FTK介绍(4)-脚本语言绑定 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-25 22:04 |只看该作者 |倒序浏览

       
               
[/url]
转载时请注明出处和作者联系方式
文章出处:
[url=http://www.limodev.cn/blog]http://www.limodev.cn/blog

作者联系方式:李先静

用XML来描述界面,C/C++写内部逻辑,用脚本语言来胶合界面和内部逻辑。FTK正是基于这种思想来设计的,所以它自然会提供
脚本语言绑定,最早我是想绑定javascript的,这样可以用类似写网页的方式来写程序。但是我又希望FTK能在MTK和展讯那样的手机平台上运行,
而javascript引擎可执行代码太大了。所以最后选择了lua绑定,lua的可执行只有100多K,加上FTK,总共大约在300K左右,这样的大
小放在MTK和展讯的手机平台应该是可行的。FTK+Lua的方式对SP非常有用(虽然我不太喜欢SP),不但可以隔离各种手机平台的差异,而且可以把程
序放在服务器上,而不用全部内置到手机中了。
比如:

实现代码如下:
XUL描述:
xml=[[
version="1.0" encoding="utf-8"?>
value="Entry Label">
      id="1" x="5" y="5" w="$ww/4" h="30" value="Name" />
      id="2" x="$ww/4+5" y="5" w="3*$ww/4-15" h="30" value="Li XianJing" />

      id="3" x="5" y="40" w="$ww/4" h="30" value="EMail" />
      id="4" x="$ww/4+5" y="40" w="3*$ww/4-15" h="30" value="xianjimli@hotmail.com" />

      id="5" x="5" y="75" w="$ww/4" h="30" value="Mobile" />
      id="6" x="$ww/4+5" y="75" w="3*$ww/4-15" h="30" value="+8613911112222" />

     id="99" x="5" y="3*$wh/4" w="$ww/2-5" h="50" attr="$FTK_ATTR_INSENSITIVE" value="Save" />
     id="100" x="$ww/2" y="3*$wh/4" w="$ww/2-5" h="50" attr="$FTK_ATTR_FOCUSED" value="Quit" />
>
]]
lua代码
function button_quit_on_clicked(button)
    ftk_quit()
    print("button_quit_on_clicked")
    return 0
end

function button_save_on_clicked(button)
    print("button_save_on_clicked")
    return 0
end

ftk_init()

win=ftk_xul_load(xml)
ftk_widget_show_all(win, 1)

quit=ftk_widget_lookup(win, 99)
ftk_button_set_clicked_listener(quit, "button_save_on_clicked")

quit=ftk_widget_lookup(win, 100)
ftk_button_set_clicked_listener(quit, "button_quit_on_clicked")

ftk_run()
因为FTK是用C语言写的,要绑定到其它脚本语言也是非常容易的,有兴趣的朋友可以试下。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/102957/showart_2160388.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP