《Eclipse插件开发学习笔记》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:张鹏等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121054983
  • 页数:656 页
图书介绍:本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述Eclipse平台技术最全面的书籍之一。本书首先介绍了Eclipse的平台结构,并根据读者定位,省略了大部分关于IDE使用的基础内容,然后具体介绍SWT/JFace的使用,包括基本的控件、观察器、对话框以及图形等,在接下来的插件开发核心和高级部分,本书详细讲解了插件开发的方法和技巧,涉及到了插件开发的大部分知识点,最后本书还介绍了RCP开发技术。本书的内容始终围绕Eclipse平台展开,通过丰富的实例,由浅入深地介绍了Eclipse平台上进行开发的工具、方法、步骤、技巧以及原理等,是一本真正的Eclipse平台技术完全参考手册。

第一篇 开发基础 1

第1章 Eclipse平台简介 1

1.1 Eclipse集成开发环境(IDE)介绍 2

1.1.1 安装及使用Eclipse IDE 2

1.1.2 为Eclipse IDE安装中文语言包 6

1.1.3 IDE的环境设置 7

1.1.4 使用帮助系统 9

1.2 什么是Eclipse 9

1.3 SWT/JFace技术 11

1.4 插件技术和OSGi 12

1.5 RCP技术 15

1.6 EMF技术 16

1.7 GEF技术 17

1.8 本章小结 18

第2章 SWT/JFace概述 19

2.1 SWT结构浅析 20

2.2 SWT API结构 21

2.2.1 组件类 22

2.2.2 布局类 23

2.2.3 事件类 23

2.2.4 图形类与系统资源管理 25

2.2.5 其他内容 27

2.3 JFace 27

2.3.1 查看器 27

2.3.2 资源注册表 28

2.3.3 字段帮助 29

2.3.4 操作和贡献 29

2.3.5 对话框、向导页和偏好设置 30

2.3.6 数据绑定 30

2.4 SWT与Swing 31

2.5 编写并发布SWT程序 33

2.5.1 第一个SWT程序 33

2.5.2 SWT程序的打包发布 37

2.6 本章小结 38

第3章 SWT编程基础 39

3.1 Display和Shell 40

3.1.1 Display的创建 40

3.1.2 Shell的创建 42

3.1.3 Display的事件队列和事件循环 43

3.1.4 Display的生命周期 46

3.1.5 监视器、边界和客户区域 47

3.1.6 SWT程序中的多线程 48

3.2 控件 50

3.2.1 控件类的继承结构 50

3.2.2 控件的构造和样式 52

3.2.3 控件的继承检查 53

3.3.4 控件的用户数据 55

3.3.5 控件的释放 55

3.3 图形资源 56

3.3.1 使用Color 56

3.3.2 使用Image 57

3.3.3 使用Font 59

3.4 高级内容 60

3.4.1 使用系统托盘 60

3.4.2 利用Region构造不规则窗口 61

3.4.3 在SWT中使用Swing 62

3.5 本章小结 63

第4章 使用基本控件与对话框 64

4.1 Button 65

4.2 Label 66

4.3 Text 68

4.4 List 70

4.5 Combo 73

4.6 ToolBar和ToolItem 74

4.7 Menu和MenuItem 78

4.8 CoolBar和CoolItem 81

4.9 TabFolder和TabItem 83

4.10 对话框 85

4.10.1 消息框 85

4.10.2 文件与目录对话框 87

4.10.3 颜色对话框 89

4.10.4 字体对话框 90

4.11 本章小结 91

第5章 容器与布局管理器 92

5.1 Composite 93

5.2 Group 96

5.3 Shell 97

5.4 容器上下文菜单设置 100

5.5 容器颜色、背景和鼠标指针设置 102

5.6 布局管理概述 104

5.6 1 AbsoluteLayout布局(No Layout) 104

5.6.2 FillLayout布局 105

5 6.3 RowLayout布局 106

5.6.4 GridLayout布局 110

5.6.5 FormLayout布局 112

5.6.6 StackLayout布局 114

5.6.7 布局的选择规则 116

5 6.8 自定义布局管理器 116

5.7 本章小结 120

第6章 界面开发工具 121

6.1 安装Visual Editor 122

6.2 使用Visual Editor 123

6.2.1 Visual Editor的基本使用 123

6.2.2 控件布局 128

6.2.3 运行与调试 130

6.3 其他工具介绍 133

