天天看点

如何在RCP中正确加入project explorer view

Posted on 2010-09-16 17:02  Li Ya Qiang 阅读(100)  评论(0)   编辑   收藏 所属分类: Eclipse RCP 

如何在RCP中正确加入project explorer view

原创,转载请注明出处。

今天都在折腾project explorer,主要是在RCP里加入project explorer以后,不能正常显示,同时刷新的时候又清空那个view,非常奇怪。

最后按照eclipse.org的help的指导设置成功,

http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/cnf.htm

主要是要在自己的WorkbenchAdvisor类里面重写的initialize(IWorkbenchConfigurer configurer)的方法。

 1       public   void  initialize(IWorkbenchConfigurer configurer) {

 2          IDE.registerAdapters();

 3           final  String ICONS_PATH  =   " icons/full/ " ;

 4           final  String PATH_OBJECT  =  ICONS_PATH  +   " obj16/ " ;

 5          Bundle ideBundle  =  Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);

 6          declareWorkbenchImage(configurer, ideBundle,

 7                  IDE.SharedImages.IMG_OBJ_PROJECT, PATH_OBJECT  +   " prj_obj.gif " ,

 8                   true );

 9          declareWorkbenchImage(configurer, ideBundle,

10                  IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT

11                           +   " cprj_obj.gif " ,  true );

12 

13           super .initialize(configurer);

14          configurer.setSaveAndRestore( true );    

15      }

16 

17       private   void  declareWorkbenchImage(IWorkbenchConfigurer configurer_p,

18              Bundle ideBundle, String symbolicName, String path,  boolean  shared) {

19          URL url  =  ideBundle.getEntry(path);

20          ImageDescriptor desc  =  ImageDescriptor.createFromURL(url);

21          configurer_p.declareImage(symbolicName, desc, shared);

22      }

然后是覆盖getDefaultPageInput方法如下

1  @Override

2  public  IAdaptable getDefaultPageInput() {

3           return  ResourcesPlugin.getWorkspace().getRoot();

4       }

这次得到的教训就是以后有什么问题首先查询eclipse.org,要不浪费太多时间了。

继续阅读