第一章 X窗口系统 1
1.1 client-sever机制 2
1.2 X协议 2
1.3 显示及屏幕 3
1.4 资源 4
1.5 事件 4
1.6 输入设备 4
1.7 窗口管理器 5
1.8 X工具箱层次结构 5
1.9 小结 6
2.1.一个示例程序 7
第二章 用Motif Widgets编程 7
2.1.1 包含头文件 10
2.1.2 与X sever建立联接 11
2.1.3 创建widget 11
2.1.4 设置widget资源 12
2.1.5 使用回调函数 14
2.1.6 实现widget 16
2.1.7 得到可执行文件 17
2.1.8 使用缺省文件设置资源 18
2.1.9 转换程序及其他 20
2.2 Motif widget集 22
2.2.1.图标类widget 22
2.3 Motif应用程序结构 34
2.5 小结 35
2.4 Motif应用程序面向对象的特征 35
第三章 面向对象的程序设计和C语言 36
3.0 引言 36
3.1 面向对象的程序设计语言 37
3.2 对象和类 38
3.3 封装性 39
3.4 继承性 39
3.5 多态性和动态联编 40
3.6 C简介 41
3.6.1 程序例子 42
3.6.2 基本的数据类型 43
3.6.3 运算符和表达式 44
3.6.4 程序控制结构 44
3.6.5 变量的作用域 47
3.6.6 C中的函数 48
3.6.7 一个使用类的简单例子 49
3.6.8 类的进一步说明 50
3.6.9 派生类成员的访问规则 52
3.6.10 构造函数和析构函数 54
3.6.1.1 运算符重载 56
3.6.1.2 运算符〈〈和〉〉 57
3.7 小结 58
第四章 用户界面程序设计原则 59
4.1 吸取用户的意见 59
4.2 方便用户控制 59
4.3 使界面保持一致 59
5.1 C版本的HelloMotif程序 61
5.2 封装单个Widget与TWidget类 61
第五章 结合C和Motif编程 61
5.3 Application类和应用初始化 63
5.4 Main Window类 70
5.5 使用 75
5.6 设置C编译环境 79
5.7 小结 81
第六章 UIL语言与C的结合:HelloMotif程序 83
6.1 UIL简介 83
6.2 UIL语言 84
6.2.1 模块头——声明一个UIL模块 86
6.2.2 变量定义 86
6.2.4 对象定义 88
6.2.3 过程定义 88
6.2.5 设置回调过程 89
6.3 结束模块 90
6.4 UIL编译 90
6.5 在应用程序中使用UID文件 90
6.6 实例——HelloMotif 92
6.6.1 Mrmapp类 92
6.6.2 HelloWindow类及HelloMotif程序 95
第七章 模型和视图 99
7.1 概念 99
7.2 通用类库 103
7.3 Viewer类 109
7.4 交互模型 114
7.4.1 交互模型的作用 114
7.4.2 宏——分配器实现 116
7.4.3 成员函数指针 118
7.4.4 视图管理 118
7.4.5 构造与析构 119
7.4.6 控制类 119
7.5 简单的例子 121
7.5.1 dice运行效果 121
7.6 颜色控制器 126
7.7 小结 133
第八章 Motif对话 134
8.1 Motif对话结构 134
8.2 Message Dialog 138
8.3 Selection Dialog 140
8.4 一个完整的例子 144
8.5 小结 146
第九章 小型编辑器 147
9.1 按MVC模型组织编辑器 147
9.2 编辑器基本操作与Seditor 148
9.3 交互过程的设计 160
9.4 扩展文本Widget的功能 164
9.4.1 翻译表与动作函数 165
9.4.2 定义自己的动作函数 166
9.4.3 键盘定制 168
9.5 行号控制 169
9.6 安全的撤退 172
附录1 Text widget方便函数表 183
附录2 Text widget缺省翻译表 188
附录3 Text widget动作函数表 191