1. 标识:org.eclipse.ui.actionSets
2. 描述:这个控制点被用来向workbench window增加菜单(menus),菜单项(menu items)和工具栏按钮(toolbar buttons)。
3. 标识符说明:
1) actionSet:这个标识符用于定义一组行为(actions)与/或菜单(menus)
i. id:actionSet的唯一标识。
ii. label:向用户显示的名称。
iii. visible:透视图打开时是否可见。
iv. description:向用户显示的描述性信息。
2) action:这个标识符用于定义一个用户调用界面的行为(action)
i. id:用于引用这个action的唯一标识。
ii. label:向用户显示的名字。该名字同样是菜单项、工具栏按钮的标签。
iii. accelerator:用definitionId属性替代。
iv. definitionId:指定这个action将要执行的命令(command),key绑定服务可以为这个action分配一个key队列。可以从org.eclipse.ui.commands获得更多的信息。
v. menubarPath:使用“/”说明在菜单栏(menu bar)中的位置。除最后一个以外的每一个路径中的标识都必须是合法存在于菜单结构中的标识(id)。最后一个标识则是这个action要增加到的组名。如果这个路径未定义,则这个action将不显示在菜单栏中。
vi. toolbarPath:使用“/”说明在工具栏(toolbar)中的位置。第一个标识标识这个toolbar的标识(id)(Normal为缺省toolbar),当第二个标识是这个action将要增加到的工具栏的组(group)的标识,如果这个工具栏不存在组,那么组将要被创建。如果toolbarPath未定义,则这个action将不显示在工具栏中。
vii. icon:这个action的图标的上下文相对路径。如果该属性未定义并且action已经定义在了工具栏中,那么Workbench将要用一个空白图标。这个路径与plugin.xml文件位置有关。图标将显示在工具栏中,而不是菜单栏。激活的action将要在菜单中被hoverIcon描述。
viii. disabledIcon:当action不可用时显示的图标的上下文相对路径。如果未被定义,则将显示普通灰色的图标。这个路径与plugin.xml文件位置有关。不可用图标将显示在工具栏中,而不是菜单栏。菜单中不可用的action图标将被操作系统(OS)提供。
ix. hoverIcon:当鼠标滑过action时显示的图标的上下文相对路径。如果未定义,则使用一般的图标。这个路径与plugin.xml文件位置有关。
x. tooltip:action tool tip的描述文本。只有当action出现在工具栏中时才被使用。
xi. helpContextId:action帮助文档的标识(id)。如果action是菜单项(menu item),则当该action突出显示时按F1显示帮助信息。
xii. style:定义用户界面上action的样式类型。如果未定义则缺省使用“push”样式。属性值只能是下面枚举样式之一:
a) push:规则的菜单项或工具栏项。
b) radio:radio样式的菜单项或工具栏项。在同一个菜单或工具栏组中radio样式的action作为一个radio设置。初始值被state属性定义。
c) toggle:checked样式的菜单或工具栏项。初始值被state属性定义。
d) pulldown:层叠式菜单项样式或在工具栏项旁边的下拉式菜单。
xiii. state:指示初始状态的可选属性(ture或false)。只有当style属性是radio或toggle时可用。
xiv. pulldown:使用style的属性值pulldown代替。
xv. class:实现接口org.eclipse.ui.IworkbenchWindowActionDelegate或org.eclipse.ui.IworkbenchWindowPulldownDelegate的完整路径描述。这个类负责执行action。如果retarget属性是true,那么这个属性失效。
xvi. retarget:一个retarget action的可选属性。属性为true时,视图和编辑区基于标准机制使用action的id创建一个隶属于他们的全局action句柄(handler)。当属性值为true时,class可以不填写。
xvii. allowLabelUpdate:一个可选属性,说明retarget action是否允许这个action的句柄重写它的tooltip和label。只有当retarget属性为true时可用。
xviii. enablesFor:满足可用action的选择数量。如果特定的条件不被满足,这个action则不可用。如果未设置,则action的可用状态无效。属性值只能是下面枚举样式之一:
a) !:0个项目被选择。
b) ?:0或1个项目被选择。
c) +:1或更多的项目被选择。
d) multiple,2+:2或更多的项目被选择。
e) n:被选择项目的准确数。例如:enablesFor =" 4"则当4个项目被选择时使action可用。
f) *:任何数量的记录被选择。
3) menu:这个标识符用于定义一个新的menu。
i. id:可引用到这个menu的唯一标识。
ii. label:向用户显示的名称。
iii. path:从root到这个新menu位置的路径。除了最后路径中关于最后一个菜单的组路径描述外,路径中的标识都必须存在,如果未定义,则新的菜单将要被增加到菜单的additions组。
4) separator:这个标识符用于在新的menu中创建一个分隔符。
i. name:菜单分隔符的名称。这个名字可被菜单路径中的最后一个描述引用。因此,一个分隔符也可以作为action和menu可进行添加的分组。
5) groupMarker:这个标识符用于在新菜单中创建一个分组。它不像separator一样显示在新菜单中。
i. name:groupMarker的名称。这个名字可被菜单路径中的最后一个描述引用。它也可以作为action和menu可进行添加的分组。
6) selection:这个标识符用于确定当action被选择时是否可用。如果enablement属性被指定时无效。
i. class:每一个被选中的对象必须实现的使action可用的类或接口的完整路径描述。
ii. name:一个可选的适用于被选中所有对象的过滤卡的名称。如果描述和匹配失败,则action不可用。
7) enablement:这个标识符用于定义该扩展是否可用。
8) visibility:这个标识符用于定义该扩展是否可见。
9) and:这个标识符用于代表两个表达式的AND布尔运算结果。
10) or:这个标识符用于代表两个表达式的OR布尔运算结果。
11) not:这个标识符用于代表表达式的NOT布尔运算结果。这个标识符用于确定选中的对象是否实现了指定的类或接口。如果每一个选中的对象都实现了特定的类或接口,则表达式值为true。
i. name:类或接口的完整路径描述。只有当所有被选中的对象都实现了这个类或接口这个表达式才为true。
12) objectState:这个标识符用于确定每一个被选中对象的属性状态。如果每一个选中的对象都有指定的属性状态,则这个表达式为true。确定这个表示式的类型,每一个选中的对象都必须实现,或者实现org.eclipse.ui.IactionFilter接口。
i. name:对象的属性名。
ii. value:对象属性的值。
13) pluginState:这个标识符用于确定plug-in的状态。这个plug-in的状态可能是下述之一:installed(相当于OSGi标准的“resolved”)或activated(相当于OSGi标准的“active”)。
i. id:注册或未注册的plug-in的标识符
ii. value:plug-in的状态。这个plug-in的状态可能是下述之一:installed(相当于OSGi标准的“resolved”)或activated(相当于OSGi标准的“active”)。
14) systemProperty:这个标识符被用于确定一些系统属性的参数。这个属性值在java.lang.System中定义。
i. name:系统属性的名称。
ii. value:系统属性值。