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