|
Size: 1940
Comment:
|
Size: 2139
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 51: | Line 51: |
| 我们主要是做工具,不是做应用,我想这个界线要划分清楚。交互窗口,web窗口应该是属于应用的。监控窗口是怎么想的?不过上面可以做为我们的demo程序。 -- limodou [[[DateTime]]] |
* 我们主要是做工具,不是做应用,我想这个界线要划分清楚。交互窗口,web窗口应该是属于应用的。监控窗口是怎么想的?不过上面可以做为我们的demo程序。-- limodou [[[DateTime]]] * 对!就是Demo 的意思!可以作为 整体测试框架来先实现之! * 使用什么样的项目管理方式? 微集成? -- ZoomQuiet * 我想就是简单的迭代吧。 -- limodou |
CuLib需求
目标
实现一个基于curses的高级调用包。
内容
基础
- 开发一个公共调用层,使之更通用一些,比curses提供的更高级一点,而且更符合中国人的习惯。象 curses的坐标是(y,x)有些不习惯。
事件处理
- 实现事件处理调用机制
- 实现基础事件影响对象(暂定BUI)
- 所有UI元素均要求从此对象(BUI)派生
窗口对象
- 窗口对象均为UI元素
- 可以响应事件
- 有继承关系
- 显示分为模态和非模态两种。模态为必须关闭才可以切换到其它窗口,而非模态为不需关系就可以切换到其它窗口
窗体(frame)
- 为基本UI元素,实现基本的字符录入、显示、定位
- 要实现stack式屏幕保存,即可以把窗口内的某个矩形型区域拷贝下来,当执行多次将保存维护成一个栈,恢复屏幕时按照栈的顺序恢复。
- 可以有多种样式选择
- 窗体可以大于显示大小
- 有滚动条并可以指定是否显示
- 可以移动
- 可以改变大小
- 显示分为模态和非模态
菜单(menu)
- 支持多级菜单
- 菜单项有多种状态可以设定:禁止/允许、显示/不显示、检查/不检查
- 支持配置文件生成菜单
- 自动判断屏幕边界保证菜单显示完整
- 菜单支持动态修改
