【问题标题】:GEF : automatic scrolling during drag and dropGEF:拖放期间自动滚动
【发布时间】:2013-09-10 20:48:59
【问题描述】:

我有一个用 GEF 编写的图形编辑器。在此编辑器中,可以拖放元素并通过拖放特定锚点来创建连接。

一切正常,除了当用户拖动东西时图表不会自动滚动。

我希望当用户在拖动某些东西时到达图表的一侧时图表会自动滚动。

GEF 是否支持这样的功能?应该调用哪个类/设置器来启用它?

如果不直接支持,如何实现?

【问题讨论】:

    标签: java eclipse eclipse-gef


    【解决方案1】:

    自从我上次摆弄 GEF 以来已经有一段时间了。

    拖放根本不起作用还是仅在负坐标方向上不起作用? 你用的是什么布局?

    IIRC,有不同的布局,其中一种(FreeForm?)支持负坐标,所以如果您只是遇到负坐标问题,您可以尝试更改布局。

    这是一个Scrolling Graphical editor 的示例(作者说;)),它可能会给你一个很好的提示。

    还有一个名为 org.eclipse.gef.ui.parts.ScrollingGraphicalViewer 的类也可能有所帮助。

    不过,只是提示,因为我不知道你的代码。

    【讨论】:

      【解决方案2】:

      第一步是让你的画布可滚动。这在in this book,第 96 - 101 页进行了解释。

      假设您已经在FigureCanvas 上绘制图形并且您正在使用FreeformFigures 和FreeformLayer,您可以执行以下操作:

      FigureEditPart 中添加MouseMoveListener。每次检测到拖拽时,在mouseDragEvent方法中,用getViewer().reveal(EditPart.this)显示你的身影。

      这将导致您的Figure 在被拖动时始终显示出来。

      【讨论】:

      • 你能说出书名和作者吗?上面的链接已经失效了。
      • @Simon “Eclipse 图形编辑框架 (GEF)”,作者 Dan Rubel、Jaime Wren 和 Eric Clayberg。它是“日食系列”的一部分。这本书的封面是深紫色的白色。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 2016-05-09
      • 2019-12-18
      • 2011-07-06
      • 1970-01-01
      相关资源
      最近更新 更多