Spec-Zone.ru › GTK 3.24

GtkToggleButton

GtkToggleButton — Создаёт кнопки, сохраняющие своё состояние

Функции

GtkWidget * gtk_toggle_button_new ()
GtkWidget * gtk_toggle_button_new_with_label ()
GtkWidget * gtk_toggle_button_new_with_mnemonic ()
void gtk_toggle_button_set_mode ()
gboolean gtk_toggle_button_get_mode ()
void gtk_toggle_button_toggled ()
gboolean gtk_toggle_button_get_active ()
void gtk_toggle_button_set_active ()
gboolean gtk_toggle_button_get_inconsistent ()
void gtk_toggle_button_set_inconsistent ()

Свойства

gboolean active Чтение / Запись
gboolean draw-indicator Чтение / Запись
gboolean inconsistent Чтение / Запись

Сигналы

void toggled Выполняется первым

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

struct GtkToggleButton

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkButton
                        ╰── GtkToggleButton
                            ├── GtkCheckButton
                            ╰── GtkMenuButton

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

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

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

#include <gtk/gtk.h>

Описание

A GtkToggleButton — это GtkButton, который остаётся «нажатым» при нажатии. При повторном нажатии кнопка переключается в исходное состояние.

Кнопка-переключатель создаётся путём вызова либо gtk_toggle_button_new(), либо gtk_toggle_button_new_with_label(). В первом случае рекомендуется разместить виджет (например, GtkLabel и/или GtkImage) в контейнере кнопки-переключателя. (См. GtkButton для получения дополнительной информации).

Состояние GtkToggleButton можно установить явно с помощью gtk_toggle_button_set_active() и получить с помощью gtk_toggle_button_get_active().

Для простого переключения состояния кнопки-переключателя используйте gtk_toggle_button_toggled().

CSS узлы

GtkToggleButton имеет один CSS узел с именем button. Чтобы отличить его от обычной кнопки GtkButton, он получает класс стиля .toggle.

Создание двух виджетов GtkToggleButton.

static void output_state (GtkToggleButton *source, gpointer user_data) {
  printf ("Active: %d\n", gtk_toggle_button_get_active (source));
}

void make_toggles (void) {
  GtkWidget *window, *toggle1, *toggle2;
  GtkWidget *box;
  const char *text;

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);

  text = "Hi, I’m a toggle button.";
  toggle1 = gtk_toggle_button_new_with_label (text);

  // Makes this toggle button invisible
  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1),
                              TRUE);

  g_signal_connect (toggle1, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_container_add (GTK_CONTAINER (box), toggle1);

  text = "Hi, I’m a toggle button.";
  toggle2 = gtk_toggle_button_new_with_label (text);
  gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2),
                              FALSE);
  g_signal_connect (toggle2, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_container_add (GTK_CONTAINER (box), toggle2);

  gtk_container_add (GTK_CONTAINER (window), box);
  gtk_widget_show_all (window);
}

Функции

gtk_toggle_button_new ()

GtkWidget *
gtk_toggle_button_new (void);

Создаёт новую кнопку переключения. Внутрь виджета кнопки необходимо упаковать виджет, как в gtk_button_new().

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

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

gtk_toggle_button_new_with_label ()

GtkWidget *
gtk_toggle_button_new_with_label (const gchar *label);

Создаёт новую кнопку переключения с текстовой меткой.

Параметры

label

строка, содержащая сообщение, которое будет размещено в кнопке переключения.

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

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

gtk_toggle_button_new_with_mnemonic ()

GtkWidget *
gtk_toggle_button_new_with_mnemonic (const gchar *label);

Создаёт новую кнопку переключения GtkToggleButton с меткой. Метка создаётся с помощью gtk_label_new_with_mnemonic(), поэтому подчёркивания в label указывают на мнемонический символ для кнопки.

Параметры

label

текст кнопки с подчёркиванием перед мнемоническим символом

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

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

gtk_toggle_button_set_mode ()

void
gtk_toggle_button_set_mode (GtkToggleButton *toggle_button,
                            gboolean draw_indicator);

