内容简介
目 录
简介
第一章X Window System介绍
1.1服务程序和客户程序
1.2软件层次
1.3事件驱动编程
1.4窗口管理程序
1.5 X的扩展
第二章X Toolkit介绍
2.1用目标基编程
2.1.1目标基的内容
2.1.2 目标基类和实例
2.1.3使用资源的目标基可配置性
2.1.4目标基的独立性
2.1.5 目标基与应用程序之间的相互作用
2.1.6 Xt和面向对象编程
22 X Toolikt应用程序的结构
2.3一个简单的X Toolkit应用程序
2.3.1代码
2.3.2编译应用程序
2.3.3应用程序缺省文件
2.3.4硬码(hardcode)和非硬码
2.4连接目标基和应用程序代码
2.4.1反调用
2.4.2动作
2.5.1在应用程序中设置和获得资源
2.5资源的进一步讨论
2.52 Core资源
2.53其它继承的资源
第三章使用目标基的更多技术
3.1使用复合目标基
3.1.1为一个实例层次设置资源
3.1.2几何管理实践
3.2使用限制目标基
3.3使用弹出
3.4反调用的进一步讨论
3.4.1把数据传递给反调用
3.4.2反调用表
3.5.1应用程序数据结构
3.5应用程序资源
3.5.2资源表
3.5.3获得资源
3.6命令行选项
3.6.1标准命令行选项
3.6.2定义用户自己的命令行选项
3.7 防止用户定制目标基资源
3.7.1使用vararg接口
3.7.2使用argList接口
第四章一个应用程序例子
4.1 xbitmap1:使用BitmapEdit目标基的位图编辑器
4.1.1 目标基的公共函数
4.1.2应用程序缺省文件
4.2 xbitmap2:增加滚卷条以处理大型位图
4.2.2翻译表中的动作参数
4.2.3 resize_thumbs动作
4.2.1覆盖翻译
4.2.4滚卷条的反调用
4.3 xbitamp3:增加显示位图的图形
4.3.1应用程序的图形
4.3.2写位图文件
4.4 xbitmap4:不使用BitmapEdit目标基的位图编辑器
第五章目标基内部
5.1 目标基源文件组织
5.2私有头文件——BitmapEdip.h
5.2.1部分结构和记录
5.2.2类部分和类记录
5.2.3实例部分结构和实例记录
5.3 目标基实现文件——BitmapEdit.c
5.3.1约束包含文件
5.3.2定义资源表
5.3.3翻译表和动作表
5.3.4声明方法
5.3.5初始化类记录
5.3.6 Core方法介绍
5.3.7为应用程序使用而封装类记录
5.3.8一个方法例子
5.4公共头文件——BitmapEdit.h
5.5编写目标基的过程
5.6约定总结
第六章基本的目标基方法
6.1 目标基内部的图形模型
6.2方法initialize
6.2.1创建GC
6.3 expose方法
6.4 set_values方法
6.5 resize方法
6.6 query_geometry方法
6.7 destroy方法
6.8 目标基框架中的动作
第七章事件、翻译和加速器
7.1翻译表语法
7.1.1指令
7.1.2选择翻译的事件
7.1.3键盘事件的细节
7.1.4其它事件类型的细节
7.1.5修饰词
7.1.6事件序列
7.1.7翻译之间的相互作用
7.2加速器
7.2.1事件传播
7.2.2在多个目标基中安装加速器
7.2.3在代码中定义加速器
7.2.4 display_accelerators方法
第八章更多的输入技术
8.1事件处理程序
8.1.1增加事件处理程序
8.1.2增加不可屏蔽事件处理程序
8.1.3删除事件处理程序
8.1.4增加纯事件处理程序
8.2编写使用专门的事件数据的例程
8.2.1事件类型和结构名称
8.3.1获得文件输入
8.3文件、管道和插座输入
8.3.2获得管道输入
8.4超时(Timeouts)
8.4.1可见性问题
8.5工作过程
8.6事件队列的低级管理
8.6.1 XtPending和XtPeekEvent
8.6.2事件过滤程序
8.6.3输入敏感性
第九章资源管理和类型转换
9.1资源基础介绍
9.2资源数据库如何工作
9.2.1资源规格说明的格式
9.2.2资源文件的合并
9.2.3语言串
9.2.4备份资源
9.2.5资源匹配算法
9.2.6资源的优先规则
9.3类型转换
9.3.1 XtRString的转换
9.3.2其它已有的类型转换
9.3.3不用转换的特殊的缺省资源
9.3.4类型转换程序的登录
9.3.5显式地激活转换程序
9.3.6编写类型转换程序
9.4子部份和子资源
9.4.1 中继方法
9.4.2子资源的管理
10.1窗口管理程序交互
第十章 客户程序之间通讯
10.1.1 Shell子类
10.1.2 Shell资源的设置
10.1.3屏幕空间
10.1.4输入方式
10.1.5颜色表
10.1.6图符
10.1.7窗口管理程序的装饰
10.2 目标基之间通讯的选择机制
10.2.1原子选择如何工作
10.2.2高亮显示选取的数据(属主方面)
10.2.3用XtOwnSelection作出选择(属主方面)
10.2.4对选择的请求(请求者方面)
10.2.5选择的转换(属主方面)
10.2.6选择的最终粘贴过程(请求者方面)
10.2.7选择放弃时(属主方面)
10.2.8选择传送完成时(属主方面)
10.2.9 ICCCM的一致性
10.2.10增量选择如何工作
10.2.11其它的选择程序
第十一章几何管理
11.1复合管理如何工作
11.1.1 初始几何的协商
11.1.2复合目标基中基本的Core方法
11.1.3孩子目标基的布局
11.1.4 change_managed方法
11.1.5 XtQueryGeometry和query_geometry方法
11.1.6 XtMakeGeometryRequest和geometry_manager方法
11.2限制目标基如何工作
11.1.7 insert_child和delete_child方法
11.3限制目标基的编写
11.3.1 Core资源表
11.3.2限制资源表
11.3.3类结构的初始化
11.3.4 Constraint的initialize方法
11.3.5 class_part_init方法
11.3.6 geometry_manager方法
11.3.7 resize方法
11.3.8 Core和Constraint的set_values方法
11.3.9 change_managed方法
11.3.11重新安排几何的延迟处理
11.3.10 query_geometry方法
11.4组合目标基
11.5栈顺序
第十二章 菜单、辅助目标基和阶式弹出
12.1菜单方式及其实现
12.1.1如何弹出菜单
12.1.2菜单窗格
12.2创建和使用菜单的几种方法
12.2.1 呈现式菜单:指示器的获取
12.2.2下落式菜
12.2.3阶式菜单
12.2.4使用第4版的SimpleMenu目标基
12.2.5弹出创建的延迟
12.4辅助目标基
12.3关于对话盒
12.4.1辅助目标基内部
12.4.2专用头文件
12.4.3辅助目标基的源文件
12.4.4公共头文件
12.4.5辅助目标基父母
第十三章其它ToolKit编程技术
13.1出错和警告
13.2 对象
13.3取得信息的宏
13.4键盘聚焦和accept_focus方法
13.5键盘翻译
13.6存储分配
13.8 Xt的获取函数
13.7动作中继站和动作的直接调用
13.9文件的查找和国际化
13.10应用上下文
13.10.1多重应用上下文
13.10.2为多重应用上下文重写XtAppMainLoop
13.10.3多重应用上下文中使用的函数
13.11多重顶层Shell
13.12多重服务程序之间的连接
13.13类扩展结构
附录A OPEN LOOK和Motif
附录B字体和颜色的描述
附录C命名习惯
附录D版本注释
附录E xbitmap应用程序