从 Eclipse GMF 删除对象时,我想向用户显示确认删除对话框。我已经覆盖了特定 EditPart 的组件角色编辑策略中的 createDeleteSemanticCommand 以包含删除确认对话框。以下是我所做的代码片段。
/////// RESPECTIVE EDIT PART CLASS,安装editpolicy的地方
protected void createDefaultEditPolicies() {
installEditPolicy(EditPolicy.COMPONENT_ROLE, new
ComponentRoleEditPolicy());
/////// RESPECTIVE EDITPOLICY CLASS,其中完成自定义删除对话框操作(ComponentRoleEditPolicy)
protected Command createDeleteSemanticCommand(GroupRequest deleteRequest)
{
if(deleteRequest instanceof GroupRequestViaKeyboard) {
if(deleteDialog(foo.getName()))
{
return super.createDeleteSemanticCommand(deleteRequest);
}
else {
return UnexecutableCommand.INSTANCE;
}
}
return UnexecutableCommand.INSTANCE;
}
////// 删除确认方法
public static boolean deleteDialog(String name) {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
boolean delete = MessageDialog.openConfirm(shell, "Delete", "Are you sure you want to delete "
+ name + " ?");
return delete;
}
对于每个不同的编辑部分,我最初编写了这段代码来要求删除确认。后来,我意识到在图表中选择多个编辑部分并执行删除按钮,我得到'n'删除图表中选择的'n'个片段的确认框。如何解决这个问题呢。请帮我解决这个问题。
谢谢。