Spec-Zone.ru › GTK 3.22

GtkSwitch

GtkSwitch — Переключатель в стиле «выключатель света»

Функции

GtkWidget * gtk_switch_new ()
void gtk_switch_set_active ()
gboolean gtk_switch_get_active ()
void gtk_switch_set_state ()
gboolean gtk_switch_get_state ()

Свойства

gboolean active Чтение / Запись
gboolean state Чтение / Запись

Стилизованные свойства

gint slider-height Чтение
gint slider-width Чтение

Сигналы

void activate Действие
gboolean state-set Выполняется последним

Типы и значения

struct GtkSwitch
struct GtkSwitchClass

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkSwitch

Реализованные интерфейсы

GtkSwitch реализует AtkImplementorIface, GtkBuildable, GtkActionable и GtkActivatable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkSwitch — это виджет, имеющий два состояния: включён или выключен. Пользователь может управлять активным состоянием, нажав на пустую область или перетащив рукоятку.

GtkSwitch также может обрабатывать ситуации, когда базовое состояние изменяется с задержкой. Подробнее см. сигнал «state-set».

CSS узлы

switch
╰── slider

GtkSwitch имеет два CSS узла: основной узел с именем switch и дочерний узел с именем slider. Ни один из них не использует стилизованные классы.

Функции

gtk_switch_new ()

GtkWidget *
gtk_switch_new (void);

Создаёт новый виджет GtkSwitch.

Возвращаемое значение

созданный экземпляр GtkSwitch

С: 3.0

gtk_switch_set_active ()

void
gtk_switch_set_active (GtkSwitch *sw,
                       gboolean is_active);

Изменяет состояние sw на нужное.

Параметры

sw

виджет GtkSwitch

is_active

TRUE, если sw должен быть активным, и FALSE в противном случае

С: 3.0

gtk_switch_get_active ()

gboolean
gtk_switch_get_active (GtkSwitch *sw);

Возвращает, находится ли GtkSwitch в состоянии «включено» или «выключено».

Параметры

sw

виджет GtkSwitch

Возвращаемое значение

TRUE, если GtkSwitch активен, и FALSE в противном случае

С: 3.0

gtk_switch_set_state ()

void
gtk_switch_set_state (GtkSwitch *sw,
                      gboolean state);

Устанавливает базовое состояние GtkSwitch.

Обычно это то же самое, что и свойство «active», за исключением случаев, когда переключатель настроен на задержку изменений состояния. Эта функция обычно вызывается обработчиком сигнала «state-set».

Подробнее см. сигнал «state-set».

Параметры

sw

виджет GtkSwitch

state

новое состояние

С: 3.14

gtk_switch_get_state ()

gboolean
gtk_switch_get_state (GtkSwitch *sw);

Получает базовое состояние GtkSwitch.

Параметры

sw

виджет GtkSwitch

Возвращаемое значение

базовое состояние

С: 3.14

Типы и значения

struct GtkSwitch

struct GtkSwitch;

Структура GtkSwitch содержит приватные данные, к которым следует обращаться только через предоставленный API.

struct GtkSwitchClass

struct GtkSwitchClass {
  GtkWidgetClass parent_class;


  void (* activate) (GtkSwitch *sw);

  gboolean (* state_set) (GtkSwitch *sw, gboolean state);
};

Члены

activate ()

Сигнал действия, его генерация вызывает анимацию переключателя.

state_set ()

Обработчик класса для сигнала ::state-set.

Подробное описание свойств

Свойство “active”

  “active”                   gboolean

Определяет, находится ли виджет GtkSwitch в включённом или выключенном состоянии.

Флаги: Чтение/Запись

Значение по умолчанию: FALSE

Свойство “state”

  “state”                    gboolean

Состояние бэкенда, управляемое переключателем. Подробности см. в сигнале “state-set”.

Флаги: Чтение/Запись

Значение по умолчанию: FALSE

С: 3.14

Подробное описание свойств стиля

Свойство стиля “slider-height”

  “slider-height”            gint

Минимальная высота ручки виджета GtkSwitch в пикселях.

GtkSwitch:slider-height устарело начиная с версии 3.20 и не должно использоваться в новом коде.

Используйте свойство CSS min-height вместо этого.

Флаги: Чтение

Допустимые значения: >= 22

Значение по умолчанию: 22

С: 3.18

Свойство стиля “slider-width”

  “slider-width”             gint

Минимальная ширина ручки виджета GtkSwitch в пикселях.

GtkSwitch:slider-width устарело начиная с версии 3.20 и не должно использоваться в новом коде.

Используйте свойство CSS min-width вместо этого.

Флаги: Чтение

Допустимые значения: >= 36

Значение по умолчанию: 36

Подробное описание сигналов

Сигнал “activate”

void
user_function (GtkSwitch *widget,
               gpointer   user_data)

Сигнал ::activate в GtkSwitch является сигналом действия, его генерация вызывает анимацию переключателя. Приложения никогда не должны подключаться к этому сигналу, но должны использовать сигнал notify::active.

Параметры

widget

объект, получивший сигнал.

user_data

пользовательские данные, заданные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “state-set”

gboolean
user_function (GtkSwitch *widget,
               gboolean   state,
               gpointer   user_data)

Сигнал ::state-set в GtkSwitch генерируется для изменения базового состояния. Он генерируется при изменении пользователем положения переключателя. По умолчанию обработчик синхронизирует состояние с свойством “active”.

Для реализации задержки изменения состояния приложения могут подключиться к этому сигналу, инициировать изменение базового состояния, и вызвать gtk_switch_set_state(), когда изменение базового состояния будет завершено. Обработчик сигнала должен вернуть TRUE, чтобы предотвратить выполнение обработчика по умолчанию.

Визуально, базовое состояние представлено цветом канала переключателя, в то время как свойство “active” представлено позицией переключателя.

Параметры

widget

объект, на котором был сгенерирован сигнал

state

новое состояние переключателя

user_data

пользовательские данные, заданные при подключении обработчика сигнала.

Возвращаемое значение

TRUE для остановки генерации сигнала

Флаги: Выполнение в конце

С: 3.14

См. также

GtkToggleButton

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkSwitch.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API