1

我在图中有两个标签。默认情况下,gef 允许在用户单击编辑部分时执行直接编辑。我在同一个图中有两个标签,我必须对单击鼠标的标签执行直接编辑。但是现在当我单击两个标签时都显示为直接编辑?

我已经放置了编码

@Override
public void performRequest( final Request req )
{

if( req.getType().equals( RequestConstants.REQ_OPEN ) || req.getType().equals( RequestConstants.REQ_DIRECT_EDIT ) )
{

perform directedi()
} 
}
4

2 回答 2

2

您可以尝试阅读这篇文章:直接编辑是主题之一此外,是有关 GEF 开发的另一个有趣资源

于 2011-10-05T14:00:26.010 回答
0

我从来没有这样做过,但我的猜测是,要么您必须为每个标签创建一个编辑部分,然后每个编辑部分将获得 REQ_DIRECT 请求,或者您可以直接将一个 draw2d 侦听器插入标签并创建更具体的请求。第一个选项可以通过从包含图返回两个模型子节点来实现,您可能可以将它们存储在父节点中。工厂应该能够识别它们并创建一个新的编辑部分,然后创建一个仅包含标签并安装直接编辑策略的图形我不知道如何实施第二个解决方案:-)

于 2011-09-14T06:11:34.017 回答