The SnomIPPhoneMenu (or IPPhoneMenu) tag displays a Menu of selectable items. These items can either be sub-menus, containing items themselves, or items with a specific target (like URLs, key-events or internal callbacks)
See examples for this tag below.
XXS = 18
XS = 24
S = 36
M = 48
L = 60
XL = 72
XXL = 84
XXXL = 96
See an example of using the IconSize here.
The SnomIPPhoneMenu can contain any of the subtags from the Main Subtags list.
In addition, it contains the following subtags:
A sub-menu containing menu elements.
speedselect
Description: Name that is displayed for this menu entry in the parent menu. This is also the default title for menu elements, if none is specified. This attribute is required.
Valid Values: Any text.
Don't use line break inside this attribute. |
Below are the tags that a Menu tag can contain.
Description: Title of the sub-menu.
Valid Values: Any text.
Don't use line break inside this attribute. |
Describes a menu entry that targets to either an URL, a key event or an internal callback.
Valid Values: Any text.
Don't use line break inside this attribute. |
Here are the tags that a MenuItem tag can contain:
See InputField above.
<SnomIPPhoneMenu> <Menu name="name attr menu"> <Title>2nd layer title tag</Title> <MenuItem name="2nd,1st menuitem"/> <MenuItem name="2nd,2nd menuitem"/> </Menu> <MenuItem name="name attr menuitem"/> <MenuItem name="name tag menuitem"/> </SnomIPPhoneMenu> |
<SnomIPPhoneMenu> <MenuItem name="local:snom photo unknown "> <Image default="file:///bmp/colored/snom_photo_unknown.png">file:///bmp/colored/snom_photo_unknown.png</Image> </MenuItem> <MenuItem name="local:conference_one.png"> <Image default="file:///bmp/colored/snom_photo_unknown.png">File:///bmp/colored/input_info_images/conference_one.png</Image> </MenuItem> <MenuItem name="url image1"> <Image default="file:///bmp/colored/snom_photo_unknown.png">http://docs.snom.io/xml_minibrowser/examples/img/Icon_radiation.png</Image> </MenuItem> <MenuItem name="invalid url/image without default"> <Image>http://randomurl.com/random_image.png</Image> </MenuItem> <MenuItem name="invalid url/image"> <Image default="file:///bmp/colored/snom_photo_unknown.png">http://randomurl.com/random_image.png</Image> </MenuItem> </SnomIPPhoneMenu> |
<SnomIPPhoneMenu> <Title>Icon examples</Title> <MenuItem name="Accept call icon"> <Icon>file:///bmp/colored/fkey_icons/24x24/accept_call.png</Icon> </MenuItem> <MenuItem name="Away icon"> <Icon>file:///bmp/colored/contact_state_icons/36x36/away.png</Icon> </MenuItem> <MenuItem name="Microphone example"> <Icon>file:///bmp/colored/settings_window_icons/30x30/microphone.png</Icon> </MenuItem> </SnomIPPhoneMenu> |
kIconTypeOverlayHold also does not exist in size 18 - see call_overlay. The icon will not work correctly with size 18, it needs the size to be 96, 84, 72, 60, 48 or 36
<SnomIPPhoneMenu> <IconSize>XXS</IconSize> <MenuItem name="Example with correct IconSize"> <IconType>$(icon_type_enum:kIconTypeContactStateDND)</IconType> </MenuItem> <MenuItem name="Another example with correct IconSize"> <IconType>$(icon_type_enum:kIconTypeSymbolHold)</IconType> </MenuItem> <MenuItem name="Example with incorrect IconSize"> <IconType>$(icon_type_enum:kIconTypeCallHistoryMissed)</IconType> </MenuItem> <MenuItem name="Another example with incorrect IconSize"> <IconType>$(icon_type_enum:kIconTypeOverlayHold)</IconType> </MenuItem> </SnomIPPhoneMenu> |
Result:
This example shows the usage of Extra IconType and ExtraIconType2. The example was tested on Snom D375 with firmware version 10.1.64.14.
In order for the ExtraIcons to work, the chosen icons must exist in size 18. In the below example, the second ExtraIconType2 ($(icon_type_enum:kIconTypeCallHistoryMissed)) does not work because kIconTypeCallHistoryMissed does not exist in size 18 (see icontype_icons)
<SnomIPPhoneMenu name="ExtraIconTypes"> <MenuItem name="Example - correct"> <ExtraIconType>$(icon_type_enum:kIconTypeRinging)</ExtraIconType> <ExtraIconType2>$(icon_type_enum:kIconTypeMenuReboot)</ExtraIconType2> </MenuItem> <MenuItem name="Example - ExtraIconType2 incorrect"> <ExtraIconType>$(icon_type_enum:kIconTypeRinging)</ExtraIconType> <ExtraIconType2>$(icon_type_enum:kIconTypeCallHistoryMissed)</ExtraIconType2> </MenuItem> </SnomIPPhoneMenu> |
Result:
<SnomIPPhoneMenu> <MenuItem name="Text example"> <ExtraText>ExtraText here</ExtraText> <SubText>SubText here</SubText> </MenuItem> </SnomIPPhoneMenu> |
Result:
<SnomIPPhoneMenu name="Menu customization"> <Menu name="Default Menu"> <MenuItem name="Some MenuItem"> </MenuItem> </Menu> <Menu name="Customized Menu"> <IconType>$(icon_type_enum:kIconTypeContactStateDND)</IconType> <ExtraIconType>$(icon_type_enum:kIconTypeRinging)</ExtraIconType> <ExtraIconType2>$(icon_type_enum:kIconTypeMenuReboot)</ExtraIconType2> <MenuItem name="Some MenuItem"> </MenuItem> </Menu> </SnomIPPhoneMenu> |
Result:
<SnomIPPhoneMenu> <Menu name="normal menu" speedselect="off"> <Title>normal menu title</Title> <InputField> <Handler event="keypress">file:///xml/text.xml#var:text=$[current_input]</Handler> <Handler event="timeout">file:///xml/text.xml#var:text=TIMEOUT:$[current_input]</Handler> <Timeout>3000</Timeout> <Minimum>3</Minimum> <Prompt>Input:</Prompt> <Key>ENTER</Key> </InputField> <Menuitem name="Judith Bernhardt" /> <Menuitem name="Leigh Vargas" /> <Menuitem name="William Kosinski" /> </Menu> </SnomIPPhoneMenu> |
<SnomIPPhoneMenu> <MenuItem name="show system information"> <Action>sysinfo</Action> </MenuItem> <MenuItem name="change handset volume"> <Action>vol_handset</Action> </MenuItem> </SnomIPPhoneMenu> |
Result:
<IPPhoneMenu> <Title>Example InputField</Title> <SoftKeyItem> <Name>F4</Name> <Label>Save</Label> <Url>phone://mb_nop#flush&go_back</Url> </SoftKeyItem> <InputField> <ExtraText>fkey_label1</ExtraText> <DefaultValue>$(set:fkey_label1)</DefaultValue> <Timeout>100</Timeout> <Handler event="timeout">phone://mb_nop#setcache:fkey_label1=$[current_input]</Handler> </InputField> <InputField> <ExtraText>fkey_label2</ExtraText> <DefaultValue>$(set:fkey_label2)</DefaultValue> <Timeout>100</Timeout> <Handler event="timeout">phone://mb_nop#setcache:fkey_label2=$[current_input]</Handler> </InputField> <InputField> <ExtraText>fkey_label3</ExtraText> <DefaultValue>$(set:fkey_label3)</DefaultValue> <Timeout>100</Timeout> <Handler event="timeout">phone://mb_nop#setcache:fkey_label3=$[current_input]</Handler> </InputField> </IPPhoneMenu> |