我想在eclipse RCP 4应用程序中选项卡的脉冲关闭按钮时进行验证,如果某些验证失败则阻止de close。
答案 0 :(得分:0)
如果您不希望part.setDirty(true)
与ISaveHandler
一起使用greg-449 monister,您可以收听模型事件并更正其中的内容。在这个方向的东西:
public class PreventCloseAddon {
@PostConstruct
public void init(final IEventBroker eventBroker, final EPartService partService) {
EventHandler tbrHandler = new EventHandler() {
@Override
public void handleEvent(Event event) {
if (!UIEvents.isSET(event))
return;
Object element = event.getProperty(UIEvents.EventTags.ELEMENT);
if (element instanceof MPart) {
MPart part = (MPart) element;
if (!part.isToBeRendered()) {
// ... validate here ...
part.setToBeRendered(true);
partService.activate(part);
}
}
}
};
eventBroker.subscribe(UIEvents.UIElement.TOPIC_TOBERENDERED, tbrHandler);
}
}
您应该知道该部件将使用此代码再次渲染。