ItemList
Hereda: Control < CanvasItem < Node < Object
Una lista vertical de elementos seleccionables con una o varias columnas.
Descripción
This control provides a vertical list of selectable items that may be in a single or in multiple columns, with each item having options for text and an icon. Tooltips are supported and may be different for every item in the list.
Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing Enter.
Item text only supports single-line strings. Newline characters (e.g. \n) in the string won't produce a newline. Text wrapping is enabled in ICON_MODE_TOP mode, but the column's width is adjusted to fully fit its content by default. You need to set fixed_column_width greater than zero to wrap the text.
All set_* methods allow negative item indices, i.e. -1 to access the last item, -2 to select the second-to-last item, and so on.
Incremental search: Like PopupMenu and Tree, ItemList supports searching within the list while the control is focused. Press a key that matches the first letter of an item's name to select the first item starting with the given letter. After that point, there are two ways to perform incremental search: 1) Press the same key again before the timeout duration to select the next item starting with the same letter. 2) Press letter keys that match the rest of the word before the timeout duration to match to select the item in question directly. Both of these actions will be reset to the beginning of the list if the timeout duration has passed since the last keystroke was registered. You can adjust the timeout duration by changing ProjectSettings.gui/timers/incremental_search_max_interval_msec.
Propiedades
|
||
|
||
|
||
|
||
|
||
clip_contents |
|
|
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Métodos
Propiedades del Tema
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Señales
empty_clicked(at_position: Vector2, mouse_button_index: int) 🔗
Emitida cuando se produce cualquier clic del ratón dentro del rectángulo de la lista pero en un espacio vacío.
at_position es la posición del clic en el sistema de coordenadas local de este control.
Emitida cuando el elemento de la lista especificado se activa haciendo doble clic o pulsando Enter.
item_clicked(index: int, at_position: Vector2, mouse_button_index: int) 🔗
Emitida cuando se ha hecho clic en un elemento de la lista especificado con cualquier botón del ratón.
at_position es la posición del clic en el sistema de coordenadas local de este control.
Emitida cuando se selecciona un elemento especificado. Solo aplicable en el modo de selección única.
Se debe activar allow_reselect para volver a seleccionar un elemento.
multi_selected(index: int, selected: bool) 🔗
Emitida cuando se altera una selección múltiple en una lista que permite la selección múltiple.
Enumeraciones
enum IconMode: 🔗
IconMode ICON_MODE_TOP = 0
El icono se dibuja sobre el texto.
IconMode ICON_MODE_LEFT = 1
El icono se dibuja a la izquierda del texto.
enum SelectMode: 🔗
SelectMode SELECT_SINGLE = 0
Sólo permite seleccionar un único elemento.
SelectMode SELECT_MULTI = 1
Permite seleccionar varios elementos manteniendo pulsada la tecla Ctrl o Shift.
SelectMode SELECT_TOGGLE = 2
Permite seleccionar varios elementos activándolos y desactivándolos.
Descripciones de Propiedades
Si es true, el elemento actualmente seleccionado puede ser seleccionado de nuevo.
bool allow_rmb_select = false 🔗
Si es true, al hacer clic con el botón derecho del ratón se pueden seleccionar elementos.
Si es true, permite navegar por ItemList con las teclas de letras a través de la búsqueda incremental.
Si es true, el control redimensionará automáticamente la altura para que se ajuste a su contenido.
Si es true, el control redimensionará automáticamente el ancho para que se ajuste a su contenido.
El ancho de todas las columnas se ajustará.
Un valor de cero desactiva el ajuste, cada elemento tendrá una anchura igual a la de su contenido y las columnas tendrán una anchura desigual.
Vector2i fixed_icon_size = Vector2i(0, 0) 🔗
El tamaño de todos los iconos se ajustará.
Si el componente X o Y no es mayor que cero, el tamaño del icono no se verá afectado.
La posición del icono, ya sea arriba o a la izquierda del texto. Véase las constantes IconMode.
La escala de icono aplicada después de fixed_icon_size y la transposición tiene efecto.
El número de elementos que hay actualmente en la lista.
Columnas máximas que tendrá la lista.
Si es mayor que cero, el contenido se dividirá entre las columnas especificadas.
Un valor de cero significa que las columnas son ilimitadas, es decir, que todos los artículos se pondrán en la misma fila.
Líneas de texto máximas permitidas en cada elemento. Se reservará espacio incluso cuando no haya suficientes líneas de texto para mostrar.
Nota: Esta propiedad sólo tiene efecto cuando icon_mode es ICON_MODE_TOP. Para hacer la envoltura de texto, fixed_column_width debe ser mayor que cero.
bool same_column_width = false 🔗
Si todas las columnas tendrán el mismo ancho.
Si es true, el ancho es igual al mayor ancho de todas las columnas.
SelectMode select_mode = 0 🔗
void set_select_mode(value: SelectMode)
SelectMode get_select_mode()
Permite la selección de uno o varios elementos. Véase las constantes SelectMode.
OverrunBehavior text_overrun_behavior = 3 🔗
void set_text_overrun_behavior(value: OverrunBehavior)
OverrunBehavior get_text_overrun_behavior()
El comportamiento de recorte cuando el texto excede el rectángulo delimitador de un elemento.
bool wraparound_items = true 🔗
Si es true, el control moverá automáticamente los elementos a una nueva fila para que quepan en su contenido. Véase también HFlowContainer para este comportamiento.
Si es false, el control añadirá una barra de desplazamiento horizontal para hacer visibles todos los elementos.
Descripciones de Métodos
int add_icon_item(icon: Texture2D, selectable: bool = true) 🔗
Añade un elemento a la lista de elementos sin texto, solo un icono. Devuelve el índice del elemento añadido.
int add_item(text: String, icon: Texture2D = null, selectable: bool = true) 🔗
Añade un elemento a la lista de elementos con el texto especificado. Devuelve el índice del elemento añadido.
Especifica un icon, o usa null como icon para un elemento de la lista sin icono.
Si selectable es true, el elemento de la lista será seleccionable.
void clear() 🔗
Elimina todos los elementos de la lista.
Asegura que no se seleccione el elemento asociado al índice especificado.
void deselect_all() 🔗
Se asegura de que no haya elementos seleccionados.
void ensure_current_is_visible() 🔗
Asegúrate de que la selección actual sea visible, ajustando la posición del scroll según sea necesario.
void force_update_list_size() 🔗
Fuerza una actualización del tamaño de la lista según sus elementos. Esto sucede automáticamente cuando cambia el tamaño de los elementos, u otros ajustes relevantes como auto_height. El método se puede utilizar para activar la actualización antes del siguiente pase de dibujo.
HScrollBar get_h_scroll_bar() 🔗
Devuelve la barra de desplazamiento horizontal.
Advertencia: Este es un nodo interno requerido, eliminarlo y liberarlo puede provocar un fallo. Si deseas ocultarlo o alguno de sus hijos, utiliza su propiedad CanvasItem.visible.
int get_item_at_position(position: Vector2, exact: bool = false) const 🔗
Devuelve el índice del elemento en la position dada.
Cuando no hay ningún elemento en ese punto, se devolverá -1 si exact es true, y si no, se devolverá el índice del elemento más cercano.
Nota: El valor devuelto no es fiable si se llama justo después de modificar el ItemList, antes de que se vuelva a dibujar en el siguiente fotograma.
AutoTranslateMode get_item_auto_translate_mode(idx: int) const 🔗
Devuelve el modo de traducción automática del elemento.
Color get_item_custom_bg_color(idx: int) const 🔗
Devuelve el color de fondo personalizado del elemento especificado por el índice idx.
Color get_item_custom_fg_color(idx: int) const 🔗
Devuelve el color de primer plano personalizado del elemento especificado por el índice idx.
Texture2D get_item_icon(idx: int) const 🔗
Devuelve el icono asociado al índice especificado.
Color get_item_icon_modulate(idx: int) const 🔗
Devuelve un Color del icono de un elemento modulador en el índice especificado.
Rect2 get_item_icon_region(idx: int) const 🔗
Devuelve la región del icono del elemento utilizado. El icono completo será utilizado si la región no tiene área.
String get_item_language(idx: int) const 🔗
Devuelve el código de idioma del texto del elemento.
Variant get_item_metadata(idx: int) const 🔗
Devuelve el valor de los metadatos del índice especificado.
Rect2 get_item_rect(idx: int, expand: bool = true) const 🔗
Devuelve la posición y el tamaño del elemento con el índice especificado, en el sistema de coordenadas del nodo ItemList. Si expand es true, la última columna se expande para rellenar el resto de la fila.
Nota: El valor devuelto no es fiable si se llama justo después de modificar el ItemList, antes de que se redibuje en el siguiente fotograma.
String get_item_text(idx: int) const 🔗
Devuelve el texto asociado al índice especificado.
TextDirection get_item_text_direction(idx: int) const 🔗
Devuelve la dirección de escritura base del texto del elemento.
String get_item_tooltip(idx: int) const 🔗
Devuelve la sugerencia de la herramienta asociada con el índice especificado.
PackedInt32Array get_selected_items() 🔗
Devuelve un array con los índices de los elementos seleccionados.
VScrollBar get_v_scroll_bar() 🔗
Devuelve la barra de desplazamiento vertical.
Advertencia: Este es un nodo interno requerido, eliminarlo y liberarlo puede causar un crasheo. Si deseas ocultarlo o a alguno de sus hijos, usa su propiedad CanvasItem.visible.
Devuelve true si se seleccionan uno o más elementos.
bool is_item_disabled(idx: int) const 🔗
Devuelve true si el elemento del índice especificado está desactivado.
bool is_item_icon_transposed(idx: int) const 🔗
Devuelve true si el icono del elemento se dibujará transpuesto, es decir, los ejes X e Y se intercambian.
bool is_item_selectable(idx: int) const 🔗
Devuelve true si el elemento en el índice especificado es seleccionable.
bool is_item_tooltip_enabled(idx: int) const 🔗
Devuelve true si la sugerencia está habilitada para el índice del artículo especificado.
bool is_selected(idx: int) const 🔗
Devuelve true si el elemento del índice especificado está actualmente seleccionado.
void move_item(from_idx: int, to_idx: int) 🔗
Mueve el elemento del índice from_idx a to_idx.
Elimina de la lista el elemento especificado por el índice idx.
void select(idx: int, single: bool = true) 🔗
Seleccione el elemento en el índice especificado.
Nota: Este método no dispara la señal de selección del elemento.
void set_item_auto_translate_mode(idx: int, mode: AutoTranslateMode) 🔗
Establece el modo de autotraducción del elemento asociado con el índice especificado.
Por defecto, los elementos usan Node.AUTO_TRANSLATE_MODE_INHERIT, que utiliza el mismo modo de autotraducción que el propio ItemList.
void set_item_custom_bg_color(idx: int, custom_bg_color: Color) 🔗
Establece el color de fondo del elemento especificado por el índice idx al Color especificado.
void set_item_custom_fg_color(idx: int, custom_fg_color: Color) 🔗
Establece el color de primer plano del elemento especificado por el índice idx al Color especificado.
void set_item_disabled(idx: int, disabled: bool) 🔗
Desactiva (o activa) el elemento en el índice especificado.
Los elementos desactivados no pueden seleccionarse y no activan las señales de activación (cuando se hace doble clic o se pulsa Enter).
void set_item_icon(idx: int, icon: Texture2D) 🔗
Establece (o reemplaza) el icono Texture2D asociado al índice especificado.
void set_item_icon_modulate(idx: int, modulate: Color) 🔗
Establece un Color modulador del elemento asociado al índice especificado.
void set_item_icon_region(idx: int, rect: Rect2) 🔗
Establece la región del icono del elemento utilizado. El icono completo se utilizará si la región no tiene área.
void set_item_icon_transposed(idx: int, transposed: bool) 🔗
Establece si el icono del elemento se dibujará transpuesto.
void set_item_language(idx: int, language: String) 🔗
Establece el código de idioma del texto del elemento utilizado para los algoritmos de ajuste de línea y modelado de texto, si se deja vacío se utiliza la configuración regional actual.
void set_item_metadata(idx: int, metadata: Variant) 🔗
Establece un valor (de cualquier tipo) que se almacenará con el elemento asociado al índice especificado.
void set_item_selectable(idx: int, selectable: bool) 🔗
Permite o no la selección del elemento asociado al índice especificado.
void set_item_text(idx: int, text: String) 🔗
Establece el texto del elemento asociado con el índice especificado.
void set_item_text_direction(idx: int, direction: TextDirection) 🔗
Establece la dirección de escritura base del texto del elemento.
void set_item_tooltip(idx: int, tooltip: String) 🔗
Establece la sugerencia para el elemento asociado con el índice especificado.
void set_item_tooltip_enabled(idx: int, enable: bool) 🔗
Establece si la sugerencia está habilitada para el índice de elementos especificados.
void sort_items_by_text() 🔗
Ordena los elementos de la lista por su texto.
Descripciones de las propiedades del tema
Color font_color = Color(0.65, 0.65, 0.65, 1) 🔗
Color del texto predeterminado del elemento.
Color font_hovered_color = Color(0.95, 0.95, 0.95, 1) 🔗
Color del texto utilizado cuando el puntero está sobre el elemento, pero este no está seleccionado.
Color font_hovered_selected_color = Color(1, 1, 1, 1) 🔗
Color del texto utilizado cuando el puntero está sobre el elemento y este está seleccionado.
Color font_outline_color = Color(0, 0, 0, 1) 🔗
El tinte del contorno del texto del elemento.
Color font_selected_color = Color(1, 1, 1, 1) 🔗
Color del texto utilizado cuando el elemento está seleccionado, pero el puntero no está sobre él.
Color guide_color = Color(0.7, 0.7, 0.7, 0.25) 🔗
Color de la pauta. La pauta es una línea trazada entre cada fila de elementos.
El espacio horizontal entre los elementos.
El espacio entre el icono del elemento y el texto.
El espacio vertical entre cada línea de texto.
El tamaño del contorno del texto del elemento.
Nota: Si se utiliza una fuente con FontFile.multichannel_signed_distance_field activado, su FontFile.msdf_pixel_range debe establecerse en al menos el doble del valor de outline_size para que la renderización del contorno se vea correcta. De lo contrario, el contorno puede parecer que se corta antes de lo previsto.
El espacio vertical entre los artículos.
Font del texto del elemento.
Tamaño de la fuente del texto del elemento.
StyleBox usado para el cursor, cuando el ItemList está siendo enfocado.
StyleBox usado para el cursor, cuando el ItemList no está siendo enfocado.
El estilo de foco para el ItemList, dibujado sobre el fondo, pero debajo de todo lo demás.
StyleBox para los elementos bajo el puntero, pero no seleccionados.
StyleBox para los elementos bajo el puntero y seleccionados, utilizado cuando el ItemList no está enfocado.
StyleBox hovered_selected_focus 🔗
StyleBox para los elementos bajo el puntero y seleccionados, utilizado cuando el ItemList está enfocado.
El estilo de fondo para el ItemList.
StyleBox para los elementos seleccionados, utilizado cuando la ItemList no está siendo enfocada.
StyleBox para los elementos seleccionados, que se utiliza cuando se enfoca la ItemList.