0
我正在尝试使用GEF查看器的“对齐网格”功能。我正在按照教程this site。本教程主要讲述安装必要的编辑政策和重写getAdapter
方法如下图所示:Eclipse GEF - 对齐网格不起作用
@Override
public Object getAdapter(Class key) {
System.out.println("snapping..." + key);
if (key == SnapToHelper.class) {
List<SnapToHelper> helpers = new ArrayList<SnapToHelper>();
if (Boolean.TRUE.equals(getViewer().getProperty(
SnapToGeometry.PROPERTY_SNAP_ENABLED))) {
helpers.add(new SnapToGeometry(this));
}
if (Boolean.TRUE.equals(getViewer().getProperty(
SnapToGrid.PROPERTY_GRID_ENABLED))) {
helpers.add(new SnapToGrid(this));
}
if (helpers.size() == 0) {
return null;
} else {
return new CompoundSnapToHelper(
helpers.toArray(new SnapToHelper[0]));
}
}
return super.getAdapter(key);
}
但是在运行时,该getAdapter
方法不会被调用了SnapToHelper
实例,它证实了我放一个println
方法。 我错过了什么?
您是否安装了编辑策略?你是否将按钮添加到工具栏来激活它? – vainolo
是的,我在根编辑部分和节点编辑部分安装了编辑策略 – ssdimmanuel
我在将按钮添加到工具栏时遇到了一些问题。因此将操作添加到上下文菜单 – ssdimmanuel