6.3.1 SWT Designer 133

6.3.2 Jigloo 133

6.4 本章小结 134

第7章 高级控件使用 135

7.1 列表、表格和树 136

7.1.1 查看器(Viewer)框架 136

7.1.2 JFace列表查看(List Viewer) 139

7.1.3 Table控件 143

7.1.4 JFace表格查看器(Table Viewer) 147

7.1.5 Tree控件 148

7.1.6 JFace树查看器(Tree Viewer) 151

7.2 文本编辑器 155

7.3 滚动条、Scrollable、ScrolledComposite和滑动条 158

7.4 进度条与进度指示器 160

7.5 浏览器与OLE 162

7.6 本章小结 165

第8章 SWT/Jface的事件处理 166

8.1 SWT的事件处理 167

8.1.1 事件处理机制 167

8.1.2 低级事件类 170

8.1.3 高级事件类 171

8.2 常用事件 172

8.2.1 鼠标事件 172

8.2.2 键盘事件 173

8.2.3 Paint事件 174

8.2.4 应用举例 175

8.2.5 使用SWT模拟键盘/鼠标事件 177

8.3 JFace事件处理 178

8.3.1 操作(Action)与贡献(Contribution) 178

8.3.2 创建操作 180

8.3.3 使用贡献 181

8.4 本章小结 182

第二篇 核心技术 183

第9章 Eclipse插件体系结构 183

9.1 Eclipse体系结构 184

9.1.1 Eclipse平台架构 184

9.1.2 插件工作模式 185

9.1.3 工作台层次结构 186

9.2 插件的加载过程 187

9.2.1 插件的安装 187

9.2.2 插件的发现和启动 190

9.2.3 插件信息的获取 190

9.3 插件的扩展模式 191

9.3.1 扩展和扩展点 191

9.3.2 扩展加载过程 194

9.3.3 常用扩展点 194

9.3.4 小结 195

9.4 本章小结 195

第10章 开发第一个插件项目 196

10.1 创建插件工程 197

10.1.1 新建插件 197

10.1.2 使用向导 198

10.2 “插件开发”透视图 200

10.2.1 PDE视图 201

10.2.2 PDE运行时视图 202

10.2.3 清单编辑器 203

10.3 插件工程结构 203

10.4 插件文件 204

10.4.1 Plugin.xml文件 204

10.4.2 MANIFEST.MF文件 205

10.4.3 Build.properties文件 206

10.5 插件类 207

10.6 运行插件程序 208

10.7 调试插件 210

10.8 发布插件 211

10.9 本章小结 212

第11章 操作(Actions) 213

11.1 Eclipse中的操作概览 214

11.2 添加工作台窗口操作 214

11.2.1 使用模板创建扩展 215

11.2.2 定制操作集 217

11.2.3 定制工作台菜单 218

11.2.4 定制操作菜单项 219

11.2.5 实现操作代理类 221

11.3 IAction与IActionDelegate接口 222

11.4 对象操作 224

11.4.1 添加对象操作 225

11.4.2 操作的可见性 227

11.4.3 操作的过滤 228

11.4.4 实现IObjectActionDelegate接口 228

11.5 视图操作 230

11.5.1 添加视图的上下文菜单 231

11.5.2 添加视图的工具栏 232

11.5.3 添加视图的下拉子菜单 232

11.5.4 实现IViewActionDelegate接口 233

11.6 编辑器操作 234

11.6.1 创建编辑器上下文操作 234

11.6.2 添加顶层工作台菜单 234

11.6.3 定义编辑器顶层操作 235

11.6.4 添加编辑器工具栏操作 235

11.6.5 实现IEditorActionDelegate接口 236

11.7 快捷键映射 237

11.7.1 键绑定的策略 237

11.7.2 创建命令 237

11.7.3 键绑定 238

11.7.4 命令与操作关联 239

11.8 本章小结 240

第12章 视图(Views) 241

12.1 Eclipse视图体系结构概览 242

12.2 Eclipse工作环境中的视图 243

12.2.1 资源导航 244

12.2.2 PageBook视图 245

12.2.3 大纲视图 245

12.2.4 属性视图 246

12.2.5 任务视图和书签视图 247

12.2.6 项目资源管理器 247

12.3 创建一个视图 248

12.3.1 添加category 248

12.3.2 在plugin.xml中声明视图 249

12.4 视图类 250

12.4.1 视图方法 250

