Control element
Defines a JavaScript function that executes an action or launches a task pane. A Control element can be either a button or a menu option. At least one Control must be included in a Group element.
Attributes
| Attribute | Required | Description |
|---|---|---|
| xsi:type | Yes | The type of control being defined. Can be either Button, Menu, or MobileButton. |
| id | No | The ID of the control element. Can be a maximum of 125 characters. |
Note: The
MobileButtonvalue for xsi:type is defined in VersionOverrides schema 1.1. It only applies to the Control elements contained within a MobileFormFactor element.
Button control
A button performs a single action when the user selects it. It can either execute a function or show a task pane. Each button control must have an id unique to the manifest.
Child elements
| Element | Required | Description | |
|---|---|---|---|
| Label | Yes | The text for the button. The resid attribute must be set to the value of the id attribute of a String element in the ShortStrings element in the Resources element. | |
| ToolTip | No | The tooltip for the button. The resid attribute must be set to the value of the id attribute of a String element. The String element is a child of the LongStrings element, which is a child of the Resources element. | |
| Supertip | Yes | The supertip for the button. | |
| Icon | Yes | An image for the button. | |
| Action | Yes | Specifies the action to perform. |
ExecuteFunction button example
<Control xsi:type="Button" id="msgReadFunctionButton">
<Label resid="funcReadButtonLabel" />
<Supertip>
<Title resid="funcReadSuperTipTitle" />
<Description resid="funcReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="blue-icon-16" />
<bt:Image size="32" resid="blue-icon-32" />
<bt:Image size="80" resid="blue-icon-80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getSubject</FunctionName>
</Action>
</Control>
ShowTaskpane button example
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="green-icon-16" />
<bt:Image size="32" resid="green-icon-32" />
<bt:Image size="80" resid="green-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readTaskPaneUrl" />
</Action>
</Control>
Menu (dropdown button) controls
A menu defines a static list of options. Each menu item either executes a function or shows a task pane. Submenus are not supported.
When used with a PrimaryCommandSurface or ContextMenu extension point, the menu control defines:
-
A root-level menu item.
-
A list of submenu items.
When used with PrimaryCommandSurface, the root menu item displays as a button on the ribbon. When the button is selected, the submenu displays as a drop-down list. When used with ContextMenu, a menu item with a submenu is inserted on the context menu. In both cases, individual submenu items can either execute a JavaScript function or show a task pane. Only one level of submenus is supported at this time.
The following example shows how to define a menu item with two submenu items. The first submenu item shows a task pane, and the second submenu item runs a JavaScript function.
<Control xsi:type="Menu" id="TestMenu2">
<Label resid="residLabel3" />
<Tooltip resid="residToolTip" />
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon1_32x32" />
<bt:Image size="32" resid="icon1_32x32" />
<bt:Image size="80" resid="icon1_32x32" />
</Icon>
<Items>
<Item id="showGallery2">
<Label resid="residLabel3"/>
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon1_32x32" />
<bt:Image size="32" resid="icon1_32x32" />
<bt:Image size="80" resid="icon1_32x32" />
</Icon>
<Action xsi:type="ShowTaskpane">
<TaskpaneId>MyTaskPaneID1</TaskpaneId>
<SourceLocation resid="residUnitConverterUrl" />
</Action>
</Item>
<Item id="showGallery3">
<Label resid="residLabel5"/>
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon4_32x32" />
<bt:Image size="32" resid="icon4_32x32" />
<bt:Image size="80" resid="icon4_32x32" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getButton</FunctionName>
</Action>
</Item>
</Items>
</Control>
Child elements
| Element | Required | Description | |
|---|---|---|---|
| Label | Yes | The text for the button. The resid attribute must be set to the value of the id attribute of a String element in the ShortStrings element in the Resources element. | |
| ToolTip | No | The tooltip for the button. The resid attribute must be set to the value of the id attribute of a String element. The String element is a child of the LongStrings element, which is a child of the Resources element. | |
| Supertip | Yes | The supertip for this button. | |
| Icon | Yes | An image for the button. | |
| Items | Yes | A collection of Buttons to display within the menu. Contains the Item elements for each submenu item. Each Item element contains the child elements of the Button control. |
Menu control examples
<Control xsi:type="Menu" id="TestMenu2">
<Label resid="residLabel3" />
<Tooltip resid="residToolTip" />
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon1_32x32" />
<bt:Image size="32" resid="icon1_32x32" />
<bt:Image size="80" resid="icon1_32x32" />
</Icon>
<Items>
<Item id="showGallery2">
<Label resid="residLabel3"/>
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon1_32x32" />
<bt:Image size="32" resid="icon1_32x32" />
<bt:Image size="80" resid="icon1_32x32" />
</Icon>
<Action xsi:type="ShowTaskpane">
<TaskpaneId>MyTaskPaneID1</TaskpaneId>
<SourceLocation resid="residUnitConverterUrl" />
</Action>
</Item>
<Item id="showGallery3">
<Label resid="residLabel5"/>
<Supertip>
<Title resid="residLabel" />
<Description resid="residToolTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="icon4_32x32" />
<bt:Image size="32" resid="icon4_32x32" />
<bt:Image size="80" resid="icon4_32x32" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getButton</FunctionName>
</Action>
</Item>
</Items>
</Control>
<Control xsi:type="Menu" id="msgReadMenuButton">
<Label resid="menuReadButtonLabel" />
<Supertip>
<Title resid="menuReadSuperTipTitle" />
<Description resid="menuReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="red-icon-16" />
<bt:Image size="32" resid="red-icon-32" />
<bt:Image size="80" resid="red-icon-80" />
</Icon>
<Items>
<Item id="msgReadMenuItem1">
<Label resid="menuItem1ReadLabel" />
<Supertip>
<Title resid="menuItem1ReadLabel" />
<Description resid="menuItem1ReadTip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="red-icon-16" />
<bt:Image size="32" resid="red-icon-32" />
<bt:Image size="80" resid="red-icon-80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getItemClass</FunctionName>
</Action>
</Item>
</Items>
</Control>
MobileButton control
A mobile button performs a single action when the user selects it. It can either execute a function or show a task pane. Each mobile button control must have an id unique to the manifest.
The MobileButton value for xsi:type is defined in VersionOverrides schema 1.1. The containing VersionOverrides element must have an xsi:type attribute value of VersionOverridesV1_1.
Child elements
| Element | Required | Description |
|---|---|---|
| Label | Yes | The text for the button. The resid attribute must be set to the value of the id attribute of a String element in the ShortStrings element in the Resources element. |
| Icon | Yes | An image for the button. |
| Action | Yes | Specifies the action to perform. |
ExecuteFunction mobile button example
<Control xsi:type="MobileButton" id="msgReadFunctionButton">
<Label resid="funcReadButtonLabel" />
<Icon>
<bt:Image resid="blue-icon-16-1" size="25" scale="1" />
<bt:Image resid="blue-icon-16-2" size="25" scale="2" />
<bt:Image resid="blue-icon-16-3" size="25" scale="3" />
<bt:Image resid="blue-icon-32-1" size="32" scale="1" />
<bt:Image resid="blue-icon-32-2" size="32" scale="2" />
<bt:Image resid="blue-icon-32-3" size="32" scale="3" />
<bt:Image resid="blue-icon-80-1" size="48" scale="1" />
<bt:Image resid="blue-icon-80-2" size="48" scale="2" />
<bt:Image resid="blue-icon-80-3" size="48" scale="3" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getSubject</FunctionName>
</Action>
</Control>
ShowTaskpane mobile button example
<Control xsi:type="MobileButton" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Icon>
<bt:Image resid="blue-icon-16-1" size="25" scale="1" />
<bt:Image resid="blue-icon-16-2" size="25" scale="2" />
<bt:Image resid="blue-icon-16-3" size="25" scale="3" />
<bt:Image resid="blue-icon-32-1" size="32" scale="1" />
<bt:Image resid="blue-icon-32-2" size="32" scale="2" />
<bt:Image resid="blue-icon-32-3" size="32" scale="3" />
<bt:Image resid="blue-icon-80-1" size="48" scale="1" />
<bt:Image resid="blue-icon-80-2" size="48" scale="2" />
<bt:Image resid="blue-icon-80-3" size="48" scale="3" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readTaskPaneUrl" />
</Action>
</Control>