什么是TUI?
----------
TUI是指文本用户界面(Text User Interface).尽管现在已经是图形界面(GUI)为主流,但传统的文本界面应用仍然很多,特别是基于UNIX/LINUX的大行业, 如银行,电信等. 与GUI想比, MYTUI对系统资源要求更低, 对相关软件依赖少, 程序也要小很多, 显得更轻便.
什么是MYTUI?
------------
MYTUI是一个基于文本界面的构件库和开发工具箱. 它在传统的curses库上用C写成, 提供了很多最常用的现成构件, 帮助用户快速开发(RAD)文本界面应用. 它主要用于在LINUX/UNIX环境下开发,当然,也支持WINDOWS.
基本上,系统自带的curses库构成了实现所有的文本界面应用开发的框架.但是它却难以开发和维护大型含有复杂界面操作的系统和应用).
MYTUI的目标就是为大型的应用系统的前端部分提供轻便,健壮的文本界面快速开发工具(如银行的交易系统, 一般有数百个交易组成, 每个都有自己的界面).
与市场上其他类似工具不同,MYTUI将基础构件的细节和复杂性隐藏起来, 使得开发接口更加易懂,使操作更加安全简单. 比如, MYTUI使用句柄而不是头疼的指针去访问构件和对象, 大大减少了使用难度. 即使是初学者也能快速上手.
此外, MYTUI还提供了一个强大的可视化开发工具:©wdesigner. 它能帮助你以所见即所得方式设计和布局构件和表单(form), 并自动为每个表单产生框架代码,从而大大减轻开发工作量,让你集中精力到业务处理细节上.
MYTUI组成:
----------
由两部分构成:
1. 基本的开发包(SDK). 它以C/C++接口方式提供了所有的底层API用于构造任意的构件和表单. 这个包是免费的,你可以自由使用它而不受任何限制.
2. 表单开发工具©wdesigner. 这是快速原型开发工具(RAD), 以所见即所得方式设计构件和表单. 所有资源定义被保存到称为TRF(文本界面资源文件)的库中,应用在运行时动态创建界面. 它可以自动生成相关的C代码. ©wdesigner不是免费的,但可以试用.
MYTUI的构件层次
---------------
目前版本支持的构件有:
*Label: 静台文本. 不可编辑.
*Push Button. 按钮.
*Line Editor: 行编辑器.
*ComboBox: 下拉选择器和行编辑器的组合.
*Scroll Window:滚动窗口. 内容可以水平和垂直方向滚动.以行为单位. 经常用做LOG窗口
*List Box: 列表选择框. 可以单选,也可以是多选模式.
*Popup Menu:弹出式菜单.每个菜单项又可以再挂子菜单项.
*Pulldown Menu:下来式菜单.主菜单数目不限(可以水平滚动),每个菜单里的菜单项下可继续挂子菜单, 级数没有限制. 这是个非常强大的菜单系统.
*Data Grid:数据网格. 用于存储,检索和操作二维的数据数组. 每个单元可以是一个Label, Line Editor或者ComboBox. 它以数据库表的方式来组织数据和操作模式. 通过定义列回调可以对列(字段)加约束. 它同时也提供诸如排序,搜索,导入/导出等高级功能. 这是个非常强大和有用的控件.
*Progress Bar: 进度条:可用于实时显示耗时操作的进度. 以百分比的方式展现.
构件/表单通过回调的方式(Callback)与用户交互. 开发这只需实现回调即可完成应用的开发,剩下的由MYTUI完成.
使用©wdesigner开发应用的流程
----------------------------
我们推荐©wdesigner,因为它可以节省您大量的时间. 它将构件表单的属性单独分离到外面的资源库(TRF)进行管理和动态装载. 每个TRF文件对应一个表单和它下面的构件定义. ©wdesigner可以对每个TRF产生源代码. 下面是个典型的流程:
1. 对你的表单和下属的构件做好规划.
2. 使用©wdesigner画标单和构件, 并为它们指定好属性(包括回调函数);
3. 使用MYTUI的相关工具测试表单是否正确(可选);
4. 让©wdesigner产生框架代码. 所有的回调函数都将按正确的原型生成好.
5. 现在,轮到你完成这些回调函数的具体内容即可.
6. 编译连接生成最终的应用.可以是静态链接,也可以选择动态链接. |