- 浏览: 378725 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zxjlwt:
学习论。确实很全啊。欢迎交流http://surenpi.co ...
eclipse dialog 对话框 大全 -
zxjlwt:
很好。http://surenpi.com
eclipse 源码泛读 -
string2020:
有卵用???
activiti 第一个例子 helloworld -
ysj_csdn:
能给个正确的例子?
activiti 第一个例子 helloworld -
zxjlwt:
学习了。http://surenpi.com
Eclipse扩展点介绍
注册空的弹出菜单
MenuManager menuManager=new MenuManager();
Menu menu=menuManager.createContextMenu(treeViewer.getControl());
treeViewer.getControl().setMenu(menu);
//设置选择提供者和弹出菜单
getSite().setSelectionProvider(treeViewer);
getSite().registerContextMenu(menuManager, treeViewer);
对viewer 实现过来
import java.io.*;
import org.eclipse.jface.viewers.*;
public class AllowOnlyFoldersFilter extends ViewerFilter
{
public boolean select(Viewer viewer, Object parent, Object element)
{
这里我只显示 目录
return ((File) element).isDirectory();
}
}
为viewer 实现 排序。
class NameSorter extends ViewerSorter {
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
return e1.toString().compareTo(e2.toString());
//return super.compare(viewer, e1, e2);
}
}
这里是对数组的排序,这里用到了泛型,可以对任何集合进行排序
Arrays.sort(a, c)
Collections.sort(list, c)
为属性栏设置 验证。
propertyDescriptor.setValidator(new EmailAddressValidator());
public class EmailAddressValidator1 implements ICellEditorValidator {
/**
* The <code>EmailAddressValidator</code> implementation of this
* <code>ICellEditorValidator</code> method
* determines if the value is a valid email address.
* (check to see if it is non-null and contains an @)
*/
public String isValid(Object value) {
。。没有错误
return null;
有错误,返回错误信息
return MessageUtil
.getString("email_address_does_not_have_a_valid_format"); //$NON-NLS-1$
}
}
可以看一下源码
使用rcp内部的类,来实现treeviewer
不过模型要求实现 IWorkbenchAdapter
viewer.setContentProvider(new WorkbenchContentProvider());
viewer.setLabelProvider(new WorkbenchLabelProvider());
内部提供了很多机制。
ComboBoxPropertyDescriptor 通过 这个类来实现 属性栏下拉列表。
public class CustomDescriptor extends PropertyDescriptor {
//重写
public CellEditor createPropertyEditor(Composite parent) {
默认这里是空的,你可以扩展自己的对话框
CellEditor editor = new ColorCellEditor(parent);
if (getValidator() != null) {
editor.setValidator(getValidator());
}
return editor;
}
}
这样结构的可以在 PropertySheet中作为一个page显示。
public class PropertySheetPage extends Page implements IPropertySheetPage, IAdaptable
org.eclipse.ui.preferencePages 通过该扩展点 实现首先项的扩展。
public class RootPreferencePage extends PreferencePage
implements IWorkbenchPreferencePage
打开属性页面的动作
PropertyDialogAction
SamplePropertyPage extends PropertyPage
<extension
point="org.eclipse.ui.propertyPages">
<page
name="属性页面test"
nameFilter="*.*"
class="plugin.properties.SamplePropertyPage"
id="plugin.properties.samplePropertyPage">
<enabledWhen>
<instanceof
value="org.eclipse.core.resources.IFile">
</instanceof>
</enabledWhen>
</page>
</extension>
学习http://blog.csdn.net/vwpolo/archive/2008/03/04/2147078.aspx
jface 设计
http://blog.csdn.net/hansoft/archive/2005/06/18/397584.aspx
org.eclipse.ui.popupMenus 可以通过该扩展点对eclipse已经有点弹出菜单进行扩展。
HandlerUtil 是handler的工具类,很有用。
jface已经封装了一个选择文件的一个组件,不需要自己再去写了。
org.eclipse.jface.preference
FileFieldEditor editor = new FileFieldEditor("fileSelect","Select File: ",shell);
IWizard 相关子接口,相关类
INewWizard
WizardNewFileCreationPage 项目中的新建文件 /导入文件 都可以用这个 page通过wizard来实现。
org.eclipse.help.toc 实现帮助的扩展点。
org.eclipse.ui.decorators 可以根据文件的不同状态,添加对应的图标对原有图标的装饰。
svn就是用这种方式实现的。
IResourceChangeListener
ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
FieldEditor 它的子类中封装了常用的一下基本组件。
FieldEditorPreferencePage 可以使用FieldEditor 来实现一个IWorkbenchPreferencePage
org.eclipse.core.runtime.preferences 初始化IPreferenceStore中的值
org.eclipse.ui.splashHandlers AbstractSplashHandler 可以自定义启动界面。
org.eclipse.ui.intro org.eclipse.ui.intro.config 来制作欢迎界面。
service 扩展点 sourceProvider 子节点
org.eclipse.ui.internal.services.WorkbenchSourceProvider
这个类可以在with(这里使用里面的属性名)
例如:with(selection)
http://blog.eclipse-tips.com/2009/02/commands-part-5-authentication-in-rcp.html
1、重启RCP应用
PlatformUI.getWorkbench().restart();
2、在插件资源库中查找Perspective(其它extend point资源的获得类似)
IPerspectiveDescriptoripd=PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(FavoritePerspective.ID); //根据plugin.xml中的ID查找
3、获得当前RCP应用的shell
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
4、显示帮助信息
PlatformUI.getWorkbench().getHelpSystem().displayHelp();
PlatformUI Platform AbstractUIPlugin WorkbenchPlugin
org.eclipse.ui.presentationFactories 改变Eclipse的外观
http://blog.csdn.net/bradwoo8621/archive/2007/04/25/1584018.aspx
发表评论
-
离线使用tycho对eclipse RCP打包导出
2015-09-02 09:22 1236http://www.bubuko.com/infodetai ... -
RAP源码泛读及分析
2014-01-17 13:27 1148SWT、RWT如何保证大部 ... -
rap 的学习1
2013-10-27 22:02 787RAP 2.2 December 2013 (planne ... -
tycho 打包不同平台的RCP
2013-06-18 10:56 1153<configuration> < ... -
rap web开发
2013-04-10 17:12 894rap项目已经2.0(changelog) 这次改动 ... -
subversion升级到1.7
2012-09-07 15:37 1919http://www.cnblogs.com/xiziy ... -
ubuntu eclipse 中使用jadclipse java反编译
2012-09-07 11:04 11931:net.sf.jadclipse_3.3.0.jar 发 ... -
Nebula Project
2012-08-10 02:42 881http://www.eclipse.org/nebula/ -
Eclipse Plug-in dependencies – Required Bundle vrs. Import-Package
2012-07-19 00:32 3027http://www.vogella.com/blog/200 ... -
rcp培训
2012-07-19 00:22 1239<!-- @pa ... -
No schema found for … extension point 问题
2012-03-13 13:09 1586很多时候在编辑plugin.xml 文件的Extensi ... -
Eclipse中的org.eclipse.core.resources.markers扩展点
2011-11-09 11:26 1938扩展点配置如下:<extension ... -
开发一个调试 JSP 的 Eclipse 插件
2011-10-27 22:34 1571AVA调试框架(JPDA)简介JPDA是一个多层的调试框架 ... -
gmf 优点
2011-09-28 15:09 977http://www.ibm.com/developerwor ... -
gef 与gmf的结合
2011-09-28 14:03 1024以前的项目已经就是直接用gef,自己写模型的。 今天研 ... -
rcp自动加载插件
2011-09-28 13:56 1203http://blog.ixpub.net/html/9 ... -
rcp DialogSettings IPreferenceStore IMemento
2011-09-22 14:31 1136三个不的不同点: IMemento 要求rc ... -
rcp IPreferenceStore
2011-09-22 14:21 1267IPreferenceStore store=Acti ... -
rcp DialogSettings
2011-09-22 14:10 1168Activator.getDefault().getDialo ... -
rcp IMemento 状态的保存
2011-09-22 13:50 1131rcp 可以对每个part进行状态的保存。 保存数据 ...
相关推荐
### RCP常用方法详解 #### 一、闪屏画面(Splash Screen) 在应用程序启动时,通常需要一段时间来进行初始化处理,为了提升用户体验并避免用户在等待过程中感到困惑,可以通过设置一个闪屏画面(splash screen)来...
而常用代码的设计思路则可能涵盖了一些设计模式,如工厂模式、观察者模式等,这些都是提高代码质量和可维护性的重要工具。 调试方式在JAVA RCP开发中同样至关重要。开发者通常会使用Eclipse IDE内置的调试工具,如...
描述中提到“不包含rcp的例子”,这意味着提供的资源并非包含完整的示例代码,而是专注于提供测试所需的依赖库,以便开发者可以自行构建和测试ActiveMQ RCP相关的功能。 在给定的标签“activemq rcp 依赖库”中,...
插件的扩展点非常之多,但很多扩展点都不常用到,只要熟悉一些主要的扩展点即可。插件的扩展点可以分为以下几类:视图(views)、编辑器(editors)、透视图(perspectives)、命令(commands)等。每种扩展点都有其...
2. **使用模板和代码生成器**:Eclipse提供了很多模板和代码生成器,可以快速生成常用代码。 3. **持续集成**:采用Jenkins或类似的工具进行持续集成,确保代码质量。 4. **文档与注释**:良好的文档和注释有助于...
工具栏包含了常用的操作按钮,如新建、保存、运行等。工具栏同样支持动态变化,可以依据用户操作上下文的不同而显示不同的工具图标。 ##### 3. Editor 编辑器是用户进行主要工作的区域,支持多种文件类型,如文本...
它通常包含了常用的快捷按钮,以便用户快速执行特定操作。 3. **Editor(编辑器)**:编辑器是 Eclipse 中用于编辑源代码的主要组件。它支持语法高亮、代码提示等功能,极大地提高了编程效率。 4. **View(视图...
在 RCP 开发中,Eclipse IDE 是最常用的工具,因为它提供了内置的 RCP 插件支持,包括模板、调试和插件依赖管理。此外,PDE(Plugin Development Environment)是 Eclipse IDE 的一部分,专门用于 RCP 和 OSGi 插件...
此外,RCP还提供了各种预定义的命令和动作工厂,如“Save”、“Copy”和“Cut”,这使得常见的操作可以快速实现,无需从头编写代码。 ### 结论 RCP菜单与工具栏是RCP应用的重要组成部分,它们不仅提供了功能访问的...
7. **透视图设置代码**:一些常用的设置代码可能包括如何初始化透视图,调整视图的大小,或者根据用户偏好动态改变布局。 8. **应用开发**:RCP application development可能涵盖如何在RCP应用中集成透视图,优化...
一个典型的RCP项目包含Java源代码、系统类库、插件依赖、欢迎文本、描述文件、构建属性、启动图片以及插件配置文件。这些元素共同构成了RCP应用的基础结构,确保了程序的正常运行和用户界面的构建。 3. **RCP基本...
- `fileStart`: “开始”区域,通常用于放置最常用的功能。 - `new/additions`: “新建”菜单下的“附加”组,用于添加额外的新建功能。 - `new.ext`: “新建”区,在“新建”菜单下,用于放置创建新项目的命令。...
### RCP 开发自学教程知识点总结 #### 一、富客户端平台(RCP) **1.1 概述** - **Eclipse RCP (Rich Client Platform)**: 是一款强大的开源框架,用于开发桌面应用,它提供了丰富的组件和工具,使得开发者能够轻松...
3. **Editor**:用于编辑源代码或其他类型的文件,是Eclipse中最常用的组件之一。 4. **View**:提供额外的信息或功能,如大纲视图、调试视图等。 5. **Page**:页面代表了用户的当前工作状态,包括编辑器和视图。 6...
Eclipse Icons是Eclipse RCP(Rich Client Platform)开发中常用的一套图形用户界面资源,它们为Eclipse RCP应用程序提供了丰富的图标集,用于构建视觉上吸引人的且易于理解的用户界面。Eclipse RCP是一种基于Java的...
在软件开发领域,适配器模式是一种常用的结构型设计模式,它允许两个不兼容的接口之间进行通信。本文将深入探讨如何在基于Eclipse RCP(Rich Client Platform)的应用中,利用适配器模式实现自定义的属性视图。...
- **Tool bar**:工具栏,提供快速访问常用功能的方式。 - **Editor**:编辑器,主要用于代码编辑。 - **View**:视图,提供额外的信息和辅助功能,如大纲视图等。 - **Page**:页面,包含了当前工作状态下所有打开...