刘广昱
骑士
骑士
  • UID363
  • 粉丝1
  • 关注1
  • 发帖数31
  • 社区居民
阅读:23499回复:1

如何取到eclipse编辑器中当前打开的gef文件

楼主#
更多 发布于:2017-12-05 19:41
因项目需要,需在gef文件的编辑器中的右键菜单中添加新增gef文件的菜单项。在开发的过程中需要获取编辑器当前打开的gef文件所在的文件夹的路径来作为新增文件的默认路径,故遇到了这个问题。
刘广昱
骑士
骑士
  • UID363
  • 粉丝1
  • 关注1
  • 发帖数31
  • 社区居民
沙发#
发布于:2017-12-05 19:56
一开始尝试通过获取ISelection后再通过当前选择的元素来获取IFile,但是这样做最终只能取到当前选择的gef图形对应的editpart的IFile,并不能达到预期的效果。
最终解决的方法是在GraphicalEditor图形编辑器中通过getGraphicalViewer()方法获取GraphicalViewer后通过一系列方法获取到当前打开的gef文件的IFile资源,具体如下:
IEditorInput input = ((DefaultEditDomain)(getGraphicalViewer().getEditDomain())).getEditorPart().getEditorInput();
IFile file = ((IFileEditorInput)input).getFile();
游客

返回顶部