Document PopupMenu node.

This commit is contained in:
Zak 2019-06-19 22:35:00 +03:00 committed by Rémi Verschelde
parent 6e03236574
commit 316931998c
1 changed files with 70 additions and 23 deletions

View File

@ -4,7 +4,7 @@
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.
[PopupMenu] is a [Control] that displays a list of options. They are popular in toolbars or context menus.
</description>
<tutorials>
</tutorials>
@ -19,8 +19,9 @@
<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.
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. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_check_shortcut">
@ -33,6 +34,9 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
Adds a new checkable item and assigns the specified [ShortCut] to it. Sets the label of the checkbox to the [ShortCut]'s name.
An [code]id[/code] can optionally be provided. 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. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_check_item">
@ -47,8 +51,9 @@
<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.
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. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_check_shortcut">
@ -63,6 +68,9 @@
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
Adds a new checkable item and assigns the specified [ShortCut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [ShortCut]'s name.
An [code]id[/code] can optionally be provided. 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. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_icon_item">
@ -77,7 +85,8 @@
<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.
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 ([code]accel[/code]). If no [code]id[/code] is provided, one will be created from the index. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
</description>
</method>
<method name="add_icon_shortcut">
@ -92,6 +101,8 @@
<argument index="3" name="global" type="bool" default="false">
</argument>
<description>
Adds a new item and assigns the specified [ShortCut] and icon [code]texture[/code] to it. Sets the label of the checkbox to the [ShortCut]'s name.
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_item">
@ -104,7 +115,8 @@
<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.
Adds a new 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. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
</description>
</method>
<method name="add_radio_check_item">
@ -117,8 +129,9 @@
<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.
Adds a new radio button 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. If no [code]accel[/code] is provided then the default [code]0[/code] will be assigned to it. See [method get_item_accelerator] for more info on accelerators.
[b]Note:[/b] Checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_radio_check_shortcut">
@ -131,6 +144,9 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
Adds a new radio check button and assigns a [ShortCut] to it. Sets the label of the checkbox to the [ShortCut]'s name.
An [code]id[/code] can optionally be provided. 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. See [method set_item_checked] for more info on how to control it.
</description>
</method>
<method name="add_separator">
@ -152,6 +168,8 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
Adds a [ShortCut].
An [code]id[/code] can optionally be provided. If no [code]id[/code] is provided, one will be created from the index.
</description>
</method>
<method name="add_submenu_item">
@ -164,14 +182,15 @@
<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.
Adds an item that will act as a submenu of the parent [PopupMenu] node when clicked. The [code]submenu[/code] argument is the name of the child [PopupMenu] node that will be shown when the item is clicked.
An [code]id[/code] can optionally be provided. If no [code]id[/code] is 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.
Removes all items from the [PopupMenu].
</description>
</method>
<method name="get_item_accelerator" qualifiers="const">
@ -187,7 +206,7 @@
<return type="int">
</return>
<description>
Returns the amount of items.
Returns the number of items in the [PopupMenu].
</description>
</method>
<method name="get_item_icon" qualifiers="const">
@ -205,7 +224,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the id of the item at index [code]idx[/code].
Returns the id of the item at index [code]idx[/code]. [code]id[/code] can be manually assigned, while index can not.
</description>
</method>
<method name="get_item_index" qualifiers="const">
@ -214,7 +233,7 @@
<argument index="0" name="id" type="int">
</argument>
<description>
Finds and return the index of the item containing a given [code]id[/code].
Returns the index of the item containing the specified [code]id[/code]. Index is automatically assigned to each item by the engine. Index can not be set manualy.
</description>
</method>
<method name="get_item_metadata" qualifiers="const">
@ -223,7 +242,7 @@
<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.
Returns the metadata of the specified 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">
@ -232,6 +251,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the [ShortCut] associated with the specified [code]idx[/code] item.
</description>
</method>
<method name="get_item_submenu" qualifiers="const">
@ -240,7 +260,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the submenu name of the item at index [code]idx[/code].
Returns the submenu name of the item at index [code]idx[/code]. See [method add_submenu_item] for more info on how to add a submenu.
</description>
</method>
<method name="get_item_text" qualifiers="const">
@ -258,12 +278,14 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the tooltip associated with the specified index index [code]idx[/code].
</description>
</method>
<method name="is_hide_on_window_lose_focus" qualifiers="const">
<return type="bool">
</return>
<description>
Returns whether the popup will be hidden when the window loses focus or not.
</description>
</method>
<method name="is_item_checkable" qualifiers="const">
@ -292,6 +314,7 @@
</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.
See [method set_item_disabled] for more info on how to disable an item.
</description>
</method>
<method name="is_item_radio_checkable" qualifiers="const">
@ -300,7 +323,7 @@
<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.
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>
@ -310,7 +333,7 @@
<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.
Returns [code]true[/code] if the item is a separator. If it is, it will be displayed as a line. See [method add_separator] for more info on how to add a separator.
</description>
</method>
<method name="is_item_shortcut_disabled" qualifiers="const">
@ -319,6 +342,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns whether the shortcut of the specified item [code]idx[/code] is disabled or not.
</description>
</method>
<method name="remove_item">
@ -337,6 +361,7 @@
<argument index="0" name="enable" type="bool">
</argument>
<description>
Hides the [PopupMenu] when the window loses focus.
</description>
</method>
<method name="set_item_accelerator">
@ -358,7 +383,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
Sets whether the item at index [code]idx[/code] has a checkbox.
Sets whether the item at index [code]idx[/code] has a checkbox. If [code]false[/code], sets the type of the item to plain text.
[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>
@ -370,8 +395,7 @@
<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.
Sets the type of the item at the specified index [code]idx[/code] to radio button. If false, sets the type of the item to plain text.
</description>
</method>
<method name="set_item_as_separator">
@ -382,7 +406,7 @@
<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.
Mark the item at index [code]idx[/code] as a separator, which means that it would be displayed as a line. If [code]false[/code], sets the type of the item to plain text.
</description>
</method>
<method name="set_item_checked">
@ -415,6 +439,7 @@
<argument index="1" name="icon" type="Texture">
</argument>
<description>
Replaces the [Texture] icon of the specified [code]idx[/code].
</description>
</method>
<method name="set_item_id">
@ -459,6 +484,7 @@
<argument index="2" name="global" type="bool" default="false">
</argument>
<description>
Sets a [ShortCut] for the specified item [code]idx[/code].
</description>
</method>
<method name="set_item_shortcut_disabled">
@ -469,6 +495,7 @@
<argument index="1" name="disabled" type="bool">
</argument>
<description>
Disables the [ShortCut] of the specified index [code]idx[/code].
</description>
</method>
<method name="set_item_submenu">
@ -479,7 +506,7 @@
<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.
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">
@ -501,6 +528,7 @@
<argument index="1" name="tooltip" type="String">
</argument>
<description>
Sets the [String] tooltip of the item at the specified index [code]idx[/code].
</description>
</method>
<method name="toggle_item_checked">
@ -509,6 +537,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
Toggles the check state of the item of the specified index [code]idx[/code].
</description>
</method>
<method name="toggle_item_multistate">
@ -525,10 +554,13 @@
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">
If [code]true[/code], hides the [PopupMenu] when a checkbox or radio button is selected.
</member>
<member name="hide_on_item_selection" type="bool" setter="set_hide_on_item_selection" getter="is_hide_on_item_selection">
If [code]true[/code], hides the [PopupMenu] when an item is selected.
</member>
<member name="hide_on_state_item_selection" type="bool" setter="set_hide_on_state_item_selection" getter="is_hide_on_state_item_selection">
If [code]true[/code], hides the [PopupMenu] when a state item is selected.
</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.
@ -561,40 +593,55 @@
</constants>
<theme_items>
<theme_item name="checked" type="Texture">
Sets a custom [Texture] icon for [code]checked[/code] state of checkbox items.
</theme_item>
<theme_item name="font" type="Font">
Sets a custom [Font].
</theme_item>
<theme_item name="font_color" type="Color">
Sets a custom [Color] for the [Font].
</theme_item>
<theme_item name="font_color_accel" type="Color">
</theme_item>
<theme_item name="font_color_disabled" type="Color">
Sets a custom [Color] for disabled text.
</theme_item>
<theme_item name="font_color_hover" type="Color">
Sets a custom [Color] for the hovered text.
</theme_item>
<theme_item name="hover" type="StyleBox">
Sets a custom [StyleBox] when the [PopupMenu] is hovered.
</theme_item>
<theme_item name="hseparation" type="int">
Sets the horizontal space separation between each item.
</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">
Sets a custom [StyleBox] for the panel of the [PopupMenu].
</theme_item>
<theme_item name="panel_disabled" type="StyleBox">
Sets a custom [StyleBox] for the panel of the [PopupMenu], when the panel is disabled.
</theme_item>
<theme_item name="radio_checked" type="Texture">
Sets a custom [Texture] icon for [code]checked[/code] of radio button items.
</theme_item>
<theme_item name="radio_unchecked" type="Texture">
Sets a custom [Texture] icon for [code]unchecked[/code] of radio button items.
</theme_item>
<theme_item name="separator" type="StyleBox">
Sets a custom [StyleBox] for separator's.
</theme_item>
<theme_item name="submenu" type="Texture">
Sets a custom [Texture] for submenu's.
</theme_item>
<theme_item name="unchecked" type="Texture">
Sets a custom [Texture] icon for [code]unchecked[/code] of checkbox items.
</theme_item>
<theme_item name="vseparation" type="int">
Sets the vertical space separation between each item.
</theme_item>
</theme_items>
</class>