Spec-Zone.ru › GTK 3.20

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 Run First

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

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) в контейнер toggle button. (См. GtkButton для получения дополнительной информации).

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

Для изменения состояния toggle button используйте gtk_toggle_button_toggled().

CSS узлы

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

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

voidmake_toggles(void){
GtkWidget*dialog,*toggle1,*toggle2;
GtkWidget*content_area;
constchar*text;

   dialog =gtk_dialog_new(text);
   content_area =gtk_dialog_get_content_area();

   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_box_pack_start(GTK_BOX(content_area),
                       toggle1, FALSE, FALSE,2);

   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_box_pack_start(GTK_BOX(content_area),
                       toggle2, FALSE, FALSE,2);

gtk_widget_show_all(dialog);
}

Функции

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

a 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

a GtkToggleButton

Возвращает

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

gtk_toggle_button_toggled ()

void
gtk_toggle_button_toggled (GtkToggleButton *toggle_button);

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

Параметры

toggle_button

a GtkToggleButton.

gtk_toggle_button_get_active ()

gboolean
gtk_toggle_button_get_active (GtkToggleButton *toggle_button);

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

Параметры

toggle_button

a 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

a 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

a GtkToggleButton

Возвращает

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

gtk_toggle_button_set_inconsistent ()

void
gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,
                                    gboolean setting);

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

Параметры

toggle_button

a GtkToggleButton

setting

TRUE, если состояние несовместимо

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

struct GtkToggleButton

struct GtkToggleButton;

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

Свойство “active”

  “active”                   gboolean

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

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

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

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

  “draw-indicator”           gboolean

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

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

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

Свойство “inconsistent”

  “inconsistent”             gboolean

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

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

Значение по умолчанию: 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.20/GtkToggleButton.html

Spec-Zone.ru

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