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

Posted on 2010-09-16 17:02 Li Ya Qiang 阅读(2248) 评论(0)  编辑  收藏 所属分类: Eclipse RCP
原创,转载请注明出处。

今天都在折腾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,要不浪费太多时间了。


只有注册用户登录后才能发表评论。


网站导航:
 

posts - 10, comments - 0, trackbacks - 0, articles - 2

Copyright © Li Ya Qiang