RCP for eclipse3.4

### Eclipse RCP (Rich Client Platform) for Eclipse 3.4 #### 1. Rich Client Platform ##### 1.1. Overview Eclipse RCP (Rich Client Platform) 是一个基于 Eclipse 平台的应用程序开发框架。它允许开发者利用 Eclipse 的架构来设计灵活且可扩展的应用程序,重用大量现有的功能和编码模式。Eclipse RCP 不仅仅是一个 IDE(集成开发环境),而是一个完整的应用程序平台,支持插件架构、动态加载和卸载组件。 ##### 1.2. Eclipse RCP 架构:插件、扩展与扩展点 Eclipse RCP 基于插件架构构建。每个插件都是一个独立的模块,可以包含代码、资源以及与其他插件交互的元数据。这些插件通过定义扩展点(extension points)来互相通信。扩展点是其他插件可以插入自己的扩展(extensions)的地方。例如,菜单栏是一个扩展点,不同的插件可以通过贡献菜单项来扩展它。 ##### 1.3. 应用程序与产品 在 Eclipse RCP 中,“应用程序”通常指的是构成最终用户界面的组件集合,包括视图、编辑器和菜单等。“产品”则指最终打包发布的产品,包含了所有必要的插件和配置信息。产品可以有多个启动模式,并且可以定制品牌标识等。 ##### 1.4. 重要文件 - **MANIFEST.MF**:插件清单文件,包含了插件的基本信息和依赖。 - **plugin.xml**:定义了插件提供的功能,如扩展点和扩展。 - **plugins.ini**:指定哪些插件应该被加载。 - **product.ini**:定义产品的启动参数。 #### 2. 安装 安装 Eclipse RCP 需要先下载 Eclipse SDK,确保安装的是 Eclipse 3.4(Ganymede)版本。可以通过 Eclipse 官方网站获取安装包。安装完成后,需要配置 Eclipse 以支持 RCP 开发,这通常涉及到安装额外的插件或更新站点。 #### 3. 创建你的第一个 RCP 应用程序 ##### 3.1. 创建 RCP 应用程序 在 Eclipse 中选择“File” > “New” > “Other…” > “Plug-in Development” > “RCP Application”。按照向导填写必要的信息,如应用程序名称和 ID。 ##### 3.2. 插件 ID 在应用中的作用 插件 ID 是 Eclipse 中用于唯一标识插件的字符串。在创建 RCP 应用程序时,需要为应用程序定义一个插件 ID。这个 ID 将被用于标识应用本身及其相关的插件。 ##### 3.3. 启动你的 RCP 应用程序 创建完 RCP 应用后,可以在 Eclipse 中通过“Run” > “Run As” > “Eclipse Application”来启动它。首次运行可能会提示安装缺失的插件。 #### 4. 启动配置 为了更好地控制 RCP 应用的启动方式,可以设置启动配置。这包括定义主类、VM 参数等。可以通过“Run” > “Run Configurations…”来管理这些配置。 #### 5. 命令 ##### 5.1. 概览 命令是 Eclipse RCP 中的核心概念之一,它提供了一种机制来处理用户界面中的动作。通过定义命令,可以更方便地管理菜单项、工具栏按钮等。 ##### 5.2. 定义命令 在插件的 `plugin.xml` 文件中,可以通过 `<command>` 元素定义命令。每个命令都有一个唯一的 ID 和描述。 ##### 5.3. 使用命令在菜单中 一旦定义了命令,就可以在菜单中添加它。这通常是在 `plugin.xml` 中通过 `<menuContribution>` 元素完成的。 ##### 5.4. 添加快捷键 可以通过 `<keyBinding>` 元素为命令添加快捷键。这使得用户可以通过键盘触发命令,提高了操作效率。 ##### 5.5. 使用 Eclipse 标准命令 Eclipse 提供了一系列标准命令,如新建、打开、保存等。这些命令已经定义好,可以直接在菜单或工具栏中使用。 ##### 5.6. 从按钮调用命令 除了菜单和工具栏外,还可以通过按钮来调用命令。这可以通过绑定命令到 SWT 或 JFace 控件实现。 #### 6. 工具栏中的命令 ##### 6.1. 概览 工具栏是用户界面的重要组成部分,通常包含常用的命令和功能。在 Eclipse RCP 中,可以通过定义命令并将其贡献到工具栏来实现。 ##### 6.2. 向应用程序工具栏(CoolBar)贡献 可以通过 `<toolbarContribution>` 元素将命令贡献到 CoolBar。CoolBar 是 Eclipse 中的一种特殊工具栏,支持可折叠的功能区。 ##### 6.3. 向视图工具栏贡献 视图工具栏通常是与特定视图关联的工具栏。可以通过 `<view>` 元素下的 `<toolbarContribution>` 来定义。 ##### 6.4. 工具栏中的下拉列表 在某些情况下,可能需要在工具栏中提供更多的选项。可以通过 `<dropdownContribution>` 元素添加下拉列表。 #### 7. 上下文菜单中的命令 ##### 7.1. 上下文菜单 上下文菜单是在用户界面元素上右击时出现的菜单。在 Eclipse RCP 中,可以通过 `<contextMenuContribution>` 元素定义上下文菜单。 ##### 7.2. 可用性和可见性 上下文菜单中的命令可以根据特定条件启用或隐藏。这可以通过 `<when>` 元素来实现。 #### 8. 使用 Actions(菜单和工具栏) ##### 8.1. 概览 在 Eclipse RCP 中,Actions 是一种实现用户界面交互的传统方法。尽管命令机制更为现代,但 Actions 仍然广泛使用。 ##### 8.2. 通过编码添加菜单/工具栏条目 可以通过编程方式添加菜单项或工具栏按钮。这通常涉及创建 Action 对象并将它们添加到相应的容器中。 ##### 8.3. 通过扩展添加菜单/工具栏条目 也可以通过在 `plugin.xml` 中定义 `<extension>` 元素来贡献菜单项或工具栏按钮。 #### 9. 系统托盘 系统托盘(System Tray)是操作系统的一部分,可以显示最小化到托盘的应用程序图标。在 Eclipse RCP 中,可以通过贡献到系统托盘来使应用程序能够在后台运行。 #### 10. 视图 ##### 10.1. 向应用添加视图 视图是 Eclipse RCP 中的主要组件之一,提供了用户界面的一部分功能。可以通过创建视图插件并向工作台贡献视图来实现。 ##### 10.2. 使用模板添加视图 Eclipse RCP 提供了一些模板来简化视图的创建过程。这些模板可以帮助快速设置基本的视图结构。 #### 11. 编辑器、视图交互与模型更新 ##### 11.1. 概览 在 Eclipse RCP 应用程序中,编辑器和视图通常是紧密集成的。编辑器用于展示和编辑数据,而视图则提供辅助信息或控制功能。模型更新是应用程序响应用户操作时的重要部分。 本文档概述了 Eclipse RCP 的核心概念和技术要点,旨在帮助开发者快速入门 Eclipse RCP。通过实践这些知识点,可以构建出具有丰富功能和良好用户体验的应用程序。




















