:github_url: hide .. _class_TextServerManager: TextServerManager ================= **Наследует:** :ref:`Object` Синглтон для управления реализациями :ref:`TextServer`. .. rst-class:: classref-introduction-group Описание ---------------- **TextServerManager** — это API-бэкэнд для загрузки, перечисления и переключения :ref:`TextServer`. \ **Примечание:** Переключение текстового сервера во время выполнения возможно, но сделает недействительными все шрифты и текстовые буферы. Перед этим обязательно выгрузите все элементы управления, шрифты и темы. .. rst-class:: classref-reftable-group Методы ------------ .. table:: :widths: auto +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_interface`\ (\ interface\: :ref:`TextServer`\ ) | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TextServer` | :ref:`find_interface`\ (\ name\: :ref:`String`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TextServer` | :ref:`get_interface`\ (\ idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_interface_count`\ (\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`get_interfaces`\ (\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`TextServer` | :ref:`get_primary_interface`\ (\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_interface`\ (\ interface\: :ref:`TextServer`\ ) | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_primary_interface`\ (\ index\: :ref:`TextServer`\ ) | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Сигналы -------------- .. _class_TextServerManager_signal_interface_added: .. rst-class:: classref-signal **interface_added**\ (\ interface_name\: :ref:`StringName`\ ) :ref:`🔗` Выдается при добавлении нового интерфейса. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_signal_interface_removed: .. rst-class:: classref-signal **interface_removed**\ (\ interface_name\: :ref:`StringName`\ ) :ref:`🔗` Выдается при удалении интерфейса. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания метода ------------------------------ .. _class_TextServerManager_method_add_interface: .. rst-class:: classref-method |void| **add_interface**\ (\ interface\: :ref:`TextServer`\ ) :ref:`🔗` Регистрирует интерфейс :ref:`TextServer`. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_find_interface: .. rst-class:: classref-method :ref:`TextServer` **find_interface**\ (\ name\: :ref:`String`\ ) |const| :ref:`🔗` Находит интерфейс по его ``name``. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_get_interface: .. rst-class:: classref-method :ref:`TextServer` **get_interface**\ (\ idx\: :ref:`int`\ ) |const| :ref:`🔗` Возвращает интерфейс, зарегистрированный по указанному индексу. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_get_interface_count: .. rst-class:: classref-method :ref:`int` **get_interface_count**\ (\ ) |const| :ref:`🔗` Возвращает количество зарегистрированных в данный момент интерфейсов. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_get_interfaces: .. rst-class:: classref-method :ref:`Array`\[:ref:`Dictionary`\] **get_interfaces**\ (\ ) |const| :ref:`🔗` Возвращает список доступных интерфейсов с индексом и именем каждого интерфейса. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_get_primary_interface: .. rst-class:: classref-method :ref:`TextServer` **get_primary_interface**\ (\ ) |const| :ref:`🔗` Возвращает основной интерфейс :ref:`TextServer`, используемый в данный момент. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_remove_interface: .. rst-class:: classref-method |void| **remove_interface**\ (\ interface\: :ref:`TextServer`\ ) :ref:`🔗` Удаляет интерфейс. Все кэши шрифтов и сформированного текста должны быть освобождены перед удалением интерфейса. .. rst-class:: classref-item-separator ---- .. _class_TextServerManager_method_set_primary_interface: .. rst-class:: classref-method |void| **set_primary_interface**\ (\ index\: :ref:`TextServer`\ ) :ref:`🔗` Устанавливает основной интерфейс :ref:`TextServer`. .. |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 (Нет возвращаемого значения.)`