打开两个具有相同标签的编辑器

时间:2014-12-12 16:37:34

标签: eclipse editor eclipse-rcp e4

我最近用eclipse e4开发了一个新的RCP应用程序,现在我遇到了一个问题,每当我想打开另一个具有相同标签的编辑器时,我无法打开它,因为我总是检查是否已经存在一个具有相同标签的打开编辑器,然后授予此编辑器焦点,以便将其置于零件堆栈之上。 每当用户双击树元素然后使用树元素名称作为标签时,我使用零件描述符动态打开编辑器。现在可能会发生一些树元素具有相同的标签...... 在eclipse e4中是否还有其他方法我可以检查编辑器是否已经打开,除了将所有打开的编辑器的标签与我想要打开的编辑器的标签进行比较?

任何帮助或指示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

默认方式是在创建编辑器时分配输入uri(e4中的InputPart)

MInputPart inputPart = MBasicFactory.INSTANCE.createInputPart();
inputPart.setInputURI("someInputUri");

然后你可以打电话:

Collection<MInputPart> inputParts = partService.getInputParts("someInputUri");

其中 partService EPartService 的实例。您可以使用此方法管理一组输入部件。