将 Eclipse GEF 放大到特定位置
您好,我是 Eclipse GEF 的新手,我在缩放方面遇到问题。
基本上我希望有这个功能: 每当我关闭编辑器视图时,我希望编辑器按以前的比例缩放,最重要的是缩放到相同的位置。
我试图通过 Viewport 实现这样的功能,但我陷入了困境。
Hello I am new in Eclipse GEF and I am having problem with zooming.
Basically I would like to have this functionality:
Whenever I close my Editor View I would like to have Editor zoomed with previous scale and most importantly to the same location.
I was trying to achieve such functionality via Viewport, but I got stuck.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后我通过
setViewLocation(Position p)
方法找到了解决方案。棘手的部分在于其他地方 - 在执行此类方法之前,视口必须处于有效状态,
因此最好的方法是在视口的 UpdateManager 上执行
performUpdate()
。如果您在 GEF 编辑器中设置此类位置,则可能会出现另一种棘手的情况,因为设置位置必须在initializeGraphicalViewer()
方法中执行,而不是在configureGraphicalViewer()方法。
所以最终代码应该是这样的:
Finally I have found solution via
setViewLocation(Position p)
method.The tricky part lies elsewhere - before executing such method viewport must be in valid state,
so best approach is to execute
performUpdate()
on viewport's UpdateManager. Another tricky situation might occur if you are setting such position in GEF Editor because there setting location must be executed ininitializeGraphicalViewer()
method NOT inconfigureGraphicalViewer()
method.So in the end code should look like this: