【问题标题】:RCP Command with object argument带有对象参数的 RCP 命令
【发布时间】:2011-04-05 16:24:40
【问题描述】:

我想在代码中调用 RCP 命令,如下所示:

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
    handlerService.executeCommand(cmdID, null);

使用更多的代码,我可以通过组装参数化对象然后构建ParameterizedCommand 等等来调用带有字符串参数的命令,但参数化只允许字符串值,并且不能被子类化。

我真正想做的是以对象作为参数调用命令。我该怎么做?

【问题讨论】:

    标签: eclipse-rcp rcp


    【解决方案1】:

    使用ParameterizedCommand.generateCommand()。您可以在映射中传递命令对象(从ICommandService 获得)和参数。

    【讨论】:

    • 那行不通。如果我尝试添加对象而不是字符串,我只会收到“无法转换为 java.lang.String”异常。
    • 我查看了这个,看起来您还需要定义一个 ParemeterValueConverter 来将您的对象转换为字符串并返回。我觉得这很不切实际,tbh。您也许可以对某些参数使用 HandlerUtil.getCurrentSelection(event)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多