Eclipse RCP开发入门教程:从零开始构建弹性质地应用

需积分: 10 1 下载量 5 浏览量 更新于2024-07-28 收藏 3.33MB PDF 举报
本篇教程是关于Eclipse Rich Client Platform (RCP) 插件开发的全面指南,适合零基础的学习者逐步掌握RCP编程。作者通过Eclipse 3.6版本,提供了详细的步骤和实例,确保每章内容都可以独立学习,且所有的示例代码可以直接运行,方便开发者参考。教程内容包括: 1. Eclipse RCP概述:介绍RCP的基本概念,它如何利用Eclipse的架构风格来构建灵活且可扩展的应用程序,强调其可重用性和效率。 2. RCP与插件的关系:解释RCP中的核心组件——插件、扩展和扩展点,这些是构建RCP应用的基本单元,它们之间如何协同工作。 3. 创建第一个RCP程序:从头开始,学习如何创建一个简单的RCP项目,涉及创建项目、配置启动流程和理解程序与产品之间的区别。 4. 菜单和工具栏的构建:深入探讨如何设计和实现用户界面元素,如菜单和工具栏,提高用户体验。 5. 查看、编辑和对话框的使用:介绍如何在RCP中处理数据展示、编辑和交互式对话功能。 6. 外部JAR的集成:讲解如何在RCP项目中引入和使用外部库或组件,扩展应用的功能。 7. 添加标志和帮助:说明如何为RCP应用程序添加标识符(如产品ID)以及集成帮助文档,确保产品的完整性和易用性。 每个章节都独立成篇,适合读者按部就班地学习。教程强调版权归属,要求在引用或转发时注明作者信息,体现了开源和分享的精神。此外,作者还提醒读者注意版本更新,并提供了教程发布的网站和博客链接,便于进一步交流和获取帮助。这是一份详尽的RCP插件开发教程,对想要进入这个领域的开发者来说是一份宝贵的资源。
2011-05-15 上传
Eclipse Rich Client Application 开发自学教程 For The Eclipser salever 2011-3-28 根据最新版本的Eclipse 3.6 重新编写,每章都可独立于其他章节,内附的代码均可直接运行, 适合Eclipse 开发者参考。 声明 本教程素材来源于网络,经过本人的整理、添加以及部分的重写,将原有的 Eclipse3.3 版本的 一些内容完全迁移到 Eclipse3.6 版本上来。基于开源以及分享的精神,特地将教程分享到网络上, 希望所有需要的朋友因此而受益,也希望大家能有版本意识,转载时注明来自 salever@126.com。 之前有一套基于 Eclipse3.3 版本的教程,也是本人整理,由于本人的疏忽,导致网络上的版本 各不相同,但分享已久,无法改变,希望大家谅解并使用新版本的教程。 本教程由本人发布在 www.ceclipse.org 以及本人的 blog 中,希望对大家有所帮助,也希望各位 喜欢分享的朋友在转载时注明,谢谢。 序 Eclipse RCP 允许开发者使用 eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中 已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP 入手可能会比较困难、费时。接下 来我们将主要讲述如何让RCP 工作. 基于 Eclipse 3.6。 将涉及以下内容:创建第一个 RCP 程序,创建菜单和工具栏,查看,编辑,对话,外部 JAR 的用法,向一个 RCP应用程序产品中添加标志和帮助。 每一章都基本独立于其他章节。 目录 1 富客户端平台 ...................................................................................................................................... 9 1.1 概述 ............................................................................................................................................... 9 1.2 ECLIPSE RCP 建设风格——插件,扩展和扩展点 ..................................................................... 9 1.3 RCP与PLUGIN ................................................................................................................................ 9 2 创建第一个RCP程序 ........................................................................................................................ 11 2.1 创建一个RCP程序 ...................................................................................................................... 11 2.2 启动RCP程序 .............................................................................................................................. 15 2.3 程序VS 产品 .............................................................................................................................. 17 2.4 维护LAUNCH配置 ....................................................................................................................... 17 2.5 可能的APPLICATION ID 错误: .................................................................................................. 20 2.6 应用程序的PLUGIN ID ................................................................................................................ 21 3 ACTIONS的用法(菜单栏和工具栏) ............................................................................................ 22 3.1 概述 ............................................................................................................................................. 22 3.2 通过编码添加 ............................................................................................................................. 22 3.3 “扩展”方式添加菜单和工具栏 .................................................................................................. 25 3.4 添加全局快捷键 ......................................................................................................................... 31 3.4.1 Command+Handler+Binding 绑定 ...................................................................................... 31 3.4.2 Action+Command+Binding绑定 .......................................................................................... 33 4 系统托盘 ............................................................................................................................................ 37 5 视图 .................................................................................................................................................... 42 5.1 添加示例视图 ............................................................................................................................. 42 5.2 添加自定义视图 ......................................................................................................................... 47 5.3 向VIEW里添加ACTION ................................................................................................................ 52RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 5 - 6 编辑器 ................................................................................................................................................ 58 6.1 概述 ............................................................................................................................................. 58 6.2 创建工程 ..................................................................................................................................... 58 6.3 添加编辑器 ................................................................................................................................. 59 6.4 调用编辑器 ................................................................................................................................. 67 6.5 实例:文本编辑器实现 ............................................................................................................. 68 6.5.1 新建工程 .............................................................................................................................. 68 6.5.2 添加菜单栏和工具栏 .......................................................................................................... 70 6.5.3 添加编辑器 .......................................................................................................................... 75 7 对话框 ................................................................................................................................................ 86 7.1 概述 ............................................................................................................................................. 86 7.2 预定义的对话框 ......................................................................................................................... 87 7.2.1 概述 ...................................................................................................................................... 87 7.2.2 创建工程 .............................................................................................................................. 87 7.2.3 添加菜单 .............................................................................................................................. 87 7.2.4 调用对话框 .......................................................................................................................... 87 7.3 用户自定义对话框 ..................................................................................................................... 89 7.3.1 概述 ...................................................................................................................................... 89 7.3.2 创建SWT/JFace工程 ........................................................................................................... 89 7.3.3 自定义Dialog ....................................................................................................................... 91 7.3.4 说明 ...................................................................................................................................... 97 8 向导 .................................................................................................................................................... 98 8.1 概述 ............................................................................................................................................. 98 8.2 示例 ............................................................................................................................................. 98 9 首选项 .............................................................................................................................................. 106RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 6 - 9.1 首选项 ....................................................................................................................................... 106 9.2 使用首选项 ............................................................................................................................... 106 9.3 首选项页 ................................................................................................................................... 112 10 添加状态栏 .................................................................................................................................... 117 10.1 简介 ......................................................................................................................................... 117 10.2 安装状态栏 ............................................................................................................................. 117 10.3 初始化状态条 ......................................................................................................................... 118 10.4 控制状态栏 ............................................................................................................................. 120 11 透视图 ............................................................................................................................................ 123 11.1 简介 ......................................................................................................................................... 123 11.2 添加透视图 ............................................................................................................................. 123 11.3 显示透视图工具栏 ................................................................................................................. 128 11.4 显示透视图菜单 ..................................................................................................................... 130 12 进度条 ............................................................................................................................................ 133 12.1 简介 ......................................................................................................................................... 133 12.2 进度条对话框 ......................................................................................................................... 133 12.3 JOB进度条 ................................................................................................................................ 135 13 使用第三方JAR ............................................................................................................................. 140 13.1 概述 ......................................................................................................................................... 140 13.2 向构建路径中添加JAR ........................................................................................................... 140 13.3 使JAR在你的运行路径里有效 ................................................................................................ 141 14 提示和策略 .................................................................................................................................... 143 14.1 控制台日志 ............................................................................................................................. 143 14.2 保存用户的布局 ..................................................................................................................... 145RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 7 - 14.3 获得DISPLAY ............................................................................................................................ 146 14.4 使用ECLIPSE的“保存”ACTION ................................................................................................. 146 14.5 向你的程序添加错误日志视图 ............................................................................................. 146 15 产品 ................................................................................................................................................ 149 15.1 概述 ......................................................................................................................................... 149 15.2 PRODUCT配置文件 ................................................................................................................... 149 15.3 测试你的产品 ......................................................................................................................... 153 15.4 欢迎页面 ................................................................................................................................. 153 15.5 商标 ......................................................................................................................................... 154 15.6 风格化LAUNCHING .................................................................................................................. 155 15.7 发布你的产品 ......................................................................................................................... 156 15.8 创建一个帮助插件工程 ......................................................................................................... 159 16 专题一 ECLIPSE的版本和发行包 .............................................................................................. 164 16.1 版本 VERSION ......................................................................................................................... 164 16.1.1 版本的理解 ...................................................................................................................... 164 16.1.2 Eclipse的版本 ................................................................................................................... 164 16.1.3 版本的选择和下载 .......................................................................................................... 164 16.2 发行包 EDITION ...................................................................................................................... 166 16.2.1 发行包的理解 .................................................................................................................. 166 16.2.2 Eclipse的发行包 ............................................................................................................... 166 17 专题二 ECLIPSE的国际化与语言包 .......................................................................................... 169 17.1 国际化 ..................................................................................................................................... 169 17.1.1 Externalize Strings ............................................................................................................ 169 17.1.2 中文属性文件 .................................................................................................................. 175 17.1.3 国际化文件 ...................................................................................................................... 176 17.1.4 指定语言环境 .................................................................................................................. 176RCP/Plug-in开发自学教程 版权所有 转载请注明salever@126.com - 8 - 17.1.5 Propedit工具 ..................................................................................................................... 177 17.2 语言包 ..................................................................................................................................... 177 17.2.1 Babel小组 ......................................................................................................................... 177 17.2.2 中文语言包的下载 .......................................................................................................... 178 18 专题三 DECORATOR与MARKER的使用 ................................................................................. 180 18.1 简介 ......................................................................................................................................... 180 18.2 扩展DECORATOR ...................................................................................................................... 180 18.3 扩展MARKER ........................................................................................................................... 184 19 专题四 RUN/DEBUG LAUNCHER实现 .................................................................................... 190 19.1 ECLIPSE RUN/DEBUG 实现流程 ............................................................................................... 190 19.2 扩展CONFIGURATIONTYPE ....................................................................................................... 192 19.3 扩展ILAUNCHSHORTCUT ......................................................................................................... 194 19.4 创建RUN/DEBUG CONFIGURATION界面 .................................................................................. 197 19.5 指定RUN/DEBUG显示图片 ..................................................................................................... 204 19.6 说明 ......................................................................................................................................... 205 20 专题五 EQUINOX P2 方式实现RCP自动更新 ......................................................................... 207 20.1 概述 ......................................................................................................................................... 207 20.2 示例 ......................................................................................................................................... 207 20.2.1 Feature概念 ....................................................................................................................... 207 20.2.2 配置Product ..................................................................................................................... 210 20.2.3 配置Feature ...................................................................................................................... 211 20.2.4 product导出 ...................................................................................................................... 213 20.2.5 配置Equinox P2 ............................................................................................................... 214 20.2.6 配置 Update Site ............................................................................................................. 215 21 专题六 COMMON NAVIGATOR FRAMEWORK初探 ............................................................. 216

