前言 1
第一部分 C++和Motif简介 3
第一章 使用C++示教Motif 9
1.1 X/Motif的层次结构 9
1.2 C和C++的混合编程 13
1.3 用Motif和Xt Intrinsics编程 15
1.4 Motif Widget集 32
1.4.1 显示类Widget 32
1.4.2 容器类Widget 36
1.4.3 菜单类Widget 46
1.4.4 对话类Widget 47
1.4.5 Gadget 48
1.5 定做和资源 49
1.6 本章小结 50
第二章 C++类与Widget 53
2.1 用户界面组成部件 54
2.2 UIComponent类 79
2.3 用户界面组成部件的基准 93
2.4 编写C++类与编写Widget的对照 94
2.5 本章小结 96
第三章 用对象进行设计 97
3.1 面向对象的设计与开发 97
3.2 CRC:类/职责/合作者 99
3.3 设计所用的记号 103
3.4 可复用性的设计 110
3.5 本章小结 118
第四章 九格子游戏的设计 119
4.1 定义问题 119
4.2 发现对象 120
4.3 研制原始类卡片 121
4.4 最终设计方案 124
4.5 设计九格子用户界面 131
4.6 本章小结 136
第五章 九格子游戏的实现 137
5.1 TicTacToe类 137
5.2 GameBoard类 142
5.3 Message类 153
5.4 Command类 155
5.5 Engine子系统 158
5.6 组装前面定义的类 167
5.7 本章小结 171
第二部分 应用框架 173
第六章 MotifApp应用框架 176
6.1 概述 176
6.2 Application类 180
6.3 MainWindow类 188
6.4 MotifApp main()函数 192
6.5 MotifApp库 193
6.6 使用Application框架 193
6.7 本章小结 197
第七章 对话 198
7.1 使用对话 198
7.2 DialogManager类 204
7.3 InfoDialogManager类 213
7.4 QuestionDialogManager类 217
7.5 本章小结 220
第八章 命令类 222
8.1 Cmd类 222
8.2 CmdInterface类 232
8.3 NoUndocmd类 235
8.4 Undocmd类 236
8.5 AskFirstCmd类 238
8.6 WarnNoUodoCmd类 240
8.7 本章小结 242
第九章 一个简单的菜单系统 243
9.1 ButtonInterface类 243
9.2 MenuBar类 245
9.3 MenuWindow类 247
9.4 一个MenuBar例子 248
9.5 本章小结 260
第十章 冗长任务 261
10.1 处理忙应用程序的策略 261
10.2 WorkingDialogManager类 266
10.3 InterruptibleCmd类 276
10.4 一个例子程序 283
10.5 本章小结 301
第十一章 颜色选择器 302
11.1 模型和视图(Models and Views) 302
11.2 ColorChooser的对话 304
11.3 本章小结 331
第十二章 一个MotifApp应用程序 332
12.1 概述 332
12.2 Stage类 334
12.3 驱动动画 340
12.4 控制框 347
12.5 Actor类及其相关类 353
12.6 AddBallCmd类 359
12.7 BounceWindow类 361
12.8 构造和运行Bounce 365
12.9 本章小结 367