序言 1
目录 1
第一章 引论 5
1.1 基本原理 5
1.2 学习措施 5
1.3 记号约定 6
2.2.1 通知器 7
2.2.3 资源分派器 7
2.2.2 连接管理器 7
2.2 构件概述 7
2.1 目的 7
第二章 线路服务 7
2.2.4 服务器—客户同步机构 8
2.3 通知 8
2.4 连接管理 10
2.5 资源分派 12
2.5.1 标签分派 12
2.5.2 令牌分派 13
2.6 服务器—客户同步 14
2.7 建立典型应用程序 15
第三章 画布 17
3.1 引言 17
3.2 画布的建立与取消 18
3.3 画布的外观 18
3.4 激活与撤消激活 19
3.6 求助和菜单 20
3.5 画布损坏的修复 20
3.7 画布树的处理和枚举 21
3.8 画布几何 22
3.9 用户交互的公用程序 23
3.10 画布的有效性 24
3.11 画布光标 24
3.12 画布焦点管理 25
图4—1:袋子 27
4.2 袋子 27
图 27
4.1 引言 27
第四章 管理画布组 27
4.2.1 创建和消毁 28
4.2.2 插入和取消 28
4.2.3 动用袋子客户 30
4.2.4 图形状态公用程序 30
4.2.5 决定尺寸的协议 31
4.2.6 布局和无效布局的处理 31
4.2.7 激活和事件管理 32
4.2.8 描画和损坏修复 33
4.3 容器 34
4.3.1 客户命名 34
4.3.2 创建容器 34
4.3.3 获取和设置客户 35
4.3.4 大小的协商 35
4.4 OpenLookPane 36
4.4.1 控制滚动杆 36
图4—2:框架层次结构 37
4.4.2 改变工作面大小 37
4.5 框架 37
4.5.1 框架属性 38
4.5.3 处理框架菜单的缺省行为 39
4.5.2 打开、关闭和改变大小 39
4.5.4 子框架 40
4.5.5 通知 41
4.5.6 选择和输入焦点 42
4.5.7 冻结 42
4.5.8 /demo方法 42
4.5.9 框架类层次结构 43
4.5.10 OPEN LOOK框架 43
4.5.12 子框架功能 44
4.5.11 框架尺寸和放置 44
4.5.14 安装框架 45
4.5.15 将框架分解为子类 45
4.5.15.1 将单个框架类型分解为子类 45
4.5.13 共享的框架菜单 45
4.5.15.2 将多个框架类型分解为子类 46
4.5.16 添加框架属性 47
4.6.1 AbsoluteBag 48
4.6.1.1 最小尺寸 48
4.6 公用袋子 48
4.6.1.2 坐标系统 49
图4—4:自底向上的坐标 49
图4—3:自顶向下的坐标 49
4.6.2 RowColumnBags 50
4.6.3 柔性袋子 50
图4—5:罗盘针表示法 51
4.6.3.1 添加客户 51
4.6.3.3 FlexBag定位公用程序 52
4.6.3.2 最小尺寸 52
4.7 袋子使用和分解举例 53
4.8 焦点管理 57
4.8.1 焦点的定义 57
4.8.2 焦点转送 58
4.8.3 焦点通知 58
4.8.4 焦点转送和通知如何工作 59
5.2 菜单 61
5.1 引言 61
5.2.1 引言 61
第五章 菜单及其它选择清单 61
5.2.2 创建菜单 62
5.2.3 布置菜单 63
5.2.4 处理菜单 63
5.2.5 菜单值 64
5.2.6 钉住的菜单 64
5.2.7 回调函数,目标及/setmenu 65
5.3 设置器 66
5.3.1 OpenLookXSetting 66
5.2.7.1 手工使用目标 66
5.2.7.2 共享的菜单 66
5.3.2 OpenLookChoggle 69
5.3.3 OpenLookNonXSetting 69
6.2 ClassControl 73
6.2.1 值 73
6.1 引言 73
第六章 控制器 73
6.2.2 通知 74
6.2.4 跟踪 75
6.2.3 启用/禁止状态 75
6.3 ClassDialControl 76
6.3.1 Delta 76
6.3.2 标称化 77
6.4 ClassButton 77
6.4.4 按钮示例 78
6.4.1 图形 78
6.4.2 通知与值 78
6.4.3 OpenLookButton 78
6.4.5 OpenLookButtonStack 80
6.4.7 OpenLookAbbrButtonStack 82
6.4.6 OpenLookAbbrButton 82
6.5 模拟式控制器 84
6.5.1 滑动杆 84
6.5.2 滚动杆 85
6.5.3 简单的滚动杆例子 86
6.6.1 ClassTextControl 87
6.6.1.1 只读文字 87
6.6.1.2 操作文字 87
6.6 域 87
6.6.1.3 外观 88
6.6.2 OpenLookTextControl 88
6.6.3 OpenLookNumeric 88
第七章 图形 91
7.1 引言 91
7.1.1 使用OpenLookLableGraphic 91
7.2.1 状态 93
7.2 ClassGraphic 93
7.2.2 大小的协商 94
7.2.3 描绘支持 95
7.2.4 有效化 97
7.2.5 建立自己的图形 98
7.3 实例 100
第八章 NeWS开发环境输入模型 105
8.1 引言 105
8.2 回顾NeWS输入 106
8.3 可执行匹配 106
8.5 子树层次结构 108
8.4.3 ClassInterest 108
8.4.2 ClassKeyboard 108
8.4.1 ClassEventMgr 108
8.4 主类层次结构 108
8.5.3 键盘处理 109
8.5.2 ClassDependentInterest 109
8.5.1 ClassNotifyInterest 109
8.6.1 ClassInterest 111
8.6 方法 111
8.6.3 ClassDependentInterest 112
8.6.2 ClassNotifyInterest 112
8.6.5 ClassKeysInterest 113
8.6.4 ClassShiftInterest 113
8.7.2 例2:添加功能键 115
8.7 实例 115
8.7.1 例1:最简单的键盘处理 115
8.7.3 例1和例2的下层机制 116
8.7.4 例3:读数字小键盘 118
8.7.5 例4:非标准用法 120
8.7.6 复杂例子 122
第九章 选择 125
9.1 引言 125
9.1.1 警告 125
9.2 检索选择值 126
9.3 何时及怎样传送选择值 130
9.4 作出选择 132
9.5 登记新选择;取消旧选择 136
9.6 响应选择请求 137
9.7 公用程序 138
9.8 类结构 140
9.9 选择的实例 141
10.1.2 发送到目标 153
10.1.1 设置和获取目标 153
10.1 ClassTarget 153
第十章 其它议题 153
10.1.3 举例 154
10.1.4 自动的菜单目标 154
10.1.5 使目标消失 155
10.1.6 目标怎样工作 155
10.2 NeWs开发环境的应用 155
10.2.1 应用分类 155
10.2.2 启动应用 155
10.2.3 删除应用 156
11.1 引言 157
11.2.1 错误处理 157
11.2 “线路服务” 157
第十一章 接口引用 157
11.2.2 连接管理 158
11.2.3 句柄的分派和登记 162
11.2.4 通知器 165
11.2.5 使用宏调用 166
11.2.6 同步 166
11.2.7 常量 167
11.3 AbsoluteBag 167
11.3.1 直接方法 167
11.3.2 类变量 170
11.4 ClassBag 170
11.4.1 直接方法 170
11.4.2 子类方法 176
11.4.3 类变量 178
11.5 ClassBaseFrame 179
11.6 ClassButton 179
11.6.1 直接方法 179
11.6.2 子类方法 179
11.7 ClassCanvas 180
11.7.1 直接方法 180
11.7.2 子类方法 188
11.7.3 类变量 192
11.8 ClassCommandFrame 193
11.9.1 直接方法 194
11.9 ClassContainer 194
11.10 ClassControl 196
11.9.3 类变量 196
11.9.2 子类方法 196
11.10.1 直接方法 197
11.10.2 子类方法 200
11.10.3 类变量 202
11.13 ClassHelpFrame 203
11.12 ClassFrame 203
11.11 ClassDialControl 203
11.16 ClassPropetyFrame 204
11.15 ClassMenu 204
11.14 ClassIconFrame 204
11.17 ClassSelectionList 205
11.18 ClassTarget 205
11.18.1 直接方法 205
11.19 ClassTextControl 206
11.18.2 子类方法 206
11.19.1 直接方法 207
11.19.2 子类方法 212
11.19.3 类变量 214
11.20 FlexBag 215
11.20.1 直接方法 215
11.20.2 实用方法 218
11.21.1 直接方法 219
11.21 Object 219
11.21.2 子类方法 222
11.21.3 类变量 222
11.22 OpenLook Abbr Button 223
11.22.1 直接方法 223
11.24 OpenLookBaseFrame 226
11.24.1 直接方法 226
11.23 OpenLookAbbrButtonStack 226
11.25.1 直接方法 235
11.25 OpenLookButton 235
11.25.2 类变量 238
11.26 OpenLookButtonStack 238
11.26.1 直接方法 239
11.26.2 子类方法 241
11.29 OpenLookCommandFrame 242
11.28 OpenLookChoggle 242
11.27 OpenLookCheckBox 242
11.32 OpenLookHorizontalScrollbar 243
11.31 OperLookHelpFrame 243
11.30 OpenLookFrame 243
11.33.1 直接方法 244
11.33 OpenLookHorizontalSlider 244
11.33.2 子类方法 245
11.34 OpenLookIconFrame 246
11.35 OpenLookMenu 246
11.35.1 直接方法 246
11.36 OpenLookNonXSetting 251
11.36.1 直接方法 251
11.37 OpenLookNoticeFrame 255
11.38.1 直接方法 256
11.38 OpenLookNumeric 256
11.38.2 类变量 260
11.39 OpenLookPane 260
11.41 OpenLookTextControl 261
11.40 OpenLookPropertyFrame 261
11.41.1 直接方法 261
11.41.2 子类方法 267
11.41.3 类变量 268
11.42.1 直接方法 269
11.42 OpenLookVerticalScrollbar 269
11.42.2 子类方法 271
11.44.1 直接方法 272
11.44 OpenLookXSetting 272
11.43 OpenLookVerticalSlider 272
11.46 RoWColumnBag 276
11.45 OpenLookXSettingControl 276
11.44.2 子类方法 276
11.46.1 直接方法 277
11.47 RoWColumnLayout 279
11.47.1 直接方法 280
11.47.2 子类方法 280
11.47.3 类变量 281