原创,转载请注明出处。
今天都在折腾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,要不浪费太多时间了。