`
lizhensan
  • 浏览: 378725 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

rcp 常用代码

阅读更多

注册空的弹出菜单

 

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

分享到:
评论

相关推荐

    RCP常用方法,RCP常用方法

    ### RCP常用方法详解 #### 一、闪屏画面(Splash Screen) 在应用程序启动时,通常需要一段时间来进行初始化处理,为了提升用户体验并避免用户在等待过程中感到困惑,可以通过设置一个闪屏画面(splash screen)来...

    JAVA RCP源码

    而常用代码的设计思路则可能涵盖了一些设计模式,如工厂模式、观察者模式等,这些都是提高代码质量和可维护性的重要工具。 调试方式在JAVA RCP开发中同样至关重要。开发者通常会使用Eclipse IDE内置的调试工具,如...

    activemq rcp测试的依赖资源,不包含rcp的例子

    描述中提到“不包含rcp的例子”,这意味着提供的资源并非包含完整的示例代码,而是专注于提供测试所需的依赖库,以便开发者可以自行构建和测试ActiveMQ RCP相关的功能。 在给定的标签“activemq rcp 依赖库”中,...

    RCP 常见的扩展点指南

    插件的扩展点非常之多,但很多扩展点都不常用到,只要熟悉一些主要的扩展点即可。插件的扩展点可以分为以下几类:视图(views)、编辑器(editors)、透视图(perspectives)、命令(commands)等。每种扩展点都有其...

    Eclipse RCP应用系统开发方法与实战

    2. **使用模板和代码生成器**:Eclipse提供了很多模板和代码生成器,可以快速生成常用代码。 3. **持续集成**:采用Jenkins或类似的工具进行持续集成,确保代码质量。 4. **文档与注释**:良好的文档和注释有助于...

    Eclipse RCP.pdf清晰版

    工具栏包含了常用的操作按钮,如新建、保存、运行等。工具栏同样支持动态变化,可以依据用户操作上下文的不同而显示不同的工具图标。 ##### 3. Editor 编辑器是用户进行主要工作的区域,支持多种文件类型,如文本...

    eclipse RCP入门示例介绍

    它通常包含了常用的快捷按钮,以便用户快速执行特定操作。 3. **Editor(编辑器)**:编辑器是 Eclipse 中用于编辑源代码的主要组件。它支持语法高亮、代码提示等功能,极大地提高了编程效率。 4. **View(视图...

    RCP开发实例

    在 RCP 开发中,Eclipse IDE 是最常用的工具,因为它提供了内置的 RCP 插件支持,包括模板、调试和插件依赖管理。此外,PDE(Plugin Development Environment)是 Eclipse IDE 的一部分,专门用于 RCP 和 OSGi 插件...

    RCP 菜单与工具栏小结

    此外,RCP还提供了各种预定义的命令和动作工厂,如“Save”、“Copy”和“Cut”,这使得常见的操作可以快速实现,无需从头编写代码。 ### 结论 RCP菜单与工具栏是RCP应用的重要组成部分,它们不仅提供了功能访问的...

    rcp perspective

    7. **透视图设置代码**:一些常用的设置代码可能包括如何初始化透视图,调整视图的大小,或者根据用户偏好动态改变布局。 8. **应用开发**:RCP application development可能涵盖如何在RCP应用中集成透视图,优化...

    EclipseRCP四常用技术基础知识PPT课件.pptx

    一个典型的RCP项目包含Java源代码、系统类库、插件依赖、欢迎文本、描述文件、构建属性、启动图片以及插件配置文件。这些元素共同构成了RCP应用的基础结构,确保了程序的正常运行和用户界面的构建。 3. **RCP基本...

    rcp menubarpath和toolbarpath的参考值

    - `fileStart`: “开始”区域,通常用于放置最常用的功能。 - `new/additions`: “新建”菜单下的“附加”组,用于添加额外的新建功能。 - `new.ext`: “新建”区,在“新建”菜单下,用于放置创建新项目的命令。...

    RCP 开发自学教程

    ### RCP 开发自学教程知识点总结 #### 一、富客户端平台(RCP) **1.1 概述** - **Eclipse RCP (Rich Client Platform)**: 是一款强大的开源框架,用于开发桌面应用,它提供了丰富的组件和工具,使得开发者能够轻松...

    eclipse rcp入门

    3. **Editor**:用于编辑源代码或其他类型的文件,是Eclipse中最常用的组件之一。 4. **View**:提供额外的信息或功能,如大纲视图、调试视图等。 5. **Page**:页面代表了用户的当前工作状态,包括编辑器和视图。 6...

    eclipse icons,用来开发rcp桌面应用程序

    Eclipse Icons是Eclipse RCP(Rich Client Platform)开发中常用的一套图形用户界面资源,它们为Eclipse RCP应用程序提供了丰富的图标集,用于构建视觉上吸引人的且易于理解的用户界面。Eclipse RCP是一种基于Java的...

    基于适配器模式的RCP应用属性视图实现

    在软件开发领域,适配器模式是一种常用的结构型设计模式,它允许两个不兼容的接口之间进行通信。本文将深入探讨如何在基于Eclipse RCP(Rich Client Platform)的应用中,利用适配器模式实现自定义的属性视图。...

    RCP初级教程(附图)

    - **Tool bar**:工具栏,提供快速访问常用功能的方式。 - **Editor**:编辑器,主要用于代码编辑。 - **View**:视图,提供额外的信息和辅助功能,如大纲视图等。 - **Page**:页面,包含了当前工作状态下所有打开...

Global site tag (gtag.js) - Google Analytics