12.4.2 视图控制 250

12.4.3 视图模型 252

12.4.4 视图内容 255

12.4.5 视图标签 257

12.4.6 视图排序 257

12.4.7 视图过滤 259

12.5 为视图添加操作 260

12.5.1 视图选择 260

12.5.2 添加/删除操作 261

12.5.3 过滤操作 263

12.5.4 快捷键支持 265

12.6 视图间通信 265

12.6.1 对属性视图提供支持 265

12.6.2 共享并监听地址本视图查看器 266

12.6.3 提供显示在Properties视图中的内容 266

12.6.4 监听其他Workbench部分被选中的内容 271

12.7 添加状态栏支持 272

12.8 视图状态 273

12.8.1 存储排序和过滤信息 273

12.8.2 存储视图元素信息 277

12.9 加载和卸载图标 279

12.10 本章小结 281

第13章 编辑器(Editors) 282

13.1 Eclipse编辑器体系结构概览 283

13.2 Eclipse工作环境中的编辑器 284

13.2.1 AbstractTextEditor类 285

13.2.2 MultiEditor类 286

13.2.3 MultiPageEditorPart类 287

13.2.4 FormEditor类 287

13.3 为例子增加一个编辑器 289

13.3.1 声明编辑器 289

13.3.2 创建编辑器 290

13.3.3 创建编辑器输入 291

13.3.4 关联编辑器与编辑器输入 292

13.4 编辑器使用的数据模型 294

13.4.1 基本数据模型 294

13.4.2 数据管理模型 299

13 4.3 文件映射模型 300

13.5 编辑器页面 301

13.5.1 “编辑”页 302

13.5.2 “分页预览”页 311

13.5.3 “源代码”页 312

13.6 响应编辑器更改 313

13.6.1 更新模型 313

13.6.2 使“分页预览”页支持更新 317

13.7 保存编辑器模型 318

13.8 编辑器生命周期 322

13.8.1 已修改的编辑器 322

13.8.2 切换页面 324

13.8.3 保存内容 324

13.9 为编辑器添加操作 326

13.9.1 上下文菜单 326

13.9.2 管理编辑器操作栏 329

13.10 本章小结 333

第14章 透视图(Perspectives) 334

14.1 什么是透视图 335

14.2 创建一个透视图 336

14.2.1 透视图扩展点 336

14.2.2 创建透视图工厂类 338

14.3 IPageLayout 339

14.4 填充透视图 341

14.5 扩展现有透视图 344

14.5.1 添加视图和占位符 345

14.5.2 添加快捷方式 347

14.6 本章小结 348

第15章 对话框和向导(DialogsWizards) 349

15.1 对话框和向导概述 350

15.2 对话框类别 350

15.2.1 SWT对话框 351

15.2.2 JFace对话框 352

15.2.3 常用JFace对话框 353

15.3 为例子增加SWT对话框 354

15.4 创建JFace对话框 355

15.4.1 使用Dialog类创建JFace对话框 355

15.4.2 为“地址本”视图创建过滤器对话框 356

15.5 向导介绍 362

15.5.1 向导对话框 363

15.5.2 向导 363

15.5.3 向导页面 364

15.6 添加向导 364

15.6.1 定义向导扩展 365

15.6.2 实现向导 366

15.6.3 实现向导页面 368

15.6.4 添加向导处理逻辑 371

15.7 本章小结 378

第16章 首选项(Preferences) 379

16.1 首选项页面结构 381

16.2 添加首选项页面 382

16.3 示例首选项 383

16.3.1 示例首选项页面 383

16.3.2 字段编辑器 385

16.4 为例子创建首选项页面 387

16.4.1 创建根首选项页面 387

16.4.2 创建“视图”子首选项页面 388

16.4.3 创建“编辑器”子首选项页面 391

16.5 本章小结 395

第17章 帮助内容(Help Contents) 397

17.1 Eclipse帮助介绍 398

17.2 使用Eclipse帮助 399

17.3 实现集成的帮助文档 400

17.3.1 添加帮助内容扩展 400

17.3.2 添加帮助内容 402

17.4 上下文相关帮助 404

17.4.1 声明帮助的上下文扩展 404

17.4.2 定义弹出信息内容 405

17.4.3 关联弹出信息同UI上下文 406

17.5 加入帮助按钮 408

17.6 本章小结 409

第18章 备忘单(CheatSheet) 410

