有没有办法可以禁用主窗口的 RCP e4 应用程序关闭按钮。我尝试获取活动外壳并添加 event.doit = false 。但这行不通。即使我单击是或否,应用程序也会关闭。
问问题
1599 次
1 回答
1
首先创建您的处理程序:
public class WindowCloseHandler implements IWindowCloseHandler{
@Override
public boolean close(MWindow window) {
// System.out.println("in window close handler");
Object shell = window.getWidget();
return MessageDialog.openConfirm((Shell) shell, "Confirmation",
"Do you want to exit?");
}
}
其次将处理程序放在窗口上下文中:我在应用程序中任何部分的 post 构造方法中执行此操作: public class SamplePart {
...
@PostConstruct public void createComposite(复合父级,MApplication 应用程序,EModelService 服务){
... setup the part ...
WindowCloseHandler close_handler = new WindowCloseHandler();
java.util.List<MTrimmedWindow> wins =
service.findElements(app, null, null, null);
for(Object win : wins){
if(win instanceof MTrimmedWindow)
((MTrimmedWindow)win).getContext().set(IWindowCloseHandler.class, close_handler);
else if(win instanceof MWindow) ((MWindow)win).getContext().set(IWindowCloseHandler.class, close_handler);
}
}
于 2013-09-16T16:17:19.090 回答