PopupMenu

    PopupMenu displays a list of options.

    is a that displays a list of options. They are popular in toolbars or context menus.

    Properties

    voidadd_check_item ( label, int id=-1, accel=0 )
    voidadd_check_shortcut ( shortcut, int id=-1, global=false )
    voidadd_icon_check_item ( texture, String label, id=-1, int accel=0 )
    void ( Texture texture, shortcut, int id=-1, global=false )
    voidadd_icon_item ( texture, String label, id=-1, int accel=0 )
    void ( Texture texture, label, int id=-1, accel=0 )
    voidadd_icon_radio_check_shortcut ( texture, ShortCut shortcut, id=-1, bool global=false )
    void ( Texture texture, shortcut, int id=-1, global=false )
    voidadd_item ( label, int id=-1, accel=0 )
    voidadd_multistate_item ( label, int max_states, default_state=0, int id=-1, accel=0 )
    voidadd_radio_check_item ( label, int id=-1, accel=0 )
    voidadd_radio_check_shortcut ( shortcut, int id=-1, global=false )
    voidadd_separator ( label=””, int id=-1 )
    void ( ShortCut shortcut, id=-1, bool global=false )
    void ( String label, submenu, int id=-1 )
    void ( )
    int ( ) const
    int ( int idx ) const
    get_item_count ( ) const
    get_item_icon ( idx ) const
    int ( int idx ) const
    get_item_index ( id ) const
    Variant ( int idx ) const
    get_item_shortcut ( idx ) const
    String ( int idx ) const
    get_item_text ( idx ) const
    String ( int idx ) const
    is_hide_on_window_lose_focus ( ) const
    is_item_checkable ( idx ) const
    bool ( int idx ) const
    is_item_disabled ( idx ) const
    bool ( int idx ) const
    is_item_separator ( idx ) const
    bool ( int idx ) const
    void ( int idx )
    void ( bool enable )
    void ( int idx, accel )
    voidset_item_as_checkable ( idx, bool enable )
    void ( int idx, enable )
    voidset_item_as_separator ( idx, bool enable )
    void ( int idx, checked )
    voidset_item_disabled ( idx, bool disabled )
    void ( int idx, icon )
    voidset_item_id ( idx, int id )
    void ( int idx, metadata )
    voidset_item_multistate ( idx, int state )
    void ( int idx, shortcut, bool global=false )
    void ( int idx, disabled )
    voidset_item_submenu ( idx, String submenu )
    void ( int idx, text )
    voidset_item_tooltip ( idx, String tooltip )
    void ( int idx )
    void ( int idx )

    Theme Properties

    • id_focused ( id )

    Emitted when user navigated to an item of some id using ui_up or ui_down action.


    • id_pressed ( int id )

    Emitted when an item of some id is pressed or its accelerator is activated.


    • index_pressed ( index )

    Emitted when an item of some index is pressed or its accelerator is activated.

    Property Descriptions

    Defaultfalse
    Setterset_allow_search(value)
    Getterget_allow_search()

    If true, allows to navigate PopupMenu with letter keys.


    • hide_on_checkable_item_selection

    If true, hides the PopupMenu when a checkbox or radio button is selected.


    • bool hide_on_item_selection
    Defaulttrue
    Setterset_hide_on_item_selection(value)
    Getteris_hide_on_item_selection()

    If true, hides the PopupMenu when an item is selected.


    • hide_on_state_item_selection

    If true, hides the PopupMenu when a state item is selected.


    • float submenu_popup_delay
    Default0.3
    Setterset_submenu_popup_delay(value)
    Getterget_submenu_popup_delay()

    Sets the delay time in seconds 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.

    • void add_check_item ( label, int id=-1, accel=0 )

    Adds a new checkable item with text label.

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See get_item_accelerator for more info on accelerators.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.


    • void add_check_shortcut ( ShortCut shortcut, id=-1, bool global=false )

    Adds a new checkable item and assigns the specified to it. Sets the label of the checkbox to the ShortCut‘s name.

    An id can optionally be provided. If no id is provided, one will be created from the index.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.


    • void add_icon_check_item ( Texture texture, label, int id=-1, accel=0 )

    Adds a new checkable item with text label and icon texture.

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See get_item_accelerator for more info on accelerators.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See for more info on how to control it.


    • void add_icon_check_shortcut ( Texture texture, shortcut, int id=-1, global=false )

    Adds a new checkable item and assigns the specified ShortCut and icon texture to it. Sets the label of the checkbox to the ‘s name.

    An id can optionally be provided. If no is provided, one will be created from the index.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See set_item_checked for more info on how to control it.


    • void add_icon_item ( texture, String label, id=-1, int accel=0 )

    Adds a new item with text label and icon texture.

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.


    • void add_icon_radio_check_item ( Texture texture, label, int id=-1, accel=0 )

    Same as add_icon_check_item, but uses a radio check button.


    • void add_icon_radio_check_shortcut ( texture, ShortCut shortcut, id=-1, bool global=false )

    Same as , but uses a radio check button.


    Adds a new item and assigns the specified ShortCut and icon texture to it. Sets the label of the checkbox to the ‘s name.

    An id can optionally be provided. If no id is provided, one will be created from the index.


    • void add_item ( String label, id=-1, int accel=0 )

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.


    • void add_multistate_item ( String label, max_states, int default_state=0, id=-1, int accel=0 )

    Adds a new multistate item with text label.

    Contrarily to normal binary items, multistate items can have more than two states, as defined by max_states. Each press or activate of the item will increase the state by one. The default value is defined by default_state.

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.


    • void add_radio_check_item ( String label, id=-1, int accel=0 )

    Adds a new radio check button with text label.

    An id can optionally be provided, as well as an accelerator (accel). If no id is provided, one will be created from the index. If no accel is provided then the default 0 will be assigned to it. See for more info on accelerators.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See set_item_checked for more info on how to control it.


    • void add_radio_check_shortcut ( shortcut, int id=-1, global=false )

    Adds a new radio check button and assigns a ShortCut to it. Sets the label of the checkbox to the ‘s name.

    An id can optionally be provided. If no id is provided, one will be created from the index.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually. See set_item_checked for more info on how to control it.


    • void add_separator ( label=””, int id=-1 )

    Adds a separator between items. Separators also occupy an index, which you can set by using the id parameter.

    A label can optionally be provided, which will appear at the center of the separator.


    • void add_shortcut ( shortcut, int id=-1, global=false )

    Adds a ShortCut.

    An id can optionally be provided. If no id is provided, one will be created from the index.


    • void add_submenu_item ( label, String submenu, id=-1 )

    Adds an item that will act as a submenu of the parent PopupMenu node when clicked. The submenu argument is the name of the child PopupMenu node that will be shown when the item is clicked.

    An id can optionally be provided. If no id is provided, one will be created from the index.


    • void clear ( )

    Removes all items from the .


    • int get_current_index ( ) const

    • get_item_accelerator ( int idx ) const

    Returns the accelerator of the item at index idx. Accelerators are special combinations of keys that activate the item, no matter which control is focused.


    • get_item_count ( ) const

    Returns the number of items in the PopupMenu.


    • Texture get_item_icon ( idx ) const

    Returns the icon of the item at index idx.


    • int get_item_id ( idx ) const

    Returns the id of the item at index idx. id can be manually assigned, while index can not.


    • int get_item_index ( id ) const

    Returns the index of the item containing the specified id. Index is automatically assigned to each item by the engine. Index can not be set manually.


    • Variant get_item_metadata ( idx ) const

    Returns the metadata of the specified item, which might be of any type. You can set it with set_item_metadata, which provides a simple way of assigning context data to items.


    • get_item_shortcut ( int idx ) const

    Returns the associated with the specified idx item.


    • String get_item_submenu ( idx ) const

    Returns the submenu name of the item at index idx. See add_submenu_item for more info on how to add a submenu.


    • get_item_text ( int idx ) const

    Returns the text of the item at index idx.


    • get_item_tooltip ( int idx ) const

    Returns the tooltip associated with the specified index index idx.


    • is_hide_on_window_lose_focus ( ) const

    Returns true if the popup will be hidden when the window loses focus or not.


    • bool is_item_checkable ( idx ) const

    Note: Checkable items just display a checkmark or radio button, but don’t have any built-in checking behavior and must be checked/unchecked manually.


    • bool is_item_checked ( idx ) const

    Returns true if the item at index idx is checked.


    Returns true if the item at index idx is disabled. When it is disabled it can’t be selected, or its action invoked.

    See set_item_disabled for more info on how to disable an item.


    • is_item_radio_checkable ( int idx ) const

    Returns true if the item at index idx has radio button-style checkability.

    Note: This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.


    • is_item_separator ( int idx ) const

    Returns true if the item is a separator. If it is, it will be displayed as a line. See for more info on how to add a separator.


    • bool is_item_shortcut_disabled ( idx ) const

    Returns true if the specified item’s shortcut is disabled.


    • void remove_item ( int idx )

    Removes the item at index idx from the menu.

    Note: The indices of items after the removed item will be shifted by one.


    • void set_hide_on_window_lose_focus ( enable )

    Hides the PopupMenu when the window loses focus.


    • void set_item_accelerator ( int idx, accel )

    Sets the accelerator of the item at index idx. Accelerators are special combinations of keys that activate the item, no matter which control is focused.


    • void set_item_as_checkable ( int idx, enable )

    Sets whether the item at index idx has a checkbox. If false, sets the type of the item to plain text.

    Note: Checkable items just display a checkmark, but don’t have any built-in checking behavior and must be checked/unchecked manually.


    • void set_item_as_radio_checkable ( int idx, enable )

    Sets the type of the item at the specified index idx to radio button. If false, sets the type of the item to plain text.


    • void set_item_as_separator ( int idx, enable )

    Mark the item at index idx as a separator, which means that it would be displayed as a line. If false, sets the type of the item to plain text.


    • void set_item_checked ( int idx, checked )

    Sets the checkstate status of the item at index idx.


    • void set_item_disabled ( int idx, disabled )

    Enables/disables the item at index idx. When it is disabled, it can’t be selected and its action can’t be invoked.


    • void set_item_icon ( int idx, icon )

    Replaces the Texture icon of the specified idx.


    • void set_item_id ( idx, int id )

    Sets the id of the item at index idx.


    • void set_item_metadata ( idx, Variant metadata )

    Sets the metadata of an item, which may be of any type. You can later get it with , which provides a simple way of assigning context data to items.


    • void set_item_multistate ( int idx, state )

    Sets the state of an multistate item. See add_multistate_item for details.


    • void set_item_shortcut ( idx, ShortCut shortcut, global=false )

    Sets a ShortCut for the specified item idx.


    • void set_item_shortcut_disabled ( idx, bool disabled )

    Disables the of the specified index idx.


    • void set_item_submenu ( int idx, submenu )

    Sets the submenu of the item at index idx. The submenu is the name of a child PopupMenu node that would be shown when the item is clicked.


    • void set_item_text ( int idx, text )

    Sets the text of the item at index idx.


    • void set_item_tooltip ( int idx, tooltip )

    Sets the String tooltip of the item at the specified index idx.


    • void toggle_item_checked ( idx )

    Toggles the check state of the item of the specified index .


    • void toggle_item_multistate ( int idx )