Eclipse Common Navigator Framework

我的RAP应用程序上有一个Eclipse Common Navigator(特定于我们的项目)。 因此,通常,当用户在左侧导航器中使用资源时,它会在右侧导航器中打开。现在,假设,如果单击具有某个扩展名的文件,我想打开并弹出一个自定义消息对话框形式的用户前面。 我该怎么做到这一点     
已邀请:
或者,您可以使用关联的启动器注册特定编辑器:
<editor
        id="com.foo.MyEditor"
        launcher="com.foo.MyEditorLauncher"
        default="true"
        extensions="your_extension_here"
        icon="any icon for your file"
        name="Dialog editor">
 </editor>
并实现启动器以显示您想要的对话框:
public class MyEditorLauncher implements IEditorLauncher {
    @Override
    public void open(IPath path) {
        Shell shell = Display.getDefault().getActiveShell();
        MessageDialog.openInformation(shell, "Not Editable", "Can't open this element");
    }
}
用户将始终能够使用替代编辑器,但默认情况下他们将获得该消息。     
您将需要通过编辑器扩展点针对该扩展名的文件注册编辑器。该编辑器的主体可以是您想要的消息。     
尝试在navigatorContent中使用适当的启用注册ActionProvider(以便将其应用于您感兴趣的文件)。 在自定义操作提供程序(扩展CommonActionProvider)中,您可以在init方法中订阅doubleclick事件:
@Override
public void init(ICommonActionExtensionSite aSite) {
    super.init(aSite);
    IWorkbench workbench = MyPlugin.getDefault().getWorkbench();
    doubleclick = new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            // show Your Popup Here !!!
        }
    };
    aSite.getStructuredViewer().addDoubleClickListener(doubleclick);
}
    

要回复问题请先登录注册