Welcome 微信登录

首页 / 软件开发 / JAVA / Eclipse GEF常用技巧

Eclipse GEF常用技巧2011-09-091、大纲视图右键菜单项受editpart的createEditPolicies()方法影响。例如 :虽然右键菜单提供了删除选项,但只要相关的treeeditpart没有install ComponentEditPolicy,那么当鼠标打开该节点的右键菜单时,是不会看到“删除”项的。

2、和1类似,有时候某些作为容器元素的对象不希望被用户选中,也是通过修改policy来实现的。具体如下:

editpart实现

public class BoardPart extends ContainerPart {
protected void createEditPolicies() {
super.createEditPolicies();
installEditPolicy(EditPolicy.LAYOUT_ROLE, new BoardLayoutEditPolicy());
}
}

policy实现

public class BoardLayoutEditPolicy extends XYLayoutEditPolicy {
...
protected Command createChangeConstraintCommand(EditPart child,
Object constraint) {
return null;
}
...
}

从上面的代码可以看出,只要createChangeConstraintCommand()返回null,那么容器元素就不会被选中。