GMF学习系列(二) 一些知识点
2011-10-21 21:56
316 查看
863项目做完了,一直没有时间总结,先将一些知识点记录一下吧。
1. 连线约束是在com.yangqk.diagram.diagram.edit.policies中的
DiagramBaseItemSemanticEditPolicy类中,它包含一个内部类public static class LinkConstraints,包含方法canExistLink,可以添加约束。
2.问题:提示java.lang.IllegalStateException: Cannot modify resource set without a write transaction异常
在GMF里修改Model要通过在TransactionalEditingDomain里执行命令完成,GMF提供的RecordingCommand是不错的选择,它为我们提供了Undo支持,我们只要实现执行部分的代码就可以了,下面是一个例子:
TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(myElement);
domain.getCommandStack().execute(new RecordingCommand(domain) {
@Override
protected void doExecute() {
//Do anything
}
});
若是在EditPolicy里需要返回一个Command,用下面的代码:
AbstractTransactionalCommand command = new AbstractTransactionalCommand(TransactionUtil
3、如何禁用PopupBar和ConnectionHandler功能(鼠标停止在图形上时出现的连线符号)
在需要禁用该功能的EditPart的createDefaultEditPolicies()方法的最后加下面的语句:
//禁用PopupBar
removeEditPolicy(EditPolicyRoles.POPUPBAR_ROLE);
//禁用ConnectionHandler
removeEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE);
1. 连线约束是在com.yangqk.diagram.diagram.edit.policies中的
DiagramBaseItemSemanticEditPolicy类中,它包含一个内部类public static class LinkConstraints,包含方法canExistLink,可以添加约束。
2.问题:提示java.lang.IllegalStateException: Cannot modify resource set without a write transaction异常
在GMF里修改Model要通过在TransactionalEditingDomain里执行命令完成,GMF提供的RecordingCommand是不错的选择,它为我们提供了Undo支持,我们只要实现执行部分的代码就可以了,下面是一个例子:
TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(myElement);
domain.getCommandStack().execute(new RecordingCommand(domain) {
@Override
protected void doExecute() {
//Do anything
}
});
若是在EditPolicy里需要返回一个Command,用下面的代码:
AbstractTransactionalCommand command = new AbstractTransactionalCommand(TransactionUtil
3、如何禁用PopupBar和ConnectionHandler功能(鼠标停止在图形上时出现的连线符号)
在需要禁用该功能的EditPart的createDefaultEditPolicies()方法的最后加下面的语句:
//禁用PopupBar
removeEditPolicy(EditPolicyRoles.POPUPBAR_ROLE);
//禁用ConnectionHandler
removeEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE);
相关文章推荐
- GMF学习系列(二) 一些知识点(续)
- GMF学习系列(二) 一些知识点(续3)
- 关于rman duplicate 一些比較重要的知识点--系列三
- 关于rman duplicate 一些比较重要的知识点--系列三
- selenium2.0&WebDriver学习系列(一些需要注意的知识点)
- GMF学习系列(二) 一些知识点(续2)
- 关于Windows的一些知识点
- [kaggle系列 四] 通过mnist来研究神经网络的一些细节(1)
- ASP.net 2.0 中 WebResource.axd 管理资源的一些知识点
- 一些LinuxC的小知识点(二)
- java一些小知识点
- 移动端H5的一些基本知识点总结
- 给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)
- CSS一些知识点
- C#知识点总结系列
- 那些不能遗忘的知识点回顾----操作系统系列
- Python知识点:正负无穷的一些用法
- 项目管理系列:项目团队建设的一些经验
- 关于C++语言的一些小知识点
- html5一些知识点Canvas : Shadow,大家可以看下!