0

我的 RAP 应用程序上有一个 Eclipse Common Navigator(特定于我们的项目)。所以,一般来说,当用户在左侧导航器中使用资源时,它会在右侧导航器中打开。现在,假设,如果单击具有某些扩展名的文件,我想打开打开并弹出的自定义消息以对话框的形式呈现在用户面前。我怎样才能做到这一点

4

3 回答 3

0

或者,您可以使用关联的启动器注册特定的编辑器:

<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");
    }
}

用户将始终能够使用其他编辑器,但默认情况下他们会收到该消息。

于 2011-03-30T14:03:15.460 回答
0

尝试使用适当的启用在 navigatorContent 中注册 ActionProvider(以便将其应用于您感兴趣的文件)。

在您的自定义操作提供程序(扩展 CommonActionProvider)中,您可以订阅 init 方法中的双击事件:

@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);
}
于 2011-03-28T10:13:52.720 回答
0

您将希望通过 editors 扩展点针对该扩展名的文件注册一个编辑器。该编辑器的正文可以是您想要的消息。

于 2011-03-26T20:40:15.037 回答