剩余69页未读,继续阅读

- 屎蛋222020-05-24可以正常使用哦

- 粉丝: 1
- 资源: 21
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Comsol压电相控阵的三维高精度聚焦探头的设计与应用研究,comsol压电相控阵三维聚焦技术及其在频域模型的实现与内存优化探讨,comsol压电相控阵三维聚焦探头 此为频域模型,利用压电片pzt
- 5.拼图游戏2024-06-29-121234.wmv
- ECharts仪表盘-仪表盘2.zip
- mybatis别名扫描
- 模拟电子技术中从低通到带阻滤波器转换算法的应用与设计
- 基于自适应粒子群优化的分布式电源IEEE33节点系统无功出力优化策略,以网损和电压偏移为目标函数,基于自适应粒子群优化的分布式电源IEEE33节点系统无功出力优化策略,以网损和电压偏移为目标函数,基于
- deepseek论文、应用实例和分析报告以及应用
- Python编程技巧与常用设计模式详解-掌握核心面试考点
- Airsim UAV巡航自动无碰撞源码实现方案与关键技术研究报告(针对DL00403项目),DL00403源码解析:Airsim仿真自动UAV巡航无碰撞路径规划与实现,DL00403-Airsim仿真
- 基于粒子群算法的配电网经济调度优化模型-融合风光、储能与多目标成本考量,基于粒子群算法的配电网经济调度优化模型-融合风光、储能与热力机组 采用IEEE33节点系统求解,目标实现运行成本与环境成本最
- 滤波器设计领域的Sallen-Key高通滤波器转换算法及应用
- 基于PSO-LSSVM-Adaboost算法的MISO回归预测模型:多指标评价的便捷学习与替换数据方法,基于PSO-LSSVM-Adaboost算法的MISO回归预测模型:以R2、MAE、MSE、RM
- 随机森林算法在特征选择与重要性排序中的应用及降维技术探讨,随机森林降维技术在特征选择中的重要性排序策略,随机森林降维 特征选择 重要性排序 ,随机森林降维; 特征选择; 重要性排序,随机森林降维技术:
- Abaqus批量建立非线性弹簧及多种弹簧在轨道交通车轨耦合模型中的应用,Abaqus批量建立非线性弹簧及多种弹簧在轨道交通车轨耦合模型中的应用,abaqus批量建立非线性弹簧,轨道弹簧施加;土弹簧,接
- 模拟电子学中多反馈带通滤波器的设计与实现
- 气压传感器硬件IIC、HAL库配置的例程


