- 浏览: 649165 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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 1064提高myeclipse的速度如下: 1、去除不需要加载的模块 ... -
远程调试java程序(转)
2012-02-26 09:44 1362JAVA的远程调试 基于Ja ... -
Eclipse 插件开发中获取相关路径的方法汇总
2011-12-27 14:33 6124如何获如何获取相关路径的方法(没有全部试过,仅供参考): 得 ... -
Eclipse插件开发:关于警告“Discouraged access: *****”(转)
2011-12-22 10:06 1671今天试着用eclipse jee的pagedesigne ... -
It is indirectly referenced from required .class错误
2011-12-21 16:56 1660在eclipse中遇到The type *** cannot ... -
如何获取Eclipse里view的id
2011-12-21 12:50 4358在制作eclipse插件的时候,时常需要对已经存在的视图做一些 ... -
关于如何配置GEF中的PALETTE
2011-12-20 14:24 1169关于如何配置GEF中的Palette参考Dengues源代码: ... -
The hierarchy of the type is inconsistent
2011-12-19 11:10 3296These errors happend because ... -
Eclipse plugin开发总结
2011-12-16 14:43 1315创建dynamic web project的第一个wiz ... -
Eclipse 源码下载地址
2011-12-16 10:09 908dev.eclipse.org -
开发视图插件(转)
2011-12-15 11:02 2375视图是工作台页面内的可视组件,通常用来浏览信息的层次结构 ... -
Eclipse plugin.xml 国际化
2011-12-13 11:11 11521、在Plugin.xml同目录下新建plugin ... -
简便更改Eclipse的Title标题/标题图标/启动画面/等
2011-12-12 16:19 7759实现步骤如下: 1、 ... -
GMF 所依赖的插件
2011-10-23 09:20 1295GMF是Eclipse的一个插件,如同其它插件一样,它首先需 ... -
Gef与MVC体系结构
2011-09-29 14:53 1118摘要: 本文首先介绍了标准的 MVC 体系构架,同时 ... -
25个最佳最闪亮的Eclipse开发项目
2011-08-30 09:32 1739Eclipse基金会发布了最新的Eclipse太阳神版本,囊括 ... -
Eclipse E4 的XWT -- 基于XML的Eclipse开发模式
2011-08-30 09:21 1310Eclipse E4 的下载地址 http:/ ...
相关推荐
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
它对Eclipse插件开发进行了全程详细指导,内容不仅包括Eclipse使用入门、Eclipse基础结构、SWT、JFace、操作、视图、透视图、标记、性质、构建器等插件开发必备知识,还介绍了实现帮助系统、国际化、创建扩展点、...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(P 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
本书主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细描述。本书既包含了开发Eclipse插件的基础理论,也...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...
第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...