从gef viewer拖放到编辑器

时间:2015-01-23 15:46:07

标签: eclipse drag-and-drop scroll figure eclipse-gef

我有一个ScrollingGraphicalViewer,其中包含一个数字列表,让我们称之为" group figures",代表一些具有它们之间关系的业务对象。每个"组图"可能包含一些其他相关的数字。每个"组图"都有编辑部分。

我希望能够将查看器中的任何图形拖放到另一个编辑器中。现在,查看器有一个拖动侦听器,用于扩展AbstractTransferDragSourceListener类。在侦听器内部,我们获得了查看器选择,这是所选组图的相应EditPart。

当观察者中有许多人物并且出现垂直滚动时,我无法根据拖动事件和图形坐标检测到我拖动的确切图形。我怎样才能获得拖拽的数字?

1 个答案:

答案 0 :(得分:1)

有关于DnD的GEF教程。这是:https://eclipse.org/articles/Article-GEF-dnd/GEF-dnd.html 我猜你可以假设你正在拖动选定的编辑部分。您还应该在查看器外设置DnDing人员的传输数据。传输数据最有可能是图的模型对象或图像。 如果你没有选择编辑部分,那么你必须弄清楚你在拖动开始时从mosule位置坐标中拖出的确切内容。使用查看器

#findObjectAtExcluding(Point location, Collection exclusionSet, Conditional conditional)

在鼠标下找到editpart的方法。从找到的editpart中,您可以获得或者图形来设置适当的传输数据。