我有一个扩展了CommonNavigator的视图。查看扩展CommonNavigator
我正在通过CustomProjectCreation向导创建自定义项目。
只有刷新下面的作品给出,但它刷新所有项目应该避免的一个新项目,每次创建,
CommonNavigator resNav;
try {
resNav = (CommonNavigator)activePage.findView("view id");
resNav.getCommonViewer().refresh();
//resNav.getCommonViewer().refresh(newProject); //doesn't work
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ContentProvider looks as below
if(parentElement instanceof IWorkspaceRoot){
List customProjects = getCustomProjects();
return customProjects.toArray(new CustomProject[customProjects.size()]);
}
上进行调试,getCommonViewer()。刷新()调用的getChildren( )方法在内容提供者中。 getCommonViewer()刷新(newProject)不会对ContentProvider的
expandtolevel和setExpandedState一个电话都没有工作...
如何实现在特定刷新到新创建的项目? 如何扩展创建的项目?
问候, 亚拉文
你还有org.eclipse.ui.navigator.resources插件吗?这提供了一些东西来监听资源更改事件,并确保ProjectExplorer与这些事件同步。我不记得如何将它与您自己的CommonNavigator挂钩,但我认为这是一种方法。 – 2012-07-12 07:08:10