Files
godot-docs-l10n/classes/ru/class_graphedit.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

1697 lines
101 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_GraphEdit:
GraphEdit
=========
**Экспериментальное:** This class may be changed or removed in future versions.
**Наследует:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Редактор графоподобных структур, использующий :ref:`GraphNode<class_GraphNode>`.
.. rst-class:: classref-introduction-group
Описание
----------------
**GraphEdit** предоставляет инструменты для создания, обработки и отображения различных графиков. Его основная цель в движке — питание систем визуального программирования, таких как визуальные шейдеры, но он также доступен для использования в пользовательских проектах.
\ **GraphEdit** сам по себе является лишь пустым контейнером, представляющим бесконечную сетку, в которой могут быть размещены :ref:`GraphNode<class_GraphNode>`. Каждый :ref:`GraphNode<class_GraphNode>` представляет собой узел в графике, отдельную единицу данных в связанной схеме. **GraphEdit**, в свою очередь, помогает контролировать различные взаимодействия с узлами и между узлами. Когда пользователь пытается подключить, отключить или удалить :ref:`GraphNode<class_GraphNode>`, в **GraphEdit** выдается сигнал, но по умолчанию никаких действий не выполняется. Программист, использующий этот элемент управления, несет ответственность за реализацию необходимой логики для определения того, как должен обрабатываться каждый запрос.
\ **Производительность:** Настоятельно рекомендуется включить режим низкого использования процессора (см. :ref:`OS.low_processor_usage_mode<class_OS_property_low_processor_usage_mode>`) при использовании GraphEdits.
\ **Примечание:** Имейте в виду, что :ref:`Node.get_children()<class_Node_method_get_children>` также вернет узел уровня соединения с именем ``_connection_layer`` из-за технических ограничений. Это поведение может измениться в будущих выпусках.
.. rst-class:: classref-reftable-group
Свойства
----------------
.. table::
:widths: auto
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | clip_contents | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`connection_lines_antialiased<class_GraphEdit_property_connection_lines_antialiased>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`connection_lines_curvature<class_GraphEdit_property_connection_lines_curvature>` | ``0.5`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>` | ``4.0`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`connections<class_GraphEdit_property_connections>` | ``[]`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`GridPattern<enum_GraphEdit_GridPattern>` | :ref:`grid_pattern<class_GraphEdit_property_grid_pattern>` | ``0`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`minimap_enabled<class_GraphEdit_property_minimap_enabled>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`minimap_opacity<class_GraphEdit_property_minimap_opacity>` | ``0.65`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`minimap_size<class_GraphEdit_property_minimap_size>` | ``Vector2(240, 160)`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` | :ref:`panning_scheme<class_GraphEdit_property_panning_scheme>` | ``0`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`right_disconnects<class_GraphEdit_property_right_disconnects>` | ``false`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`scroll_offset<class_GraphEdit_property_scroll_offset>` | ``Vector2(0, 0)`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_arrange_button<class_GraphEdit_property_show_arrange_button>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_grid<class_GraphEdit_property_show_grid>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_grid_buttons<class_GraphEdit_property_show_grid_buttons>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_menu<class_GraphEdit_property_show_menu>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_minimap_button<class_GraphEdit_property_show_minimap_button>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_zoom_buttons<class_GraphEdit_property_show_zoom_buttons>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`show_zoom_label<class_GraphEdit_property_show_zoom_label>` | ``false`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`snapping_distance<class_GraphEdit_property_snapping_distance>` | ``20`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`snapping_enabled<class_GraphEdit_property_snapping_enabled>` | ``true`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`type_names<class_GraphEdit_property_type_names>` | ``{}`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`zoom<class_GraphEdit_property_zoom>` | ``1.0`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`zoom_max<class_GraphEdit_property_zoom_max>` | ``2.0736003`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`zoom_min<class_GraphEdit_property_zoom_min>` | ``0.23256795`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`zoom_step<class_GraphEdit_property_zoom_step>` | ``1.2`` |
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`_get_connection_line<class_GraphEdit_private_method__get_connection_line>`\ (\ from_position\: :ref:`Vector2<class_Vector2>`, to_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_in_input_hotzone<class_GraphEdit_private_method__is_in_input_hotzone>`\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_in_output_hotzone<class_GraphEdit_private_method__is_in_output_hotzone>`\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_node_hover_valid<class_GraphEdit_private_method__is_node_hover_valid>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |virtual| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_valid_connection_type<class_GraphEdit_method_add_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_valid_left_disconnect_type<class_GraphEdit_method_add_valid_left_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_valid_right_disconnect_type<class_GraphEdit_method_add_valid_right_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`arrange_nodes<class_GraphEdit_method_arrange_nodes>`\ (\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`attach_graph_element_to_frame<class_GraphEdit_method_attach_graph_element_to_frame>`\ (\ element\: :ref:`StringName<class_StringName>`, frame\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_connections<class_GraphEdit_method_clear_connections>`\ (\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`connect_node<class_GraphEdit_method_connect_node>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, keep_alive\: :ref:`bool<class_bool>` = false\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`detach_graph_element_from_frame<class_GraphEdit_method_detach_graph_element_from_frame>`\ (\ element\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`disconnect_node<class_GraphEdit_method_disconnect_node>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`force_connection_drag_end<class_GraphEdit_method_force_connection_drag_end>`\ (\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] | :ref:`get_attached_nodes_of_frame<class_GraphEdit_method_get_attached_nodes_of_frame>`\ (\ frame\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_closest_connection_at_point<class_GraphEdit_method_get_closest_connection_at_point>`\ (\ point\: :ref:`Vector2<class_Vector2>`, max_distance\: :ref:`float<class_float>` = 4.0\ ) |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_connection_count<class_GraphEdit_method_get_connection_count>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_connection_line<class_GraphEdit_method_get_connection_line>`\ (\ from_node\: :ref:`Vector2<class_Vector2>`, to_node\: :ref:`Vector2<class_Vector2>`\ ) |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`get_connection_list_from_node<class_GraphEdit_method_get_connection_list_from_node>`\ (\ node\: :ref:`StringName<class_StringName>`\ ) |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`get_connections_intersecting_with_rect<class_GraphEdit_method_get_connections_intersecting_with_rect>`\ (\ rect\: :ref:`Rect2<class_Rect2>`\ ) |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`GraphFrame<class_GraphFrame>` | :ref:`get_element_frame<class_GraphEdit_method_get_element_frame>`\ (\ element\: :ref:`StringName<class_StringName>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`HBoxContainer<class_HBoxContainer>` | :ref:`get_menu_hbox<class_GraphEdit_method_get_menu_hbox>`\ (\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_node_connected<class_GraphEdit_method_is_node_connected>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_valid_connection_type<class_GraphEdit_method_is_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_valid_connection_type<class_GraphEdit_method_remove_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_valid_left_disconnect_type<class_GraphEdit_method_remove_valid_left_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_valid_right_disconnect_type<class_GraphEdit_method_remove_valid_right_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_connection_activity<class_GraphEdit_method_set_connection_activity>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_selected<class_GraphEdit_method_set_selected>`\ (\ node\: :ref:`Node<class_Node>`\ ) |
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Свойства темы
--------------------------
.. table::
:widths: auto
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`activity<class_GraphEdit_theme_color_activity>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`connection_hover_tint_color<class_GraphEdit_theme_color_connection_hover_tint_color>` | ``Color(0, 0, 0, 0.3)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`connection_rim_color<class_GraphEdit_theme_color_connection_rim_color>` | ``Color(0.1, 0.1, 0.1, 0.6)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`connection_valid_target_tint_color<class_GraphEdit_theme_color_connection_valid_target_tint_color>` | ``Color(1, 1, 1, 0.4)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`grid_major<class_GraphEdit_theme_color_grid_major>` | ``Color(1, 1, 1, 0.2)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`grid_minor<class_GraphEdit_theme_color_grid_minor>` | ``Color(1, 1, 1, 0.05)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`selection_fill<class_GraphEdit_theme_color_selection_fill>` | ``Color(1, 1, 1, 0.3)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Color<class_Color>` | :ref:`selection_stroke<class_GraphEdit_theme_color_selection_stroke>` | ``Color(1, 1, 1, 0.8)`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`int<class_int>` | :ref:`connection_hover_thickness<class_GraphEdit_theme_constant_connection_hover_thickness>` | ``0`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`int<class_int>` | :ref:`port_hotzone_inner_extent<class_GraphEdit_theme_constant_port_hotzone_inner_extent>` | ``22`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`int<class_int>` | :ref:`port_hotzone_outer_extent<class_GraphEdit_theme_constant_port_hotzone_outer_extent>` | ``26`` |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`grid_toggle<class_GraphEdit_theme_icon_grid_toggle>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`layout<class_GraphEdit_theme_icon_layout>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`minimap_toggle<class_GraphEdit_theme_icon_minimap_toggle>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`snapping_toggle<class_GraphEdit_theme_icon_snapping_toggle>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_in<class_GraphEdit_theme_icon_zoom_in>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_out<class_GraphEdit_theme_icon_zoom_out>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_reset<class_GraphEdit_theme_icon_zoom_reset>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`menu_panel<class_GraphEdit_theme_style_menu_panel>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_GraphEdit_theme_style_panel>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel_focus<class_GraphEdit_theme_style_panel_focus>` | |
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Сигналы
--------------
.. _class_GraphEdit_signal_begin_node_move:
.. rst-class:: classref-signal
**begin_node_move**\ (\ ) :ref:`🔗<class_GraphEdit_signal_begin_node_move>`
Вызывается в начале движения :ref:`GraphElement<class_GraphElement>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_connection_drag_ended:
.. rst-class:: classref-signal
**connection_drag_ended**\ (\ ) :ref:`🔗<class_GraphEdit_signal_connection_drag_ended>`
Выдается в конце перетаскивания соединения.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_connection_drag_started:
.. rst-class:: classref-signal
**connection_drag_started**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, is_output\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_drag_started>`
Выдается в начале перетаскивания соединения.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_connection_from_empty:
.. rst-class:: classref-signal
**connection_from_empty**\ (\ to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, release_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_from_empty>`
Вызывается, когда пользователь перетаскивает соединение из входного порта в пустое пространство графика.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_connection_request:
.. rst-class:: classref-signal
**connection_request**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_request>`
Отправляется в GraphEdit при попытке создания соединения между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_connection_to_empty:
.. rst-class:: classref-signal
**connection_to_empty**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, release_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_to_empty>`
Вызывается, когда пользователь перетаскивает соединение из выходного порта в пустое пространство графика.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_copy_nodes_request:
.. rst-class:: classref-signal
**copy_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_copy_nodes_request>`
Выдается, когда этот **GraphEdit** захватывает действие ``ui_copy`` (:kbd:`Ctrl + C` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>` должны быть скопированы.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_cut_nodes_request:
.. rst-class:: classref-signal
**cut_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_cut_nodes_request>`
Выдается, когда этот **GraphEdit** захватывает действие ``ui_cut`` (:kbd:`Ctrl + X` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>`-ы должны быть вырезаны.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_delete_nodes_request:
.. rst-class:: classref-signal
**delete_nodes_request**\ (\ nodes\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\]\ ) :ref:`🔗<class_GraphEdit_signal_delete_nodes_request>`
Выдается, когда этот **GraphEdit** захватывает действие ``ui_graph_delete`` (:kbd:`Delete` по умолчанию).
\ ``nodes`` — это массив имен узлов, которые следует удалить. Обычно они включают все выбранные узлы.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_disconnection_request:
.. rst-class:: classref-signal
**disconnection_request**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_signal_disconnection_request>`
Отправляется в GraphEdit при попытке удалить соединение между ``from_port`` из ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` из ``to_node`` :ref:`GraphNode<class_GraphNode>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_duplicate_nodes_request:
.. rst-class:: classref-signal
**duplicate_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_duplicate_nodes_request>`
Выдается, когда этот **GraphEdit** захватывает действие ``ui_graph_duplicate`` (:kbd:`Ctrl + D` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>` должны быть дублированы.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_end_node_move:
.. rst-class:: classref-signal
**end_node_move**\ (\ ) :ref:`🔗<class_GraphEdit_signal_end_node_move>`
Выдается в конце движения :ref:`GraphElement<class_GraphElement>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_frame_rect_changed:
.. rst-class:: classref-signal
**frame_rect_changed**\ (\ frame\: :ref:`GraphFrame<class_GraphFrame>`, new_rect\: :ref:`Rect2<class_Rect2>`\ ) :ref:`🔗<class_GraphEdit_signal_frame_rect_changed>`
Вызывается, когда :ref:`GraphFrame<class_GraphFrame>` ``frame`` изменяет размер на ``new_rect``.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_graph_elements_linked_to_frame_request:
.. rst-class:: classref-signal
**graph_elements_linked_to_frame_request**\ (\ elements\: :ref:`Array<class_Array>`, frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_signal_graph_elements_linked_to_frame_request>`
Вызывается, когда один или несколько :ref:`GraphElement<class_GraphElement>` помещаются на :ref:`GraphFrame<class_GraphFrame>` с именем ``frame``, когда они ранее не были прикреплены ни к какому другому.
\ ``elements`` — это массив :ref:`GraphElement<class_GraphElement>`, которые необходимо прикрепить.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_node_deselected:
.. rst-class:: classref-signal
**node_deselected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_signal_node_deselected>`
Вызывается, когда указанный узел :ref:`GraphElement<class_GraphElement>` отменяет выбор (теряет фокус).
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_node_selected:
.. rst-class:: classref-signal
**node_selected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_signal_node_selected>`
Вызывается при выборе указанного узла :ref:`GraphElement<class_GraphElement>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_paste_nodes_request:
.. rst-class:: classref-signal
**paste_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_paste_nodes_request>`
Выдается, когда этот **GraphEdit** захватывает действие ``ui_paste`` (:kbd:`Ctrl + V` по умолчанию). В общем случае этот сигнал указывает на то, что ранее скопированные :ref:`GraphElement<class_GraphElement>` должны быть вставлены.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_popup_request:
.. rst-class:: classref-signal
**popup_request**\ (\ at_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_popup_request>`
Выдается при запросе всплывающего окна. Происходит при щелчке правой кнопкой мыши в GraphEdit. ``at_position`` — это положение указателя мыши при отправке сигнала.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_signal_scroll_offset_changed:
.. rst-class:: classref-signal
**scroll_offset_changed**\ (\ offset\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_scroll_offset_changed>`
Выдается, когда пользователь изменяет смещение прокрутки. Не будет выдаваться при изменении в коде.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Перечисления
------------------------
.. _enum_GraphEdit_PanningScheme:
.. rst-class:: classref-enumeration
enum **PanningScheme**: :ref:`🔗<enum_GraphEdit_PanningScheme>`
.. _class_GraphEdit_constant_SCROLL_ZOOMS:
.. rst-class:: classref-enumeration-constant
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **SCROLL_ZOOMS** = ``0``
:kbd:`Mouse Wheel` будет увеличивать масштаб, :kbd:`Ctrl + Mouse Wheel` будет перемещать вид.
.. _class_GraphEdit_constant_SCROLL_PANS:
.. rst-class:: classref-enumeration-constant
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **SCROLL_PANS** = ``1``
:kbd:`Mouse Wheel` перемещает вид, :kbd:`Ctrl + Mouse Wheel` масштабирует.
.. rst-class:: classref-item-separator
----
.. _enum_GraphEdit_GridPattern:
.. rst-class:: classref-enumeration
enum **GridPattern**: :ref:`🔗<enum_GraphEdit_GridPattern>`
.. _class_GraphEdit_constant_GRID_PATTERN_LINES:
.. rst-class:: classref-enumeration-constant
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **GRID_PATTERN_LINES** = ``0``
Нарисуйте сетку сплошными линиями.
.. _class_GraphEdit_constant_GRID_PATTERN_DOTS:
.. rst-class:: classref-enumeration-constant
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **GRID_PATTERN_DOTS** = ``1``
Нарисуйте сетку с помощью точек.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств
--------------------------------
.. _class_GraphEdit_property_connection_lines_antialiased:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **connection_lines_antialiased** = ``true`` :ref:`🔗<class_GraphEdit_property_connection_lines_antialiased>`
.. rst-class:: classref-property-setget
- |void| **set_connection_lines_antialiased**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_connection_lines_antialiased**\ (\ )
Если ``true``, линии между узлами будут использовать сглаживание.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_connection_lines_curvature:
.. rst-class:: classref-property
:ref:`float<class_float>` **connection_lines_curvature** = ``0.5`` :ref:`🔗<class_GraphEdit_property_connection_lines_curvature>`
.. rst-class:: classref-property-setget
- |void| **set_connection_lines_curvature**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_connection_lines_curvature**\ (\ )
Кривизна линий между узлами. 0 приводит к прямым линиям.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_connection_lines_thickness:
.. rst-class:: classref-property
:ref:`float<class_float>` **connection_lines_thickness** = ``4.0`` :ref:`🔗<class_GraphEdit_property_connection_lines_thickness>`
.. rst-class:: classref-property-setget
- |void| **set_connection_lines_thickness**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_connection_lines_thickness**\ (\ )
Толщина линий между узлами.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_connections:
.. rst-class:: classref-property
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **connections** = ``[]`` :ref:`🔗<class_GraphEdit_property_connections>`
.. rst-class:: classref-property-setget
- |void| **set_connections**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\]\ )
- :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connection_list**\ (\ )
Связи между :ref:`GraphNode<class_GraphNode>`.
Связь представлена как :ref:`Dictionary<class_Dictionary>` в форме:
::
{
from_node: StringName,
from_port: int,
to_node: StringName,
to_port: int,
keep_alive: bool
}
Связи с ``keep_alive``, установленным на ``false``, могут быть удалены автоматически, если они недействительны во время перерисовки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_grid_pattern:
.. rst-class:: classref-property
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **grid_pattern** = ``0`` :ref:`🔗<class_GraphEdit_property_grid_pattern>`
.. rst-class:: classref-property-setget
- |void| **set_grid_pattern**\ (\ value\: :ref:`GridPattern<enum_GraphEdit_GridPattern>`\ )
- :ref:`GridPattern<enum_GraphEdit_GridPattern>` **get_grid_pattern**\ (\ )
Узор, используемый для рисования сетки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_minimap_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **minimap_enabled** = ``true`` :ref:`🔗<class_GraphEdit_property_minimap_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_minimap_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_minimap_enabled**\ (\ )
Если ``true``, мини-карта видна.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_minimap_opacity:
.. rst-class:: classref-property
:ref:`float<class_float>` **minimap_opacity** = ``0.65`` :ref:`🔗<class_GraphEdit_property_minimap_opacity>`
.. rst-class:: classref-property-setget
- |void| **set_minimap_opacity**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_minimap_opacity**\ (\ )
Непрозрачность прямоугольника миникарты.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_minimap_size:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **minimap_size** = ``Vector2(240, 160)`` :ref:`🔗<class_GraphEdit_property_minimap_size>`
.. rst-class:: classref-property-setget
- |void| **set_minimap_size**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_minimap_size**\ (\ )
Размер прямоугольника миникарты. Сама карта основана на размере области сетки и масштабируется, чтобы вписаться в этот прямоугольник.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_panning_scheme:
.. rst-class:: classref-property
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **panning_scheme** = ``0`` :ref:`🔗<class_GraphEdit_property_panning_scheme>`
.. rst-class:: classref-property-setget
- |void| **set_panning_scheme**\ (\ value\: :ref:`PanningScheme<enum_GraphEdit_PanningScheme>`\ )
- :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **get_panning_scheme**\ (\ )
Определяет схему управления панорамированием с помощью колесика мыши.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_right_disconnects:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **right_disconnects** = ``false`` :ref:`🔗<class_GraphEdit_property_right_disconnects>`
.. rst-class:: classref-property-setget
- |void| **set_right_disconnects**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_right_disconnects_enabled**\ (\ )
Если ``true``, позволяет отключать существующие соединения в GraphEdit путем перетаскивания правого конца.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_scroll_offset:
.. rst-class:: classref-property
:ref:`Vector2<class_Vector2>` **scroll_offset** = ``Vector2(0, 0)`` :ref:`🔗<class_GraphEdit_property_scroll_offset>`
.. rst-class:: classref-property-setget
- |void| **set_scroll_offset**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
- :ref:`Vector2<class_Vector2>` **get_scroll_offset**\ (\ )
Смещение прокрутки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_arrange_button:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_arrange_button** = ``true`` :ref:`🔗<class_GraphEdit_property_show_arrange_button>`
.. rst-class:: classref-property-setget
- |void| **set_show_arrange_button**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_arrange_button**\ (\ )
Если ``true``, кнопка для автоматического упорядочивания узлов графа будет видна.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_grid:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_grid** = ``true`` :ref:`🔗<class_GraphEdit_property_show_grid>`
.. rst-class:: classref-property-setget
- |void| **set_show_grid**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_grid**\ (\ )
Если ``true``, сетка видна.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_grid_buttons:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_grid_buttons** = ``true`` :ref:`🔗<class_GraphEdit_property_show_grid_buttons>`
.. rst-class:: classref-property-setget
- |void| **set_show_grid_buttons**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_grid_buttons**\ (\ )
Если ``true``, то видны кнопки, позволяющие настраивать параметры сетки и привязки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_menu:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_menu** = ``true`` :ref:`🔗<class_GraphEdit_property_show_menu>`
.. rst-class:: classref-property-setget
- |void| **set_show_menu**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_menu**\ (\ )
Если ``true``, панель инструментов меню видна.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_minimap_button:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_minimap_button** = ``true`` :ref:`🔗<class_GraphEdit_property_show_minimap_button>`
.. rst-class:: classref-property-setget
- |void| **set_show_minimap_button**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_minimap_button**\ (\ )
Если ``true``, кнопка переключения мини-карты будет видна.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_zoom_buttons:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_zoom_buttons** = ``true`` :ref:`🔗<class_GraphEdit_property_show_zoom_buttons>`
.. rst-class:: classref-property-setget
- |void| **set_show_zoom_buttons**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_zoom_buttons**\ (\ )
Если ``true``, видны кнопки, позволяющие изменять и сбрасывать уровень масштабирования.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_show_zoom_label:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **show_zoom_label** = ``false`` :ref:`🔗<class_GraphEdit_property_show_zoom_label>`
.. rst-class:: classref-property-setget
- |void| **set_show_zoom_label**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_showing_zoom_label**\ (\ )
Если ``true``, то виден текст с текущим уровнем масштабирования. Уровень масштабирования отображается в процентах.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_snapping_distance:
.. rst-class:: classref-property
:ref:`int<class_int>` **snapping_distance** = ``20`` :ref:`🔗<class_GraphEdit_property_snapping_distance>`
.. rst-class:: classref-property-setget
- |void| **set_snapping_distance**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_snapping_distance**\ (\ )
Расстояние привязки в пикселях, также определяет расстояние между линиями сетки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_snapping_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **snapping_enabled** = ``true`` :ref:`🔗<class_GraphEdit_property_snapping_enabled>`
.. rst-class:: classref-property-setget
- |void| **set_snapping_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_snapping_enabled**\ (\ )
Если ``true``, включает привязку.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_type_names:
.. rst-class:: classref-property
:ref:`Dictionary<class_Dictionary>` **type_names** = ``{}`` :ref:`🔗<class_GraphEdit_property_type_names>`
.. rst-class:: classref-property-setget
- |void| **set_type_names**\ (\ value\: :ref:`Dictionary<class_Dictionary>`\ )
- :ref:`Dictionary<class_Dictionary>` **get_type_names**\ (\ )
:ref:`Dictionary<class_Dictionary>` of human-readable port type names.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_zoom:
.. rst-class:: classref-property
:ref:`float<class_float>` **zoom** = ``1.0`` :ref:`🔗<class_GraphEdit_property_zoom>`
.. rst-class:: classref-property-setget
- |void| **set_zoom**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_zoom**\ (\ )
Текущее значение масштабирования.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_zoom_max:
.. rst-class:: classref-property
:ref:`float<class_float>` **zoom_max** = ``2.0736003`` :ref:`🔗<class_GraphEdit_property_zoom_max>`
.. rst-class:: classref-property-setget
- |void| **set_zoom_max**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_zoom_max**\ (\ )
Максимальный предел масштабирования.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_zoom_min:
.. rst-class:: classref-property
:ref:`float<class_float>` **zoom_min** = ``0.23256795`` :ref:`🔗<class_GraphEdit_property_zoom_min>`
.. rst-class:: classref-property-setget
- |void| **set_zoom_min**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_zoom_min**\ (\ )
Минимальный предел масштабирования.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_property_zoom_step:
.. rst-class:: classref-property
:ref:`float<class_float>` **zoom_step** = ``1.2`` :ref:`🔗<class_GraphEdit_property_zoom_step>`
.. rst-class:: classref-property-setget
- |void| **set_zoom_step**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_zoom_step**\ (\ )
Шаг каждого уровня масштабирования.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_GraphEdit_private_method__get_connection_line:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **_get_connection_line**\ (\ from_position\: :ref:`Vector2<class_Vector2>`, to_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| :ref:`🔗<class_GraphEdit_private_method__get_connection_line>`
Виртуальный метод, который можно переопределить, чтобы настроить способ рисования соединений.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_private_method__is_in_input_hotzone:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_in_input_hotzone**\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_in_input_hotzone>`
Возвращает, находится ли ``mouse_position`` в зоне активного входа.
По умолчанию зона активного входа — это :ref:`Rect2<class_Rect2>`, расположенный таким образом, что его центр находится в ``in_node``.\ :ref:`GraphNode.get_input_port_position()<class_GraphNode_method_get_input_port_position>`\ (``in_port``) (В случае выхода вместо этого вызовите :ref:`GraphNode.get_output_port_position()<class_GraphNode_method_get_output_port_position>`). Ширина зоны активного входа в два раза больше свойства темы ``port_grab_distance_horizontal``, а ее высота в два раза больше ``port_grab_distance_vertical``.
Ниже приведен пример кода, который поможет начать работу:
::
func _is_in_input_hotzone(in_node, in_port, mouse_position):
var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
var port_pos = in_node.get_position() + in_node.get_input_port_position(in_port) - port_size / 2
var rect = Rect2(port_pos, port_size)
return rect.has_point(mouse_position)
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_private_method__is_in_output_hotzone:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_in_output_hotzone**\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_in_output_hotzone>`
Возвращает, находится ли ``mouse_position`` в выходной горячей зоне. Для получения дополнительной информации о горячих зонах см. :ref:`_is_in_input_hotzone()<class_GraphEdit_private_method__is_in_input_hotzone>`.
Ниже приведен пример кода, который поможет начать работу:
::
func _is_in_output_hotzone(in_node, in_port, mouse_position):
var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
var port_pos = in_node.get_position() + in_node.get_output_port_position(in_port) - port_size / 2
var rect = Rect2(port_pos, port_size)
return rect.has_point(mouse_position)
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_private_method__is_node_hover_valid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_node_hover_valid**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_node_hover_valid>`
Этот виртуальный метод можно использовать для вставки дополнительного обнаружения ошибок, пока пользователь перетаскивает соединение через допустимый порт.
Верните ``true``, если соединение действительно допустимо, или верните ``false``, если соединение невозможно. Если соединение невозможно, то привязка к порту и, следовательно, запрос на соединение к этому порту не произойдет.
В этом примере соединение с тем же узлом подавляется:
.. tabs::
.. code-tab:: gdscript
func _is_node_hover_valid(from, from_port, to, to_port):
return from != to
.. code-tab:: csharp
public override bool _IsNodeHoverValid(StringName fromNode, int fromPort, StringName toNode, int toPort)
{
return fromNode != toNode;
}
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_add_valid_connection_type:
.. rst-class:: classref-method
|void| **add_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_connection_type>`
Позволяет устанавливать соединение между двумя разными типами портов. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
См. также :ref:`is_valid_connection_type()<class_GraphEdit_method_is_valid_connection_type>` и :ref:`remove_valid_connection_type()<class_GraphEdit_method_remove_valid_connection_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_add_valid_left_disconnect_type:
.. rst-class:: classref-method
|void| **add_valid_left_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_left_disconnect_type>`
Позволяет отключать узлы при перетаскивании из левого порта слота :ref:`GraphNode<class_GraphNode>`, если он имеет указанный тип. См. также :ref:`remove_valid_left_disconnect_type()<class_GraphEdit_method_remove_valid_left_disconnect_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_add_valid_right_disconnect_type:
.. rst-class:: classref-method
|void| **add_valid_right_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_right_disconnect_type>`
Позволяет отключать узлы при перетаскивании из правого порта слота :ref:`GraphNode<class_GraphNode>`, если он имеет указанный тип. См. также :ref:`remove_valid_right_disconnect_type()<class_GraphEdit_method_remove_valid_right_disconnect_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_arrange_nodes:
.. rst-class:: classref-method
|void| **arrange_nodes**\ (\ ) :ref:`🔗<class_GraphEdit_method_arrange_nodes>`
Переупорядочивает выбранные узлы в макете, с минимальным количеством пересечений между соединениями и равномерным горизонтальным и вертикальным зазором между узлами.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_attach_graph_element_to_frame:
.. rst-class:: classref-method
|void| **attach_graph_element_to_frame**\ (\ element\: :ref:`StringName<class_StringName>`, frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_attach_graph_element_to_frame>`
Прикрепляет ``element`` :ref:`GraphElement<class_GraphElement>` к ``frame`` :ref:`GraphFrame<class_GraphFrame>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_clear_connections:
.. rst-class:: classref-method
|void| **clear_connections**\ (\ ) :ref:`🔗<class_GraphEdit_method_clear_connections>`
Удаляет все соединения между узлами.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_connect_node:
.. rst-class:: classref-method
:ref:`Error<enum_@GlobalScope_Error>` **connect_node**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, keep_alive\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_GraphEdit_method_connect_node>`
Создайте соединение между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`. Если соединение уже существует, соединение не создается.
Соединения с ``keep_alive``, установленным на ``false``, могут быть удалены автоматически, если они недействительны во время перерисовки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_detach_graph_element_from_frame:
.. rst-class:: classref-method
|void| **detach_graph_element_from_frame**\ (\ element\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_detach_graph_element_from_frame>`
Отсоединяет ``element`` :ref:`GraphElement<class_GraphElement>` от :ref:`GraphFrame<class_GraphFrame>`, к которому он в данный момент прикреплен.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_disconnect_node:
.. rst-class:: classref-method
|void| **disconnect_node**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_disconnect_node>`
Удаляет связь между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`. Если связь не существует, то связь не удаляется.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_force_connection_drag_end:
.. rst-class:: classref-method
|void| **force_connection_drag_end**\ (\ ) :ref:`🔗<class_GraphEdit_method_force_connection_drag_end>`
Завершает создание текущего соединения. Другими словами, если вы перетаскиваете соединение, вы можете использовать этот метод, чтобы прервать процесс и удалить линию, которая следовала за вашим курсором.
Лучше всего использовать его вместе с :ref:`connection_drag_started<class_GraphEdit_signal_connection_drag_started>` и :ref:`connection_drag_ended<class_GraphEdit_signal_connection_drag_ended>` для добавления пользовательского поведения, например добавления узла с помощью сочетаний клавиш.
\ **Примечание:** Этот метод подавляет любые другие сигналы запроса на соединение, кроме :ref:`connection_drag_ended<class_GraphEdit_signal_connection_drag_ended>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_attached_nodes_of_frame:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] **get_attached_nodes_of_frame**\ (\ frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_get_attached_nodes_of_frame>`
Возвращает массив имен узлов, прикрепленных к :ref:`GraphFrame<class_GraphFrame>` с заданным именем.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_closest_connection_at_point:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **get_closest_connection_at_point**\ (\ point\: :ref:`Vector2<class_Vector2>`, max_distance\: :ref:`float<class_float>` = 4.0\ ) |const| :ref:`🔗<class_GraphEdit_method_get_closest_connection_at_point>`
Возвращает ближайшее соединение в заданной точке в пространстве экрана. Если соединение не найдено в пределах ``max_distance`` пикселей, возвращается пустой :ref:`Dictionary<class_Dictionary>`.
Соединение представляется как :ref:`Dictionary<class_Dictionary>` в виде:
::
{
from_node: StringName,
from_port: int,
to_node: StringName,
to_port: int,
keep_alive: bool
}
Например, получение соединения в заданной позиции мыши может быть достигнуто следующим образом:
.. tabs::
.. code-tab:: gdscript
var connection = get_closest_connection_at_point(mouse_event.get_position())
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_connection_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_connection_count**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_get_connection_count>`
Возвращает количество соединений из ``from_port`` ``from_node``.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_connection_line:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **get_connection_line**\ (\ from_node\: :ref:`Vector2<class_Vector2>`, to_node\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connection_line>`
Возвращает точки, которые составят связь между ``from_node`` и ``to_node``.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_connection_list_from_node:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connection_list_from_node**\ (\ node\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connection_list_from_node>`
Возвращает :ref:`Array<class_Array>`, содержащий список всех соединений для ``node``.
Соединение представлено как :ref:`Dictionary<class_Dictionary>` в форме:
::
{
from_node: StringName,
from_port: int,
to_node: StringName,
to_port: int,
keep_alive: bool
}
\ **Пример:** Получить все соединения на определенном порту:
::
func get_connection_list_from_port(node, port):
var connections = get_connection_list_from_node(node)
var result = []
for connection in connections:
var dict = {}
if connection["from_node"] == node and connection["from_port"] == port:
dict["node"] = connection["to_node"]
dict["port"] = connection["to_port"]
dict["type"] = "левый"
result.push_back(dict)
elif connection["to_node"] == node and connection["to_port"] == port:
dict["node"] = connection["from_node"]
dict["port"] = connection["from_port"]
dict["type"] = "правый"
result.push_back(dict)
return result
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_connections_intersecting_with_rect:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connections_intersecting_with_rect**\ (\ rect\: :ref:`Rect2<class_Rect2>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connections_intersecting_with_rect>`
Возвращает :ref:`Array<class_Array>`, содержащий список соединений, которые пересекаются с заданным :ref:`Rect2<class_Rect2>`.
Соединение представлено как :ref:`Dictionary<class_Dictionary>` в форме:
::
{
from_node: StringName,
from_port: int,
to_node: StringName,
to_port: int,
keep_alive: bool
}
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_element_frame:
.. rst-class:: classref-method
:ref:`GraphFrame<class_GraphFrame>` **get_element_frame**\ (\ element\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_get_element_frame>`
Возвращает :ref:`GraphFrame<class_GraphFrame>`, содержащий :ref:`GraphElement<class_GraphElement>` с указанным именем.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_get_menu_hbox:
.. rst-class:: classref-method
:ref:`HBoxContainer<class_HBoxContainer>` **get_menu_hbox**\ (\ ) :ref:`🔗<class_GraphEdit_method_get_menu_hbox>`
Получает :ref:`HBoxContainer<class_HBoxContainer>`, содержащий элементы управления масштабированием и привязкой к сетке в левом верхнем углу графика. Вы можете использовать этот метод для изменения положения панели инструментов или добавления к ней собственных элементов управления.
\ **Предупреждение:** Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство :ref:`CanvasItem.visible<class_CanvasItem_property_visible>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_is_node_connected:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_node_connected**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_is_node_connected>`
Возвращает ``true``, если ``from_port`` узла ``from_node`` :ref:`GraphNode<class_GraphNode>` подключен к ``to_port`` узла ``to_node`` :ref:`GraphNode<class_GraphNode>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_is_valid_connection_type:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_GraphEdit_method_is_valid_connection_type>`
Возвращает, возможно ли установить соединение между двумя разными типами портов. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
См. также :ref:`add_valid_connection_type()<class_GraphEdit_method_add_valid_connection_type>` и :ref:`remove_valid_connection_type()<class_GraphEdit_method_remove_valid_connection_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_remove_valid_connection_type:
.. rst-class:: classref-method
|void| **remove_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_connection_type>`
Запрещает соединение между двумя различными типами портов, ранее разрешенными :ref:`add_valid_connection_type()<class_GraphEdit_method_add_valid_connection_type>`. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
См. также :ref:`is_valid_connection_type()<class_GraphEdit_method_is_valid_connection_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_remove_valid_left_disconnect_type:
.. rst-class:: classref-method
|void| **remove_valid_left_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_left_disconnect_type>`
Disallows to disconnect nodes when dragging from the left port of the :ref:`GraphNode<class_GraphNode>`'s slot if it has the specified type. Use this to disable a disconnection previously allowed with :ref:`add_valid_left_disconnect_type()<class_GraphEdit_method_add_valid_left_disconnect_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_remove_valid_right_disconnect_type:
.. rst-class:: classref-method
|void| **remove_valid_right_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_right_disconnect_type>`
Disallows to disconnect nodes when dragging from the right port of the :ref:`GraphNode<class_GraphNode>`'s slot if it has the specified type. Use this to disable a disconnection previously allowed with :ref:`add_valid_right_disconnect_type()<class_GraphEdit_method_add_valid_right_disconnect_type>`.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_set_connection_activity:
.. rst-class:: classref-method
|void| **set_connection_activity**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ ) :ref:`🔗<class_GraphEdit_method_set_connection_activity>`
Устанавливает окраску соединения между ``from_node`` ``from_port`` и ``to_node`` ``to_port`` с цветом, предоставленным в свойстве темы :ref:`activity<class_GraphEdit_theme_color_activity>`. Цвет линейно интерполируется между цветом соединения и цветом активности с использованием ``amount`` в качестве веса.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_method_set_selected:
.. rst-class:: classref-method
|void| **set_selected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_method_set_selected>`
Устанавливает указанный ``node`` как выбранный.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания свойств темы
------------------------------------------
.. _class_GraphEdit_theme_color_activity:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **activity** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_GraphEdit_theme_color_activity>`
Цвет линии соединения интерполируется на основе значения активности соединения (см. :ref:`set_connection_activity()<class_GraphEdit_method_set_connection_activity>`).
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_connection_hover_tint_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **connection_hover_tint_color** = ``Color(0, 0, 0, 0.3)`` :ref:`🔗<class_GraphEdit_theme_color_connection_hover_tint_color>`
Цвет, который смешивается с соединительной линией при наведении на нее курсора мыши.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_connection_rim_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **connection_rim_color** = ``Color(0.1, 0.1, 0.1, 0.6)`` :ref:`🔗<class_GraphEdit_theme_color_connection_rim_color>`
Цвет ободка вокруг каждой соединительной линии используется для того, чтобы сделать пересекающиеся линии более различимыми.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_connection_valid_target_tint_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **connection_valid_target_tint_color** = ``Color(1, 1, 1, 0.4)`` :ref:`🔗<class_GraphEdit_theme_color_connection_valid_target_tint_color>`
Цвет, который смешивается с линией соединения, когда текущее перетаскиваемое соединение наводится на допустимый целевой порт.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_grid_major:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **grid_major** = ``Color(1, 1, 1, 0.2)`` :ref:`🔗<class_GraphEdit_theme_color_grid_major>`
Цвет основных линий/точек сетки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_grid_minor:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **grid_minor** = ``Color(1, 1, 1, 0.05)`` :ref:`🔗<class_GraphEdit_theme_color_grid_minor>`
Цвет второстепенных линий/точек сетки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_selection_fill:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **selection_fill** = ``Color(1, 1, 1, 0.3)`` :ref:`🔗<class_GraphEdit_theme_color_selection_fill>`
Цвет заливки прямоугольника выделения.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_color_selection_stroke:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **selection_stroke** = ``Color(1, 1, 1, 0.8)`` :ref:`🔗<class_GraphEdit_theme_color_selection_stroke>`
Цвет контура прямоугольника выделения.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_constant_connection_hover_thickness:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **connection_hover_thickness** = ``0`` :ref:`🔗<class_GraphEdit_theme_constant_connection_hover_thickness>`
Widens the line of a connection when the mouse is hovering over it by a percentage factor. A value of ``0`` disables the highlight. A value of ``100`` doubles the line width.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_constant_port_hotzone_inner_extent:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **port_hotzone_inner_extent** = ``22`` :ref:`🔗<class_GraphEdit_theme_constant_port_hotzone_inner_extent>`
Горизонтальный диапазон, в пределах которого можно захватить порт (внутренняя сторона).
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_constant_port_hotzone_outer_extent:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **port_hotzone_outer_extent** = ``26`` :ref:`🔗<class_GraphEdit_theme_constant_port_hotzone_outer_extent>`
Горизонтальный диапазон, в пределах которого можно захватить порт (внешняя сторона).
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_grid_toggle:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **grid_toggle** :ref:`🔗<class_GraphEdit_theme_icon_grid_toggle>`
Значок кнопки переключения сетки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_layout:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **layout** :ref:`🔗<class_GraphEdit_theme_icon_layout>`
Значок кнопки макета для автоматического размещения графика.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_minimap_toggle:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **minimap_toggle** :ref:`🔗<class_GraphEdit_theme_icon_minimap_toggle>`
Значок кнопки переключения мини-карты.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_snapping_toggle:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **snapping_toggle** :ref:`🔗<class_GraphEdit_theme_icon_snapping_toggle>`
Значок для кнопки-переключателя привязки.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_zoom_in:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **zoom_in** :ref:`🔗<class_GraphEdit_theme_icon_zoom_in>`
Значок кнопки увеличения масштаба.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_zoom_out:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **zoom_out** :ref:`🔗<class_GraphEdit_theme_icon_zoom_out>`
Значок кнопки уменьшения масштаба.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_icon_zoom_reset:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **zoom_reset** :ref:`🔗<class_GraphEdit_theme_icon_zoom_reset>`
Значок кнопки сброса масштаба.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_style_menu_panel:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **menu_panel** :ref:`🔗<class_GraphEdit_theme_style_menu_panel>`
.. container:: contribute
There is currently no description for this theme property. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_style_panel:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **panel** :ref:`🔗<class_GraphEdit_theme_style_panel>`
Фон, нарисованный под сеткой.
.. rst-class:: classref-item-separator
----
.. _class_GraphEdit_theme_style_panel_focus:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **panel_focus** :ref:`🔗<class_GraphEdit_theme_style_panel_focus>`
:ref:`StyleBox<class_StyleBox>` используется, когда фокус находится на **GraphEdit** (при использовании со вспомогательными приложениями).
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`