Устанавливает, отображается ли кнопка как отдельный индикатор и метка. Вы можете вызвать эту функцию для кнопки выбора или радиокнопки с draw_indicator = FALSE для того, чтобы кнопка выглядела как обычная кнопка.

Это можно использовать для создания связанной полосы кнопок, которые работают как GtkStackSwitcher.

Эта функция влияет только на экземпляры классов, таких как GtkCheckButton и GtkRadioButton, производных от GtkToggleButton, а не на экземпляры GtkToggleButton сами по себе.

Параметры

toggle_button

кнопка переключения GtkToggleButton

draw_indicator

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

gtk_toggle_button_get_mode ()

gboolean
gtk_toggle_button_get_mode (GtkToggleButton *toggle_button);

Возвращает, отображается ли кнопка как отдельный индикатор и метка. См. gtk_toggle_button_set_mode().

Параметры

toggle_button

кнопка переключения GtkToggleButton

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

TRUE если кнопка переключения отображается как отдельный индикатор и метка.

gtk_toggle_button_toggled ()

void
gtk_toggle_button_toggled (GtkToggleButton *toggle_button);

Вызывает сигнал “toggled” для GtkToggleButton. Приложению не следует вызывать эту функцию.

Параметры

toggle_button

кнопка переключения GtkToggleButton.

gtk_toggle_button_get_active ()

gboolean
gtk_toggle_button_get_active (GtkToggleButton *toggle_button);

Опрашивает GtkToggleButton и возвращает её текущее состояние. Возвращает TRUE, если кнопка переключения нажата, и FALSE, если она поднята.

Параметры

toggle_button

кнопка переключения GtkToggleButton.

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

значение типа gboolean.

gtk_toggle_button_set_active ()

void
gtk_toggle_button_set_active (GtkToggleButton *toggle_button,
                              gboolean is_active);

Устанавливает состояние кнопки переключения. Установите в TRUE, если вы хотите, чтобы GtkToggleButton была «нажата», и FALSE, чтобы её поднять. Это действие вызывает срабатывание сигнала “toggled” и “clicked”.

Параметры

toggle_button

кнопка переключения GtkToggleButton.

is_active

TRUE или FALSE.

gtk_toggle_button_get_inconsistent ()

gboolean
gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button);

Получает значение, установленное gtk_toggle_button_set_inconsistent().

Параметры

toggle_button

кнопка переключения GtkToggleButton

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

TRUE, если кнопка отображается как несогласованная, FALSE в противном случае

gtk_toggle_button_set_inconsistent ()

void
gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,
                                    gboolean setting);

Если пользователь выбрал диапазон элементов (например, текст или ячейки электронных таблиц), на которые влияет кнопка переключения, и текущие значения в этом диапазоне не согласованы, вы можете отобразить кнопку в «промежуточном» состоянии. Эта функция включает отображение «промежуточного» состояния. Обычно вы выключаете несогласованное состояние, если пользователь переключает кнопку переключения. Это нужно делать вручную, gtk_toggle_button_set_inconsistent() влияет только на визуальное отображение, а не на семантику кнопки.

Параметры

toggle_button

кнопка переключения GtkToggleButton

setting

TRUE если состояние несогласованное

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

struct GtkToggleButton

struct GtkToggleButton;

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

Свойство “active”

  “active”                   gboolean

Если кнопка переключения должна быть нажата.

Владелец: GtkToggleButton

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

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

Свойство “draw-indicator”

  “draw-indicator”           gboolean

Если отображается часть кнопки переключения.

Владелец: GtkToggleButton

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

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

Свойство “inconsistent”

  “inconsistent”             gboolean

Если кнопка переключения находится в «промежуточном» состоянии.

Владелец: GtkToggleButton

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

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

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

Сигнал “toggled”

void
user_function (GtkToggleButton *togglebutton,
               gpointer         user_data)

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

Параметры

togglebutton

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

user_data

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

Флаги: Выполнять первым

См. также

GtkButton, GtkCheckButton, GtkCheckMenuItem

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

Spec-Zone.ru

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