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