Eclipse E4从活动的角度关闭零件
我有一个e4应用程序,它有两个方面:Eclipse E4从活动的角度关闭零件,eclipse,eclipse-rcp,rcp,e4,Eclipse,Eclipse Rcp,Rcp,E4,我有一个e4应用程序,它有两个方面: 操作 配置->包含(除其他外)打开配置的部件堆栈。零件中的每个配置 加载新模型时,将关闭所有配置部件。如果在配置透视图处于活动状态时加载新模型,则此操作可以正常工作 但是,如果我在配置透视图中打开一些配置。切换到Operations透视图并加载新模型 我可以在日志中看到,关闭部件的代码被调用,一切似乎都正常。然而,当我切换回配置透视图时,零件仍然是可见的 有谁能告诉我,无论哪一个是活动透视图,如何确保零件接近?我找到了一个“解决方法”来解决我的问题 我抛出了
@Inject@可选
void modelLoadedHandler(@UIEventTopic(stuctants.UI\u TOPIC\u CONFIG\u LOADED)对象nothing){
viewer.setInput(sleConfigService);
//关闭打开的配置部件
MPartStack=(MPartStack)模型服务
.find(stuctants.PART_堆栈_ID_配置_视图,
应用程序);
List parts=newarraylist(stack.getChildren());
MPart-MPart;
用于(MStackElement:零件){
mpart=(mpart)元素;
错误(“删除部分{}可见{}”,mpart.getElementId(),mpart.isVisible());
partService.hidePart(mpart,true);
}
//添加此选项后,无论使用哪个透视图,它都可以正常工作
//活跃的。
stack.getChildren().clear();
}
添加stack.getChildren().clear()代码>成功了。我不能百分之百确定这是否是正确的处理方法,因为我认为当我移除一个零件时,PartStack
应该自动清空