给出下列代码在OpenCL中的运行结果:#include "stdio.h" #include <xmmintrin.h> // Need this for SSE compiler intrinsics #include <math.h> // Needed for sqrt in CPU-only version #include <time.h> int main(int argc, char* argv[]) { printf("Starting calculation...\n"); const int length = 64000; // We will be calculating Y = SQRT(x) / x, for x = 1->64000 // If you do not properly align your data for SSE instructions, you may take a huge performance hit. float *pResult = (float*) _aligned_malloc(length * sizeof(float), 16); // align to 16-byte for SSE __m128 x; __m128 xDelta = _mm_set1_ps(4.0f); // Set the xDelta to (4,4,4,4) __m128 *pResultSSE = (__m128*) pResult; const int SSELength = length / 4; clock_t clock1=clock(); #define TIME_SSE // Define this if you want to run with SSE #ifdef TIME_SSE // lots of stress loops so we can easily use a stopwatch for (int stress = 0; stress < 1000; stress++) { // Set the initial values of x to (4,3,2,1) x = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f); for (int i=0; i < SSELength; i++) { __m128 xSqrt = _mm_sqrt_ps(x); // Note! Division is slow. It's actually faster to take the reciprocal of a number and multiply // Also note that Division is more accurate than taking the reciprocal and multiplying #define USE_DIVISION_METHOD #ifdef USE_FAST_METHOD __m128 xRecip = _mm_rcp_ps(x); pResultSSE[i] = _mm_mul_ps(xRecip, xSqrt); #endif //USE_FAST_METHOD #ifdef USE_DIVISION_METHOD pResultSSE[i] = _mm_div_ps(xSqrt, x); #endif // USE_DIVISION_METHOD // Advance x to the next set of numbers x = _mm_add_ps(x, xDelta); } } clock_t clock2=clock(); printf("SIMDtime:%d ms\n",1000*(clock2-clock1)/CLOCKS_PER_SEC); #endif // TIME_SSE #define TIME_NoSSE #ifdef TIME_NoSSE clock_t clock3=clock(); // lots of stress loops so we can easily use a stopwatch for (int stress = 0; stress < 1000; stress++) { clock_t clock3=clock(); float xFloat = 1.0f; for (int i=0 ; i < length; i++) { // Even though division is slow, there are no intrinsic functions like there are in SSE pResult[i] = sqrt(xFloat) / xFloat; xFloat += 1.0f; } } clock_t clock4=clock(); printf("noSIMDtime:%d ms\n",1000*(clock4-clock3)/CLOCKS_PER_SEC); #endif // TIME_noSSE return 0; }   

2023-06-12 上传