- 使用 ZoomManager 来执行图形的缩放
- 对图形进行对齐(Alignment)操作
- 图形修改后进行 dirty check(提示保存文档)
图形缩放
-
提供缩放能力:Diaphical添加ScalableRootEditPart rootEditPart = new ScalableRootEditPart();
viewer.setRootEditPart(rootEditPart); -
实现缩放:图形的缩放操作实际上是通过这个
ZoomManager 实现的。如果说 ZoomManager 还是个幕后主使的话,那么 ZoomInAction 和
ZoomOutAction 就是实际操作图形缩放的类。
吧 ZoomInAction 和 ZoomOutAction 注册给 Action。 -
添加缩放按钮 DiagramActionBarContributor
-
实现更多缩放功能
-
在 DiagramEditor 中重载 getAdapter 方法
-
工具条上添加组合框
-
设置放大比例数组和非百分比缩放
图形对齐
- GEF/Draw2D 已经提供了一个 AlignmentAction 类,所有alignment 的操作 ID 是在 Draw2D 的 PositionConstants 接口中定义。和其他 Action 的添加一样,修改 DiagramEditor 中的 createActions 方法就好。
- 添加对齐按钮 DiagramActionBarContributor