- 浏览: 655742 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (170)
- Android (10)
- Java (35)
- PHP (3)
- Linux (3)
- Powerdesigner (2)
- dedcms (1)
- nginx (1)
- Flex (9)
- REST (2)
- Google App Engine (1)
- mysql (6)
- JAVA开源项目 (1)
- Eclipse (18)
- Eclipse Orion (1)
- Dojo (2)
- UML (1)
- Eclipse GEF EMF (4)
- Eclipse 插件开发 (6)
- OSGI (2)
- DeDeCMS (1)
- Maqetta (2)
- JavaScript (1)
- nginx php (1)
- Dojo V1.7 (2)
- Spring3 (4)
- Hibernate3 (4)
- MongoDB (3)
- Scala (2)
- DSL (1)
- Python (3)
- Maven (1)
- Tomcat (3)
- XMPP (2)
- Apache (4)
- NodeJS (1)
- SQLSERVER (2)
- HTML5 (1)
- Nexus (1)
- web服务器 (2)
- Jetty (2)
- weixin (1)
- ngrok (1)
- 网络与信息安全 (1)
最新评论
-
wangyudong:
配置有点晕,开源社区上找了一个开源的Holer,只需要设置Ac ...
用ngrok实现外网访问本地WEB项目的方法 -
lolo968:
你收集的资料没有链接
基于OSGI的框架开发小结(转) -
smartdog:
使用的maven的版本很老的,而且写的不是很清楚,建议可以参考 ...
Maven多项目依赖配置 -
Tom.X:
OSGi联盟官网:http://osgia.com
基于OSGI的框架开发小结(转) -
Miller003:
你好,我在本地测试时,删除catalina.jar和tomca ...
基于Tomcat7的HTML5 WebSocket 应用示例
开发透视图插件
Eclipse中的透视图(也称为视角)是一个比较有趣的概念,也非常有用。想象一下,Eclipse是一个插件的大拼图,在同一时间Eclipse如果实现了很多个视图,把这么多个视图同时展现给用户会是什么场景。因为大多的视图同时展现出来,布局一定会很乱,结果肯定是用户不会用Eclipse了。Eclipse中通过透视图来组织视图的显示,解决了视图显示的问题。
简介
如果把所有的视图都在同一时间展现给用户肯定是不行的,一方面,Eclipse在同一时间打开成千上万个视图的效率会很低(效率是Eclipse中的一个关注点),另一方面,如果在同一时间成千上万个视图堆在一块,肯定不美观(而且大多视图在某一时刻用户是不关心的)。
Eclipse通过透视图(也称为视角)很好地解决了这个问题。就如同一个物体,这个物体有很多个面,从一个视角只能看到几个面。Eclipse中同一个视角可以有若干个视图,用户可以通过视角扩展点建立自己的视角,在此视角中包含自己感兴趣的视图,那么当用户选择此视角时,Eclipse就会自动打开此视角中包含的视图(从这个角度说,笔者觉得视角这个词可能较为准确)。
可以通过“Window”→“Open perspectives”→“Other”打开选择透视图的对话框,如图1所示。
图1 选择透视图
在Eclipse中,用户能够扩展Eclipse的扩展点实现自己的透视图,也可以实现扩展点把自己的视图加入到其他的透视图中,后面将简单介绍如何通过这两个方法实现透视图。
提示:透视图只包含视图的引用,当选择了透视图后,此透视图会自动打开透视图中包含的视图引用。如果视图还未初始化,Eclipse会负责初始化此视图。一个透视图可以包含多个视图,一个视图也可以属于多个透视图。
扩展透视图
在Eclipse中,用户可以建立自己的透视图,把感兴趣的视图展现在自己的透视图中,也可以把自己的视图放在已经建立的透视图中。“org.eclipse.ui.perspectiveExtensions”为用户提供了把自己的视图放入相应透视图的扩展。
例如用户有这样的场景:当切换Eclipse的Resource透视图后要显示用户的视图,如图2所示。
图2 Resource透视图
当切换到Resource透视图后,Eclipse会自动把“Sample View”视图放在相应的位置。这就要求实现“org.eclipse.ui.perspectiveExtensions”扩展点。
“org.eclipse.ui.perspectiveExtensions”扩展点没有实现类,此扩展点只是作为一个描述,告诉Eclipse怎样对Eclipse中的相应透视图进行布局。此扩展点有几个比较重要的描述信息:一是目标透视图的ID号,表示要对哪一个透视图的布局进行重定义;还要指定视图的ID,表示把哪一个视图的引用放入目标透视图;另外要指定视图在透视图中的相应位置。
建立一个“org.eclipse.ui.perspectiveExtensions”扩展的步骤如下。
1. 在Extensions页中添加一个“org.eclipse.ui.perspectiveExtensions”的扩展。
2. 在“org.eclipse.ui.perspectiveExtensions”节点中添加一个“perspectiveExtension”节点,并指定它的targetID属性为“org.eclipse.ui.resourcePerspective”(表示Resource透视图的ID),如图3所示。
图3 目标透视图
3. 在“perspectiveExtension”节点下建立一个view节点,并设置好view节点的属性,通过这些属性可以设置指定视图在指定透视图中的位置,如图4所示。
图4 视图节点属性
视图节点属性解释如下。
id:表示放入目标透视图的视图ID号。
relative:相关视图的ID号(即和哪一个视图放在同一个区域)。
relationship:放在区域的什么位置。
ratio:视图在区域中的百分比。
visible:如果视图没有被初始化,第一次打开透视图是否初始化此视图并显示。
closeable:视图是否可关闭。
moveable:视图是否可移动。
standalone:是否是孤立的视图(即视图是否可以和其他视图放在一起)。
showtitle:是否显示标题。
“perspectiveExtension”扩展点相当于起到把透视图和视图ID绑定的作用,这样,Eclipse会通过透视图找到视图的引用。这种手法在Eclipse中是比较常见的。本例源程序可参考本书附带光盘,扩展点定义文件如例程1所示。
例程1 plugin.xml
<plugin>
…
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="org.eclipse.ui.resourcePerspective">
<view
closeable="false"
id="com.free.proj.persperctivetest.views.SampleView"
moveable="false"
ratio="0.5"
relationship="right"
relative="org.eclipse.ui.views.TaskList"
visible="false">
</view>
</perspectiveExtension>
</extension>
…
</plugin>
提示:用户不但可以把视图放到相应的透视图,也可以把“ActionSet”之类的扩展放入相应的透视图。
实现透视图
上面介绍了如何把自己的视图放入已有的透视图中,但是用户如果想建立自己的透视图应该如何实现呢?这就要求用户实现“org.eclipse.ui.perspectives”扩展点,步骤如下。
1. 在清单文件的Extensions页添加“org.eclipse.ui.perspectives”节点。
2. 在“org.eclipse.ui.perspectives”节点建立perspective节点,并设置相应的属性,如图5所示。
图5 perspertive节点属性
perspertive节点属性解释如下。
id:透视图的ID号。
name:透视图的名称。
class:透视图扩展点的实现类。
icon:透视图的图标。
透视图扩展点的描述信息如下。
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="com.free.proj.persperctivetest.PerspectiveFactory"
id="com.free.proj.persperctivetest.perspective"
name="persperctive test"/>
</extension>
在此透视图中,实现类为“PerspectiveFactory”。透视图的实现类要求实现“IPerspectiveFactory”接口,通过createInitialLayout(IPageLayout layout)方法实现透视图中视图的布局。用户可以通过layout参数添加视图到当前的透视图中,如例程2所示,添加了一个ID为“com.free.proj. persperctivetest.views.SampleView”的视图到当前透视图。
例程2 PerspectiveFactory.java
package com.free.proj.persperctivetest;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
public class PerspectiveFactory implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {
layout.setFixed(true);
layout.addView("com.free.proj.persperctivetest.views.SampleView",
IPageLayout.LEFT, 0.5f,
IPageLayout.ID_PROBLEM_VIEW);
layout.setEditorAreaVisible(true);
}}
IPageLayout的addView方法定义为“public void addView(String viewId, int relationship, float ratio, String refId);”,参数解释如下。
viewId:被添加到透视图中的视图ID号。
relationship:放在区域的什么位置。
ratio:视图在区域中的百分比。
refId:相关视图的ID号(即和哪一个视图放在同一个区域)。
打开选择透视图的对话框,可以看到“persperctive test”透视图,选择“persperctive test”透视图,如图6所示。
图6 “persperctive test”透视图
上例创建了用户自定义的透视图,在透视图中只添加了一个视图,如果在一些比较大的项目中,可能还会用到很多的视图,以及Eclipse原有的视图。用户也可以把这些视图添加到自定义的透视图中,只需要知道这些视图的ID即可。
发表评论
-
如何提高myeclipse的速度
2012-04-21 20:53 1099提高myeclipse的速度如下: 1、去除不需要加载的模块 ... -
远程调试java程序(转)
2012-02-26 09:44 1389JAVA的远程调试 基于Ja ... -
Eclipse 插件开发中获取相关路径的方法汇总
2011-12-27 14:33 6153如何获如何获取相关路径的方法(没有全部试过,仅供参考): 得 ... -
Eclipse插件开发:关于警告“Discouraged access: *****”(转)
2011-12-22 10:06 1696今天试着用eclipse jee的pagedesigne ... -
It is indirectly referenced from required .class错误
2011-12-21 16:56 1683在eclipse中遇到The type *** cannot ... -
如何获取Eclipse里view的id
2011-12-21 12:50 4398在制作eclipse插件的时候,时常需要对已经存在的视图做一些 ... -
关于如何配置GEF中的PALETTE
2011-12-20 14:24 1195关于如何配置GEF中的Palette参考Dengues源代码: ... -
The hierarchy of the type is inconsistent
2011-12-19 11:10 3324These errors happend because ... -
Eclipse plugin开发总结
2011-12-16 14:43 1350创建dynamic web project的第一个wiz ... -
Eclipse 源码下载地址
2011-12-16 10:09 950dev.eclipse.org -
开发视图插件(转)
2011-12-15 11:02 2409视图是工作台页面内的可视组件,通常用来浏览信息的层次结构 ... -
Eclipse plugin.xml 国际化
2011-12-13 11:11 11891、在Plugin.xml同目录下新建plugin ... -
简便更改Eclipse的Title标题/标题图标/启动画面/等
2011-12-12 16:19 7801实现步骤如下: 1、 ... -
GMF 所依赖的插件
2011-10-23 09:20 1325GMF是Eclipse的一个插件,如同其它插件一样,它首先需 ... -
Gef与MVC体系结构
2011-09-29 14:53 1150摘要: 本文首先介绍了标准的 MVC 体系构架,同时 ... -
25个最佳最闪亮的Eclipse开发项目
2011-08-30 09:32 1782Eclipse基金会发布了最新的Eclipse太阳神版本,囊括 ... -
Eclipse E4 的XWT -- 基于XML的Eclipse开发模式
2011-08-30 09:21 1344Eclipse E4 的下载地址 http:/ ...
相关推荐
在Eclipse插件开发中,我们可以通过监听`IPerspectiveListener`接口来获取透视图切换的事件。这个接口定义了两个方法:`perspectiveChanged`和`perspectiveActivated`。`perspectiveChanged`方法在透视图被修改但未...
开发插件时,可以创建新的透视图以适应特定的工作流程。 8. **视图(Views)**:视图是Eclipse UI中的组件,用于显示信息或提供交互功能。通过自定义视图,开发者可以为用户提供独特的查看和操作数据的方式。 9. *...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
为了扩展工作台,开发者需要了解如何创建自己的编辑器,如何添加自定义视图以及如何设计透视图来组织这些界面元素。在这些工作中,插件开发人员需与Eclipse模型层进行交互,通过操作模型来反映用户界面的变化。 ...
5. Plugin.xml:定义插件的视图、透视图、命令、菜单和工具栏等UI元素。 第二篇:实践篇 这一部分将通过实例教你如何实际开发Eclipse插件: 1. 创建第一个插件:从简单的“Hello, World”插件开始,了解插件开发的...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
开发者可以创建新的插件,或者扩展已有的插件,以添加新的编辑器、视图、透视图、操作或其他功能。插件开发的基础是理解Eclipse的插件模型,包括插件的生命周期、依赖关系以及插件间的服务发现和交互。 Eclipse插件...
开发者可以通过编写插件来扩展Eclipse的功能,实现自定义的工作台视图、编辑器、透视图等。书中详细讲解了Eclipse插件的生命周期、插件结构、插件依赖关系以及如何使用Eclipse的Plug-in Development Environment ...
在插件开发中,创建一个专用的透视图可以提供更好的用户体验。具体步骤如下: 1. 准备工作:复制所需的图标资源到插件项目中。 2. 修改`plugin.xml`:添加透视图扩展点,定义透视图的名称、图标、对应的类和唯一ID...
它对Eclipse插件开发进行了全程详细指导,内容不仅包括Eclipse使用入门、Eclipse基础结构、SWT、JFace、操作、视图、透视图、标记、性质、构建器等插件开发必备知识,还介绍了实现帮助系统、国际化、创建扩展点、...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
3. 在运行时工作台启动插件,通过菜单或透视图添加视图,查看结果。 七、Eclipse插件开发文档资源 提供的文档和资料可以帮助开发者深入理解Eclipse插件开发: 1. "eclipse插件开发.doc":可能包含了详细的步骤指南...
4. **透视图(Perspectives)、视图(Views)、编辑器(Editors)和操作(Actions)**:这些是Eclipse插件开发中的基本元素,它们构成了用户界面的主要部分。学习如何创建和定制这些组件以提供特定功能。 5. **调试...
常见的扩展点包括视图(Views)、编辑器(Editors)、操作(Actions)、菜单(Menus)、对话框和向导(Dialogs & Wizards)、透视图(Perspectives)、首选项(Preferences)等,这些扩展点覆盖了Eclipse中的几乎...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
在选择代码生成向导的选项时,可以选择添加动作集到资源透视图,以便在 Eclipse 中更方便地访问插件功能。 一旦插件创建完毕,可以在运行时工作台中启动和调试它,以测试其功能。调试插件通常涉及到设置断点、运行...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
本书主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细描述。本书既包含了开发Eclipse插件的基础理论,也...
3. 实现功能:编写Java代码,定义插件的功能组件,如视图、透视图、编辑器、命令等。 4. 测试插件:使用Eclipse的运行配置,选择“Plug-in Debugging”模式启动一个新的Eclipse实例,测试插件功能。 四、Eclipse...
5. **透视图(Perspectives)**:Eclipse的透视图定义了工作区的布局,比如Java透视图专注于Java开发,而Debug透视图则用于调试。 6. **视图(Views)**:自定义视图可以展示特定的信息,如日志、项目依赖关系等,...