godot/doc/classes/PopupMenu.xml
Hugo Locurcio f7f6115f76
Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00

601 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="PopupMenu" inherits="Popup" category="Core" version="3.2">
<brief_description>
PopupMenu displays a list of options.
</brief_description>
<description>
PopupMenu is the typical Control that displays a list of options. They are popular in toolbars or context menus.
</description>
<tutorials>
</tutorials>
<methods>
<method name="add_check_item">
<return type="void">
</return>
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
Adds a new checkable item with text [code]label[/code]. An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="add_check_shortcut">
<return type="void">
</return>
<argument index="0" name="shortcut" type="ShortCut">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="add_icon_check_item">
<return type="void">
</return>
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="label" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
Adds a new checkable item with text [code]label[/code] and icon [code]texture[/code]. An [code]id[/code] can optionally be provided, as well as an accelerator ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="add_icon_check_shortcut">
<return type="void">
</return>
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="shortcut" type="ShortCut">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="add_icon_item">
<return type="void">
</return>
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="label" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="accel" type="int" default="0">
</argument>
<description>
Adds a new item with text [code]label[/code] and icon [code]texture[/code]. An [code]id[/code] can optionally be provided, as well as an accelerator keybinding ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_icon_shortcut">
<return type="void">
</return>
<argument index="0" name="texture" type="Texture">
</argument>
<argument index="1" name="shortcut" type="ShortCut">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="add_item">
<return type="void">
</return>
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
Adds a new item with text [code]label[/code]. An [code]id[/code] can optionally be provided, as well as an accelerator keybinding ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_radio_check_item">
<return type="void">
</return>
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="accel" type="int" default="0">
</argument>
<description>
The same as [method add_check_item], but the inserted item will look as a radio button.
[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
</description>
</method>
<method name="add_radio_check_shortcut">
<return type="void">
</return>
<argument index="0" name="shortcut" type="ShortCut">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="add_separator">
<return type="void">
</return>
<argument index="0" name="label" type="String" default="&quot;&quot;">
</argument>
<description>
Adds a separator between items. Separators also occupy an index.
</description>
</method>
<method name="add_shortcut">
<return type="void">
</return>
<argument index="0" name="shortcut" type="ShortCut">
</argument>
<argument index="1" name="id" type="int" default="-1">
</argument>
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="add_submenu_item">
<return type="void">
</return>
<argument index="0" name="label" type="String">
</argument>
<argument index="1" name="submenu" type="String">
</argument>
<argument index="2" name="id" type="int" default="-1">
</argument>
<description>
Adds an item with a submenu. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked. An id can optionally be provided, but if is isn't provided, one will be created from the index.
</description>
</method>
<method name="clear">
<return type="void">
</return>
<description>
Clear the popup menu, in effect removing all items.
</description>
</method>
<method name="get_item_accelerator" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="get_item_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the amount of items.
</description>
</method>
<method name="get_item_icon" qualifiers="const">
<return type="Texture">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the icon of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_id" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the id of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_index" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="id" type="int">
</argument>
<description>
Finds and return the index of the item containing a given [code]id[/code].
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the metadata of an item, which might be of any type. You can set it with [method set_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="get_item_shortcut" qualifiers="const">
<return type="ShortCut">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="get_item_submenu" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the submenu name of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_text" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the text of the item at index [code]idx[/code].
</description>
</method>
<method name="get_item_tooltip" qualifiers="const">
<return type="String">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="is_hide_on_window_lose_focus" qualifiers="const">
<return type="bool">
</return>
<description>
</description>
</method>
<method name="is_item_checkable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns [code]true[/code] if the item at index [code]idx[/code] is checkable in some way, i.e. if it has a checkbox or radio button.
[b]Note:[/b] Checkable items just display a checkmark or radio button, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="is_item_checked" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns [code]true[/code] if the item at index [code]idx[/code] is checked.
</description>
</method>
<method name="is_item_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns [code]true[/code] if the item at index [code]idx[/code] is disabled. When it is disabled it can't be selected, or its action invoked.
</description>
</method>
<method name="is_item_radio_checkable" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns [code]true[/code] if the item at index [code]idx[/code] has radio-button-style checkability.
[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
</description>
</method>
<method name="is_item_separator" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns [code]true[/code] if the item is a separator. If it is, it will be displayed as a line.
</description>
</method>
<method name="is_item_shortcut_disabled" qualifiers="const">
<return type="bool">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="remove_item">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Removes the item at index [code]idx[/code] from the menu.
[b]Note:[/b] The indices of items after the removed item will be shifted by one.
</description>
</method>
<method name="set_hide_on_window_lose_focus">
<return type="void">
</return>
<argument index="0" name="enable" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_item_accelerator">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="accel" type="int">
</argument>
<description>
Sets the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
</description>
</method>
<method name="set_item_as_checkable">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Sets whether the item at index [code]idx[/code] has a checkbox.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually.
</description>
</method>
<method name="set_item_as_radio_checkable">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
The same as [method set_item_as_checkable] but placing a radio button in case of enabling. If used for disabling, it's the same.
Remember this is just cosmetic and you have to add the logic for checking/unchecking items in radio groups.
</description>
</method>
<method name="set_item_as_separator">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="enable" type="bool">
</argument>
<description>
Mark the item at index [code]idx[/code] as a separator, which means that it would be displayed as a line.
</description>
</method>
<method name="set_item_checked">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="checked" type="bool">
</argument>
<description>
Sets the checkstate status of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_disabled">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="disabled" type="bool">
</argument>
<description>
Sets whether the item at index [code]idx[/code] is disabled or not. When it is disabled, it can't be selected and its action can't be invoked.
</description>
</method>
<method name="set_item_icon">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="icon" type="Texture">
</argument>
<description>
</description>
</method>
<method name="set_item_id">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="id" type="int">
</argument>
<description>
Sets the [code]id[/code] of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_metadata">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="metadata" type="Variant">
</argument>
<description>
Sets the metadata of an item, which may be of any type. You can later get it with [method get_item_metadata], which provides a simple way of assigning context data to items.
</description>
</method>
<method name="set_item_multistate">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="state" type="int">
</argument>
<description>
</description>
</method>
<method name="set_item_shortcut">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="shortcut" type="ShortCut">
</argument>
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
</description>
</method>
<method name="set_item_shortcut_disabled">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="disabled" type="bool">
</argument>
<description>
</description>
</method>
<method name="set_item_submenu">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="submenu" type="String">
</argument>
<description>
Sets the submenu of the item at index [code]idx[/code]. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked.
</description>
</method>
<method name="set_item_text">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="text" type="String">
</argument>
<description>
Sets the text of the item at index [code]idx[/code].
</description>
</method>
<method name="set_item_tooltip">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="tooltip" type="String">
</argument>
<description>
</description>
</method>
<method name="toggle_item_checked">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
<method name="toggle_item_multistate">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
</description>
</method>
</methods>
<members>
<member name="allow_search" type="bool" setter="set_allow_search" getter="get_allow_search">
If [code]true[/code], allows to navigate [PopupMenu] with letter keys. Default value: [code]false[/code].
</member>
<member name="hide_on_checkable_item_selection" type="bool" setter="set_hide_on_checkable_item_selection" getter="is_hide_on_checkable_item_selection">
</member>
<member name="hide_on_item_selection" type="bool" setter="set_hide_on_item_selection" getter="is_hide_on_item_selection">
</member>
<member name="hide_on_state_item_selection" type="bool" setter="set_hide_on_state_item_selection" getter="is_hide_on_state_item_selection">
</member>
<member name="submenu_popup_delay" type="float" setter="set_submenu_popup_delay" getter="get_submenu_popup_delay">
Sets the delay time for the submenu item to popup on mouse hovering. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item. Default value: [code]0.3[/code] seconds.
</member>
</members>
<signals>
<signal name="id_focused">
<argument index="0" name="id" type="int">
</argument>
<description>
Emitted when user navigated to an item of some [code]id[/code] using [code]ui_up[/code] or [code]ui_down[/code] action.
</description>
</signal>
<signal name="id_pressed">
<argument index="0" name="id" type="int">
</argument>
<description>
Emitted when an item of some [code]id[/code] is pressed or its accelerator is activated.
</description>
</signal>
<signal name="index_pressed">
<argument index="0" name="index" type="int">
</argument>
<description>
Emitted when an item of some [code]index[/code] is pressed or its accelerator is activated.
</description>
</signal>
</signals>
<constants>
</constants>
<theme_items>
<theme_item name="checked" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
<theme_item name="font_color_accel" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
</theme_item>
<theme_item name="font_color_hover" type="Color">
</theme_item>
<theme_item name="hover" type="StyleBox">
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
<theme_item name="labeled_separator_left" type="StyleBox">
</theme_item>
<theme_item name="labeled_separator_right" type="StyleBox">
</theme_item>
<theme_item name="panel" type="StyleBox">
</theme_item>
<theme_item name="panel_disabled" type="StyleBox">
</theme_item>
<theme_item name="radio_checked" type="Texture">
</theme_item>
<theme_item name="radio_unchecked" type="Texture">
</theme_item>
<theme_item name="separator" type="StyleBox">
</theme_item>
<theme_item name="submenu" type="Texture">
</theme_item>
<theme_item name="unchecked" type="Texture">
</theme_item>
<theme_item name="vseparation" type="int">
</theme_item>
</theme_items>
</class>