在eclipse gef中直接编辑选中的标签



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

我已经把编码

@Override
public void performRequest( final Request req )
{
if( req.getType().equals( RequestConstants.REQ_OPEN ) || req.getType().equals( RequestConstants.REQ_DIRECT_EDIT ) )
{
perform directedi()
} 
}

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

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

最新更新