- 浏览: 1180523 次
- 性别:
- 来自: 成都
最新评论
-
see1di:
你的這個function只能支持IE
js格式化显示xml -
away5678:
强烈推荐你学习ibatis,易学,灵活,易查错,效率高,以上都 ...
ibatis的点点心得 -
liuwei8728:
恩 说的也有道理
ibatis没学过 hibernate ...
ibatis的点点心得
扩展 org.eclipse.ui.views 来创建 view
向导创建的ContactsView继承ViewPart抽象类,代码如下:
public ContactsView() {
}
@Override
public void createPartControl(Composite parent) {
//接口方法,用于创建View内容。
}
@Override
public void setFocus() {
//接口方法,View获得焦点时,由workbench调用。
}
将view添加到perspective
RCP程序都至少包含一个Perspective,IWorkbenchWindow包含一个Page,Page使用当前激活的Perspective来布局Views和Editors:
修改org.eclipsercp.hyperbola/Perspective.java
public void createInitialLayout(IPageLayout layout) {
layout.setEditorAreaVisible(false);
//将ContactsView放在默认Editor区域的左侧,所占区域比例为100%
//比例的范围是0.0f(只显示title bar)到1.0f(占用整个窗口)
layout.addView(ContactsView.ID, IPageLayout.LEFT,
1.0f, layout.getEditorArea());
}
其中ContactsView.ID是在ContactsView自定义的静态常量,定义了plugin.xml中ContactsView的id:
public static final String ID = "org.eclipsercp.hyperbola.views.contacts";
IPageLayout .addView方法添加的View显示一个标题栏,可以进行移动、关闭、最大化、最小化等操作。运行效果如下:
如果不想显示标题栏,可以使用IPageLayout .addStandaloneView。
layout.addStandaloneView(ContactsView.ID, false, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
运行效果如下:
关于 perspective 的更多描述可参考:
http://hi.baidu.com/monkeyhoop/blog/item/e20273e6d2b4c828b8382038.html
打开同一个 view 的多个实例
设置 view 的 enableMultiple 属性为 true
<extension
point="org.eclipse.ui.views">
<view
allowMultiple="true"
class="org.eclipsercp.hyperbola.ContactsView"
icon="icons/groups.gif"
id="org.eclipsercp.hyperbola.views.contacts"
name="Contacts"/>
</extension>
修改 addView() 的 ID 属性为如下格式 primary-id:secondary-id ,并保证 secondary-id 在 perspective 中是唯一的:
org.eclipsercp.hyperbola/Perspective
public void createInitialLayout(IPageLayout layout) {
layout.addStandaloneView(ContactsView.ID + ":1", false,
IPageLayout.LEFT, 0.33f, layout.getEditorArea());
layout.addView(ContactsView.ID + ":2",
IPageLayout.BOTTOM, 0.70f, layout.getEditorArea());
layout.addView(ContactsView.ID + ":3",
IPageLayout.BOTTOM, 0.70f, layout.getEditorArea());
}
打开 view
org.eclipsercp.hyperbola/OpenViewAction
public class OpenViewAction extends Action {
private final IWorkbenchWindow window;
private int instanceNum;
private final String viewId;
public OpenViewAction(IWorkbenchWindow window, String viewId) {
this.window = window;
this.viewId = viewId;
}
public void run() {
try {
window.getActivePage().showView(viewId,
Integer.toString(instanceNum), IWorkbenchPage.VIEW_ACTIVATE);
instanceNum++;
} catch (PartInitException e) {
// handle exception
}
}
}
使用 Sticky View
这种 view 在多个 perspective 中保持相同的打开位置,与 editor 类似,其在同于 workbench window 中的多个不同 perspective 中是共享同一个实例的,perspective 切换时不会影响其显示。
org.eclipsercp.hyperbola/plugin.xml
<extension point="org.eclipse.ui.views">
<view
class="org.eclipsercp.hyperbola.ContactsView"
icon="icons/groups.gif"
id="org.eclipsercp.hyperbola.views.contacts"
name="Contacts"/>
<stickyView
closeable="false"
id="org.eclipsercp.hyperbola.ContactsView"
location="LEFT"
moveable="false"/>
</extension>
stickyView 只是创建了一个 placeholder,并不是创建实际的 view,它通过 id 来关联一个已存在的 view id。当此 view 打开时,其就变成 sticky view。
创建 Open View 列表菜单
org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void makeActions(IWorkbenchWindow window) {
views = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
}
protected void fillMenuBar(IMenuManager menuBar) {
MenuManager viewsMenu = new MenuManager("Open View", "views");
viewsMenu.add(views);
menuBar.add(viewsMenu);
}
菜单默认显示当前 perspective 定义的 view 列表,这个列表的内容由 IPageLayout.addShowViewShortcut(String) 添加。
使用 Workbench 预定义 View
org.eclipse.ui.ExtensionFactory 类定义了很多 Workbench 预定义的 View、Page、Wizard。
<extension point="org.eclipse.ui.views">
<view
class="org.eclipse.ui.ExtensionFactory:progressView"
icon="icons/progress.gif"
id="org.eclipsercp.hyperbola.views.progress"
name="Progress"/>
</extension>
参考:
《Eclipse Rich Client Platform Designing, Coding, and Packaging Java Applications》:chapter5、chapter16、chapter17
引用自:
http://hi.baidu.com/monkeyhoop/blog/item/965d28251bbe0035c995596b.html
向导创建的ContactsView继承ViewPart抽象类,代码如下:
public ContactsView() {
}
@Override
public void createPartControl(Composite parent) {
//接口方法,用于创建View内容。
}
@Override
public void setFocus() {
//接口方法,View获得焦点时,由workbench调用。
}
将view添加到perspective
RCP程序都至少包含一个Perspective,IWorkbenchWindow包含一个Page,Page使用当前激活的Perspective来布局Views和Editors:
修改org.eclipsercp.hyperbola/Perspective.java
public void createInitialLayout(IPageLayout layout) {
layout.setEditorAreaVisible(false);
//将ContactsView放在默认Editor区域的左侧,所占区域比例为100%
//比例的范围是0.0f(只显示title bar)到1.0f(占用整个窗口)
layout.addView(ContactsView.ID, IPageLayout.LEFT,
1.0f, layout.getEditorArea());
}
其中ContactsView.ID是在ContactsView自定义的静态常量,定义了plugin.xml中ContactsView的id:
public static final String ID = "org.eclipsercp.hyperbola.views.contacts";
IPageLayout .addView方法添加的View显示一个标题栏,可以进行移动、关闭、最大化、最小化等操作。运行效果如下:
如果不想显示标题栏,可以使用IPageLayout .addStandaloneView。
layout.addStandaloneView(ContactsView.ID, false, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
运行效果如下:
关于 perspective 的更多描述可参考:
http://hi.baidu.com/monkeyhoop/blog/item/e20273e6d2b4c828b8382038.html
打开同一个 view 的多个实例
设置 view 的 enableMultiple 属性为 true
<extension
point="org.eclipse.ui.views">
<view
allowMultiple="true"
class="org.eclipsercp.hyperbola.ContactsView"
icon="icons/groups.gif"
id="org.eclipsercp.hyperbola.views.contacts"
name="Contacts"/>
</extension>
修改 addView() 的 ID 属性为如下格式 primary-id:secondary-id ,并保证 secondary-id 在 perspective 中是唯一的:
org.eclipsercp.hyperbola/Perspective
public void createInitialLayout(IPageLayout layout) {
layout.addStandaloneView(ContactsView.ID + ":1", false,
IPageLayout.LEFT, 0.33f, layout.getEditorArea());
layout.addView(ContactsView.ID + ":2",
IPageLayout.BOTTOM, 0.70f, layout.getEditorArea());
layout.addView(ContactsView.ID + ":3",
IPageLayout.BOTTOM, 0.70f, layout.getEditorArea());
}
打开 view
org.eclipsercp.hyperbola/OpenViewAction
public class OpenViewAction extends Action {
private final IWorkbenchWindow window;
private int instanceNum;
private final String viewId;
public OpenViewAction(IWorkbenchWindow window, String viewId) {
this.window = window;
this.viewId = viewId;
}
public void run() {
try {
window.getActivePage().showView(viewId,
Integer.toString(instanceNum), IWorkbenchPage.VIEW_ACTIVATE);
instanceNum++;
} catch (PartInitException e) {
// handle exception
}
}
}
使用 Sticky View
这种 view 在多个 perspective 中保持相同的打开位置,与 editor 类似,其在同于 workbench window 中的多个不同 perspective 中是共享同一个实例的,perspective 切换时不会影响其显示。
org.eclipsercp.hyperbola/plugin.xml
<extension point="org.eclipse.ui.views">
<view
class="org.eclipsercp.hyperbola.ContactsView"
icon="icons/groups.gif"
id="org.eclipsercp.hyperbola.views.contacts"
name="Contacts"/>
<stickyView
closeable="false"
id="org.eclipsercp.hyperbola.ContactsView"
location="LEFT"
moveable="false"/>
</extension>
stickyView 只是创建了一个 placeholder,并不是创建实际的 view,它通过 id 来关联一个已存在的 view id。当此 view 打开时,其就变成 sticky view。
创建 Open View 列表菜单
org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void makeActions(IWorkbenchWindow window) {
views = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
}
protected void fillMenuBar(IMenuManager menuBar) {
MenuManager viewsMenu = new MenuManager("Open View", "views");
viewsMenu.add(views);
menuBar.add(viewsMenu);
}
菜单默认显示当前 perspective 定义的 view 列表,这个列表的内容由 IPageLayout.addShowViewShortcut(String) 添加。
使用 Workbench 预定义 View
org.eclipse.ui.ExtensionFactory 类定义了很多 Workbench 预定义的 View、Page、Wizard。
<extension point="org.eclipse.ui.views">
<view
class="org.eclipse.ui.ExtensionFactory:progressView"
icon="icons/progress.gif"
id="org.eclipsercp.hyperbola.views.progress"
name="Progress"/>
</extension>
参考:
《Eclipse Rich Client Platform Designing, Coding, and Packaging Java Applications》:chapter5、chapter16、chapter17
引用自:
http://hi.baidu.com/monkeyhoop/blog/item/965d28251bbe0035c995596b.html
发表评论
-
弥补ExtJs CheckboxSelectionModel不能级联的自定义控件
2012-04-07 09:58 1540由于 ExtJS 在做CheckboxSelectionMod ... -
linux 安装python,设置环境变量
2011-06-15 00:10 3619linux下python开发环境之一——安装python :h ... -
jad 反编译jar
2011-06-01 12:18 15891、解压到任意目录 2、确保安装了winrar 3、点击反编译 ... -
eclipse中TOMCAT配置
2011-05-24 21:23 82291.在servers中新建的SERVER上右击——属性的Gen ... -
JRebel 热插件使用手记
2011-05-19 20:24 43121.1 安装IDE-rebel插件 1. Ecl ... -
VC++ 添加外部库文件lib和dll的步骤
2011-04-13 00:17 11641总结 连接数据库的步骤过程: 1.将文件sqlapi.lib ... -
自定义Dao,反射实现
2011-04-11 09:55 930自定义dao实现 -
javascript获取指定时间函数
2011-03-16 14:03 1418function WeekDate() { ... -
没有找到mfc90ud.dll,因此这个应用程序未能启动 解决方案
2011-01-20 22:44 16691.没有找到mfc90ud.dll,因此这个应用程序未能启动. ... -
VS 与IE兼容性问题
2011-01-08 18:47 1274今天用VS08,对话框控件添加变量时候出错, 变量类型无法选择 ... -
IBM MQ 资料
2010-10-10 20:02 3954MQ介绍 消息队列技术是 ... -
java 获取操作系统收集
2010-09-07 00:37 938判断当前java程序是运行在windows平台还是运行在lin ... -
集群学习一
2010-09-01 00:40 1049一、高可用性集群系统 ... -
Apache 的11大贡献
2010-08-29 13:09 816据国外媒体报道,转眼 ... -
学习过程问题总结
2010-08-08 23:57 798starUML 启动报错:system error code: ... -
一些好的文章收集
2010-07-04 21:45 805ibatis dynamic sql 语句拼接:http:// ... -
webservice 部署服务的几种方式总结
2010-05-09 00:39 3434java 调用webservice的各种方法总结 现 ... -
ibatis的多表查询
2010-05-09 00:34 2041一:描述下: 使用2个表,book,user表。一对多关 ... -
groovy的点点滴滴01(转)
2010-05-07 00:53 796一、 groovy 是什么 简单地说, Groovy 是下 ... -
ibatis 模糊查询
2010-05-07 00:07 1205<!-- 在ibatis中使用安全的拼接语句,动态查询 ...
相关推荐
代码demo和ppt介绍;用org.eclipse.ui.presentationFactories扩展点RCP自定义透视图切换按钮的右键菜单,去除Editor的右键菜单和关闭按钮;
2.创建你的第一个RCP程序 1 2.1.创建一个RCP程序 2 2.2.启动你的RCP程序 5 2.3.应用程序VS 产品 6 3.应用程序里的插件ID 7 4.Actions的用法(菜单和工具栏) 7 4.1.概述 7 4.2.通过编码添加 8 4.3.由...
RCP 打开视图的不同实例,并设置不同的值 ,创建一个视图,里面布局用了个tableviewer,通过一个Action,按钮打开该视图,每次打开的视图的内容可设置不同。 说明文档为 ...
RCP 产品介绍图片
一个在RCP 的View中显示JFreeChart报表的小例子,所需要用到的Jar包都已经包含在里面 没有分的也可以去我的博客看看,也有相关的代码。
一个用RCP实现的CRM例子,包括源码。
Rcp一个简单的入门教程 从一个实例讲解
简单地讲, 一个RCP应用就是一个可独立于Eclispe IDE开发环境运行的Eclipse 插件. 下面我们以一个简单的例子开始我们的RCP旅程.
RCP中文入门教程,RCP中文入门教程,RCP中文入门教程,RCP中文入门教程
RCP入门: 1.View 2.Editor
java中RCP中使用JNI
RCP&OSGI;
一个很好的RCP开发实例,仅供初学者参考!
rcp与spring集成的一个简单例子,
本人最近用到RCP,所以网上搜索了许多有关这方面的资料,经过整理,也就是把一些乱七八糟的去掉,感觉好的留下,集中在一个压缩包里,以供大家学习交流使用,里面含有中文和英文pdf共六个,建议大家多看英文的一手...
RCP程序设计主要组件的文档,可以适用于初学RCP程序设计的同学。
SWT RCP 界面--如何编写一个漂亮的 SWT RCP 界面
RCP在线升级RCP在线升级RCP在线升级RCP在线升级RCP在线升级
Eclipse Rich Client Platform (RCP) 的目标是在各种不是集成开发环境 (IDE) 的最终用户应用程序中使用 Eclipse。随着 Eclipse V3.1 的发布,创建 RCP 应用程序变得容易。本教程将指导您一步步创建自己的 RCP 应用...
clipse RCP允许开发者使用eclipse结构风格设计...将涉及以下内容:创建第一个RCP程序,创建菜单和工具栏,查看,编辑,对话,外部JAR的用法,向一个RCP应用程序产品中添加标志和帮助。 每一章可能都基本独立于其他章节