Posted on 2010-09-16 17:02 Li Ya Qiang 阅读(100) 评论(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,要不浪费太多时间了。