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 () |
Стилизованные свойства
| gint | slider-height | Чтение |
| gint | slider-width | Чтение |
Сигналы
Типы и значения
| 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 на нужное.
Параметры
С: 3.0
gtk_switch_get_active ()
gboolean
gtk_switch_get_active (GtkSwitch *sw); Возвращает, находится ли GtkSwitch в состоянии «включено» или «выключено».
Параметры
sw | виджет GtkSwitch |
С: 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
Типы и значения
struct GtkSwitch
struct GtkSwitch;
Структура GtkSwitch содержит приватные данные, к которым следует обращаться только через предоставленный API.
struct GtkSwitchClass
struct GtkSwitchClass {
GtkWidgetClass parent_class;
void (* activate) (GtkSwitch *sw);
gboolean (* state_set) (GtkSwitch *sw, gboolean state);
};
Члены
| Сигнал действия, его генерация вызывает анимацию переключателя. | |
| Обработчик класса для сигнала ::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
См. также
© 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