18.1 使用Eclipse备忘单 412

18.2 为地址本插件创建备忘单 413

18.3 构建复合备忘单 418

18.4 链接备忘单到帮助 421

18.5 本章小结 424

第三篇 高级进阶 426

第19章 插件开发高级内容 426

19.1 自定义扩展点 427

19.1.1 扩展点基础知识 427

19.1.2 使用扩展点 435

19.2 插件的国际化支持 441

19.2.1 国际化方法 441

19.2.2 国际化支持和段(fragment) 455

19.2.3 外部化plugin.xml中的字符串 458

19.3 使用功能部件(feature) 460

19.3.1 功能部件概述 460

19.3.2 创建功能部件 461

19.3.3 更新站点与自动更新功能 463

19.3.4 添加产品标签(branding) 467

19.4 动态插件 469

19.5 本章小结 472

第20章 富客户端平台(RCP)技术 473

20.1 富客户端技术介绍 474

20.2 RCP平台架构 477

20.2.1 RCP结构概述 477

20.2.2 RCP程序的结构 480

20.3 开发RCP产品 484

20.3.1 创建RCP工程 484

20.3.2 发布RCP工程 489

20.4 将插件改造成RCP程序 494

20.4.1 为RCP添加帮助内容 496

20.4.2 RCP程序的自动更新 502

20.4.3 为程序添加欢迎页面(Into) 504

20.5 本章小结 508

第21章 Draw2d 509

21.1 理解Draw2d 510

21.1.1 Draw2d系统组成 510

21.1.2 LightweightSystem简介 511

21.2 Draw2D Figure简介 514

21.3 坐标系统 516

21.4 布局管理 517

21.4.1 布局管理器 517

21.4.2 布局更新 518

21.5 连线和路由 520

21.5.1 连线 520

21.5.2 连线路由器(Connection Router) 520

21.6 Draw2d中的其他组件 521

21.6.1 边界 521

21.6.2 层次 522

21.6.3 定位器 523

21.6.4 连接锚点 523

21.7 本章小结 525

第22章 GEF介绍与实现 526

22.1 GEF简介 527

22.1.1 GEF架构概述 528

22.1.2 GEF工作原理 530

22.2 理解GEF-MVC架构 532

22.2.1 GEF中的模型 532

22.2.2 GEF中的视图 533

22.2.3 GEF中的控制器(EditPart) 535

22.3 GEF中的基本概念 537

22.3.1 Request和Command 537

22.3.2 RootEditParts 541

22.3.3 EditPolicy和Role 542

22.3.4 图形视图(GraphicalViewer) 546

22.3.5 EditDomain和CommandStack 547

22.3.6 调色板(Palette)和工具(Tool) 550

22.3.7 行为(Action) 554

22.3.8 坐标系统与层次(Layer) 554

22.4 创建GEF应用 557

22.4.1 添加模型 559

22.4.2 添加视图 560

22.4.3 创建控制中心(EditPart) 561

22.4.4 创建编辑器(Editor) 564

22.4.5 添加调色板(palette) 567

22.4.6 添加连接线(Connections) 569

22.4.7 添加属性视图 572

22.4.8 添加大纲视图(Outline) 575

22.4.9 实现拖放功能(Drag and drop) 578

22.4.10 放大缩小(Zooming) 579

22.4.11 添加直接编辑功能 581

22.4.12 其他相关内容 583

22.5 本章小结 585

第四篇 综合实例 586

第23章 插件开发实例 586

23.1 需求分析与设计 587

23.1.1 需求整理 587

23.1.2 数据模型抽象 587

23.1.3 体系架构和插件结构 591

23.2 插件开发 594

23.2.1 插件rcpdev.thirdparty 594

23.2.2 插件rcpdev.common.core和rcpdev.common.ui 595

23.2.3 插件rcpdev.todo.core 602

23.2.4 插件rcpdev.todo.ui 604

23.2.5 插件rcpdev.todo.persistence 613

23.3 在RCP程序中重用插件 614

23.3.1 Contact插件介绍 615

23.3.2 查看器的排序 617

23.4 FAQ 622

23.5 本章小结 629

第24章 GEF实例 630

24.1 设计思路 631

24.2 创建项目 631

24.3 创建Editor 635

24.4 构建模型 639

24.5 构建控制器 640

24.6 创建Figure 644

24.7 交互处理 649

24.8 创建调色板 654

24.9 本章小结 656