GraphNode
Hereda: GraphElement < Container < Control < CanvasItem < Node < Object
Un contenedor con puertos de conexión, que representa un nodo en un GraphEdit.
Descripción
GraphNode permite crear nodos para un gráfico GraphEdit con contenido personalizable basado en sus controles hijo. GraphNode se deriva de Container y es responsable de colocar a sus hijos en la pantalla. Esto funciona de forma similar a VBoxContainer. Los hijos, a su vez, proporcionan a GraphNode las llamadas ranuras, cada una de las cuales puede tener un puerto de conexión a cada lado.
Cada ranura de GraphNode se define por su índice y puede proporcionar al nodo hasta dos puertos: uno a la izquierda y otro a la derecha. Por convención, el puerto izquierdo también se conoce como puerto de entrada y el puerto derecho se conoce como puerto de salida. Cada puerto se puede habilitar y configurar individualmente, utilizando diferentes tipo y color. El tipo es un valor arbitrario que puede definir utilizando sus propias consideraciones. El GraphEdit padre recibirá esta información en cada solicitud de conexión y desconexión.
Las ranuras se pueden configurar en el dock Inspector una vez que añadas al menos un Control hijo. Las propiedades se agrupan por el índice de cada ranura en la sección "Ranura".
Nota: Si bien GraphNode se configura utilizando ranuras e índices de ranuras, las conexiones se realizan entre los puertos que están habilitados. Debido a eso, GraphEdit usa el índice del puerto y no el índice de la ranura. Puedes usar get_input_port_slot() y get_output_port_slot() para obtener el índice de la ranura del índice del puerto.
Propiedades
focus_mode |
|
|
|
||
mouse_filter |
|
|
|
||
|
Métodos
void |
_draw_port(slot_index: int, position: Vector2i, left: bool, color: Color) virtual |
void |
|
void |
clear_slot(slot_index: int) |
get_input_port_color(port_idx: int) |
|
get_input_port_position(port_idx: int) |
|
get_input_port_slot(port_idx: int) |
|
get_input_port_type(port_idx: int) |
|
get_output_port_color(port_idx: int) |
|
get_output_port_position(port_idx: int) |
|
get_output_port_slot(port_idx: int) |
|
get_output_port_type(port_idx: int) |
|
get_slot_color_left(slot_index: int) const |
|
get_slot_color_right(slot_index: int) const |
|
get_slot_custom_icon_left(slot_index: int) const |
|
get_slot_custom_icon_right(slot_index: int) const |
|
get_slot_metadata_left(slot_index: int) const |
|
get_slot_metadata_right(slot_index: int) const |
|
get_slot_type_left(slot_index: int) const |
|
get_slot_type_right(slot_index: int) const |
|
is_slot_draw_stylebox(slot_index: int) const |
|
is_slot_enabled_left(slot_index: int) const |
|
is_slot_enabled_right(slot_index: int) const |
|
void |
set_slot(slot_index: int, enable_left_port: bool, type_left: int, color_left: Color, enable_right_port: bool, type_right: int, color_right: Color, custom_icon_left: Texture2D = null, custom_icon_right: Texture2D = null, draw_stylebox: bool = true) |
void |
set_slot_color_left(slot_index: int, color: Color) |
void |
set_slot_color_right(slot_index: int, color: Color) |
void |
set_slot_custom_icon_left(slot_index: int, custom_icon: Texture2D) |
void |
set_slot_custom_icon_right(slot_index: int, custom_icon: Texture2D) |
void |
set_slot_draw_stylebox(slot_index: int, enable: bool) |
void |
set_slot_enabled_left(slot_index: int, enable: bool) |
void |
set_slot_enabled_right(slot_index: int, enable: bool) |
void |
set_slot_metadata_left(slot_index: int, value: Variant) |
void |
set_slot_metadata_right(slot_index: int, value: Variant) |
void |
set_slot_type_left(slot_index: int, type: int) |
void |
set_slot_type_right(slot_index: int, type: int) |
Propiedades del Tema
|
||
|
||
|
||
Señales
slot_sizes_changed() 🔗
Emitida cuando el tamaño de alguna ranura puede haber cambiado.
slot_updated(slot_index: int) 🔗
Emitida cuando se actualiza la ranura de cualquier GraphNode.
Descripciones de Propiedades
bool ignore_invalid_connection_type = false 🔗
Si es true, puedes conectar puertos con diferentes tipos, incluso si la conexión no se permitió explícitamente en el GraphEdit padre.
FocusMode slots_focus_mode = 3 🔗
Determina cómo se pueden enfocar las ranuras de conexión.
Si se establece como Control.FOCUS_CLICK, las conexiones solo se pueden realizar con el ratón.
Si se establece como Control.FOCUS_ALL, las ranuras también se pueden enfocar utilizando ProjectSettings.input/ui_up y ProjectSettings.input/ui_down y se conectan utilizando las acciones de entrada ProjectSettings.input/ui_left y ProjectSettings.input/ui_right.
Si se establece como Control.FOCUS_ACCESSIBILITY, las acciones de entrada de la ranura solo se habilitan cuando el lector de pantalla está activo.
El texto que se muestra en la barra de título del GraphNode.
Descripciones de Métodos
void _draw_port(slot_index: int, position: Vector2i, left: bool, color: Color) virtual 🔗
There is currently no description for this method. Please help us by contributing one!
void clear_all_slots() 🔗
Desactiva todas las ranuras del GraphNode. Esto eliminará todos los puertos de entrada/salida del GraphNode.
void clear_slot(slot_index: int) 🔗
Desactiva la ranura con el slot_index dado. Esto eliminará el puerto de entrada y salida correspondiente del GraphNode.
Color get_input_port_color(port_idx: int) 🔗
Devuelve el Color del puerto de entrada con el port_idx dado.
Devuelve el número de ranuras con un puerto de entrada habilitado.
Vector2 get_input_port_position(port_idx: int) 🔗
Devuelve la posición del puerto de entrada con el port_idx dado.
int get_input_port_slot(port_idx: int) 🔗
Devuelve el índice de la ranura correspondiente del puerto de entrada con el port_idx dado.
int get_input_port_type(port_idx: int) 🔗
Devuelve el tipo del puerto de entrada con el port_idx dado.
Color get_output_port_color(port_idx: int) 🔗
Devuelve el Color del puerto de salida con el port_idx dado.
Devuelve el número de ranuras con un puerto de salida habilitado.
Vector2 get_output_port_position(port_idx: int) 🔗
Devuelve la posición del puerto de salida con el port_idx dado.
int get_output_port_slot(port_idx: int) 🔗
Devuelve el índice de la ranura correspondiente del puerto de salida con el port_idx dado.
int get_output_port_type(port_idx: int) 🔗
Devuelve el tipo del puerto de salida con el port_idx dado.
Color get_slot_color_left(slot_index: int) const 🔗
Devuelve el Color izquierdo (entrada) de la ranura con el slot_index dado.
Color get_slot_color_right(slot_index: int) const 🔗
Devuelve el Color derecho (salida) de la ranura con el slot_index dado.
Texture2D get_slot_custom_icon_left(slot_index: int) const 🔗
Devuelve la Texture2D personalizada izquierda (entrada) de la ranura con el slot_index dado.
Texture2D get_slot_custom_icon_right(slot_index: int) const 🔗
Devuelve la Texture2D personalizada derecha (salida) de la ranura con el slot_index dado.
Variant get_slot_metadata_left(slot_index: int) const 🔗
Returns the left (input) metadata of the slot with the given slot_index.
Variant get_slot_metadata_right(slot_index: int) const 🔗
Returns the right (output) metadata of the slot with the given slot_index.
int get_slot_type_left(slot_index: int) const 🔗
Devuelve el tipo izquierdo (entrada) de la ranura con el slot_index dado.
int get_slot_type_right(slot_index: int) const 🔗
Devuelve el tipo derecho (salida) de la ranura con el slot_index dado.
HBoxContainer get_titlebar_hbox() 🔗
Devuelve el HBoxContainer utilizado para la barra de título, que solo contiene una Label para mostrar el título de forma predeterminada. Esto se puede utilizar para agregar controles personalizados a la barra de título, como botones de opción o de cierre.
bool is_slot_draw_stylebox(slot_index: int) const 🔗
Devuelve true si el StyleBox de fondo de la ranura con el slot_index dado está dibujado.
bool is_slot_enabled_left(slot_index: int) const 🔗
Devuelve true si el lado izquierdo (entrada) de la ranura con el slot_index dado está habilitado.
bool is_slot_enabled_right(slot_index: int) const 🔗
Devuelve true si el lado derecho (salida) de la ranura con el slot_index dado está habilitado.
void set_slot(slot_index: int, enable_left_port: bool, type_left: int, color_left: Color, enable_right_port: bool, type_right: int, color_right: Color, custom_icon_left: Texture2D = null, custom_icon_right: Texture2D = null, draw_stylebox: bool = true) 🔗
Establece las propiedades de la ranura con el slot_index dado.
Si enable_left_port/enable_right_port es true, aparecerá un puerto y la ranura podrá conectarse desde este lado.
Con type_left/type_right se puede asignar un tipo arbitrario a cada puerto. Dos puertos se pueden conectar si comparten el mismo tipo, o si la conexión entre sus tipos está permitida en el GraphEdit padre (véase GraphEdit.add_valid_connection_type()). Ten en cuenta que el GraphEdit tiene la última palabra para aceptar la conexión. La compatibilidad de tipos simplemente permite que se emita la señal GraphEdit.connection_request.
Los puertos se pueden personalizar aún más utilizando color_left/color_right y custom_icon_left/custom_icon_right. El parámetro de color añade un tinte al icono. El icono personalizado se puede utilizar para sobrescribir el punto del puerto predeterminado.
Además, draw_stylebox se puede utilizar para activar o desactivar el dibujo del stylebox de fondo para cada ranura. Véase slot.
Las propiedades individuales también se pueden establecer utilizando uno de los métodos set_slot_*.
Nota: Este método solo establece las propiedades de la ranura. Para crear la ranura en sí, añade un hijo derivado de Control al GraphNode.
void set_slot_color_left(slot_index: int, color: Color) 🔗
Establece el Color del lado izquierdo (entrada) de la ranura con el slot_index dado a color.
void set_slot_color_right(slot_index: int, color: Color) 🔗
Establece el Color del lado derecho (salida) de la ranura con el slot_index dado a color.
void set_slot_custom_icon_left(slot_index: int, custom_icon: Texture2D) 🔗
Establece la Texture2D personalizada del lado izquierdo (entrada) de la ranura con el slot_index dado a custom_icon.
void set_slot_custom_icon_right(slot_index: int, custom_icon: Texture2D) 🔗
Establece la Texture2D personalizada del lado derecho (salida) de la ranura con el slot_index dado a custom_icon.
void set_slot_draw_stylebox(slot_index: int, enable: bool) 🔗
Activa o desactiva el StyleBox de fondo de la ranura con el slot_index dado.
void set_slot_enabled_left(slot_index: int, enable: bool) 🔗
Activa o desactiva el lado izquierdo (entrada) de la ranura con el slot_index dado. Si enable es true, aparecerá un puerto en el lado izquierdo y la ranura podrá conectarse desde este lado.
void set_slot_enabled_right(slot_index: int, enable: bool) 🔗
Activa o desactiva el lado derecho (salida) de la ranura con el slot_index dado. Si enable es true, aparecerá un puerto en el lado derecho y la ranura podrá conectarse desde este lado.
void set_slot_metadata_left(slot_index: int, value: Variant) 🔗
Sets the custom metadata for the left (input) side of the slot with the given slot_index to value.
void set_slot_metadata_right(slot_index: int, value: Variant) 🔗
Sets the custom metadata for the right (output) side of the slot with the given slot_index to value.
void set_slot_type_left(slot_index: int, type: int) 🔗
Establece el tipo izquierdo (entrada) de la ranura con el slot_index dado a type. Si el valor es negativo, no se permitirá la creación de conexiones a través de las entradas del usuario.
void set_slot_type_right(slot_index: int, type: int) 🔗
Establece el tipo derecho (salida) de la ranura con el slot_index dado a type. Si el valor es negativo, no se permitirá la creación de conexiones a través de las entradas del usuario.
Descripciones de las propiedades del tema
Color resizer_color = Color(0.875, 0.875, 0.875, 1) 🔗
La modulación de color aplicada al icono de redimensionamiento.
Desplazamiento horizontal de los puertos.
La distancia vertical entre los puertos.
El icono utilizado para representar los puertos.
El fondo predeterminado para el área de la ranura del GraphNode.
StyleBox utilizado cuando el GraphNode está enfocado (cuando se usa con aplicaciones de asistencia).
El StyleBox utilizado para el área de la ranura cuando se selecciona.
El StyleBox utilizado para cada ranura del GraphNode.
StyleBox utilizado cuando la ranura está enfocada (cuando se usa con aplicaciones de asistencia).
El StyleBox utilizado para la barra de título del GraphNode.
El StyleBox utilizado para la barra de título del GraphNode cuando está seleccionado.