В чем разница между параметрами команды и параметрами вклада меню

Я вижу, что параметры могут быть определены для команд, определенных с помощью точки расширения команд. Я не могу определить значение для этих параметров команды.

Я также могу определить параметры в элементе Command в точке расширения меню при определении пунктов меню. Здесь я могу определить значение параметра.

Отличаются ли параметры команды в Command от параметров в вкладах меню? Если они разные, то чем они отличаются?


person Saurabh    schedule 21.12.2010    source источник


Ответы (2)


Плагин org.eclipse.ui.command позволяет объявлять параметры для ваших команд. Когда вы добавляете параметр в свою команду, вы должны установить и id, тип и список возможных значений для вашего параметра, реализующего IParameterValues.

После этого вы можете добавить эту команду в пункт меню с параметрами и их значениями.

Например, представьте, что у вас есть команда с идентификатором org.rcp.commands.new. И он определил параметр с именем «тип» и возможными значениями (файл, проект и папка). Вы сможете добавить три пункта меню с commandId = "org.rcp.commands.new" для каждого параметра

Образец plugin.xml

...

Дополнительную информацию можно найти по этой ссылке: http://blog.eclipse-tips.com/2008/12/commands-part-3-parameters-for-commands.html

person yeraycaballero    schedule 18.01.2011

Разница в основном такая же, как объявление аргумента функции - func(int a) и спецификация именованного аргумента в вызове функции - например. func(a=1).

Вот небольшой пример, иллюстрирующий разницу между ними. Следующее объявление определяет новую команду с одним параметром. Параметр имеет как id, так и name. id используется позже, тогда как name используется только в нескольких представлениях, и здесь его можно не учитывать. Так что это действительно просто showName(String header).

<extension
    point="org.eclipse.ui.commands">
<command
    categoryId="com.rcpcompany.training.demo33.providers.ui.category.demoCommands"
    description="Shows the name of the current resource"
    id="com.rcpcompany.training.demo33.providers.ui.commands.showName"
    name="&amp;Show Name">
    <commandParameter
        id="header"
        name=”Header“ />
</command>
</extension>

Здесь мы используем ту же команду со значением аргумента header. Итак, это showName(header="The selected resource is....").

<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="com.rcpcompany.training.demo33.providers.ui.toolbar1">
    <command
        commandId="com.rcpcompany.training.demo33.providers.ui.commands.showName">
    <parameter
        name="header"
        value="The selected resource is...." />
    </command>
</toolbar>
</menuContribution>

Обратите внимание, что атрибут id объявления параметра является атрибутом name использования параметра... Так что это header, а не Header.

person Tonny Madsen    schedule 30.06.2011