Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Signals

GtkToggleButton

GtkToggleButton Кнопки с сохраняемым состоянием

Краткое описание

#include <gtk/gtk.h> GtkToggleButton; GtkWidget* gtk_toggle_button_new (void); GtkWidget* gtk_toggle_button_new_with_label (const gchar *label); GtkWidget* gtk_toggle_button_new_with_mnemonic (const gchar *label); void gtk_toggle_button_set_mode (GtkToggleButton *toggle_button, gboolean draw_indicator); gboolean gtk_toggle_button_get_mode (GtkToggleButton *toggle_button); #define gtk_toggle_button_set_state void gtk_toggle_button_toggled (GtkToggleButton *toggle_button); gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button); void gtk_toggle_button_set_active (GtkToggleButton *toggle_button, gboolean is_active); gboolean gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button); void gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button, gboolean setting);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkButton +----GtkToggleButton +----GtkCheckButton

Осуществляемые интерфейсы

GtkToggleButton осуществляет AtkImplementorIface.

Свойства

"active" gboolean : Read / Write "draw-indicator" gboolean : Read / Write "inconsistent" gboolean : Read / Write

Сигналы

"toggled" void user_function (GtkToggleButton *togglebutton, gpointer user_data) : Run first

Описание

GtkToggleButton - это GtkButton с запоминанием состояния при нажатии. Когда происходит нажатие, кнопка переключатель остаётся либо в нажатом, либо в отжатом состоянии.

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

Состояние GtkToggleButton может быть специально установлено используя gtk_toggle_button_set_active(), а определено используя gtk_toggle_button_get_active().

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

Пример 2. Создание двух виджетов GtkToggleButton.

void make_toggles (void) { GtkWidget *dialog, *toggle1, *toggle2; dialog = gtk_dialog_new (); toggle1 = gtk_toggle_button_new_with_label ("Привет, я кнопка переключатель."); /* Делаем эту кнопку переключатель невидимой */ 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 (GTK_DIALOG (dialog)->action_area), toggle1, FALSE, FALSE, 2); toggle2 = gtk_toggle_button_new_with_label ("Hi, i'm another toggle button."); 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 (GTK_DIALOG (dialog)->action_area), toggle2, FALSE, FALSE, 2); gtk_widget_show_all (dialog); }

Детали

GtkToggleButton

typedef struct _GtkToggleButton GtkToggleButton;

Структура GtkToggleButton содержит закрытые данные, которыми должны манипулировать функции приведённые ниже.


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, для создания кнопки похожей на нормальную.

Эта функция имеет эффект только в случае класса 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_set_state

#define gtk_toggle_button_set_state             gtk_toggle_button_set_active

Внимание

gtk_toggle_button_set_state устарел и не нужно его использовать во вновь создаваемом коде.

Это устаревший макрос и поддерживается только поп причине совместимости.


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 отжатый. Это действие издаёт сигнал переключения.

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 если состояние неопределённое

Детали свойств

Свойство "active"

  "active"               gboolean              : Read / Write

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

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


Свойство "draw-indicator"

  "draw-indicator"       gboolean              : Read / Write

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

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


Свойство "inconsistent"

  "inconsistent"         gboolean              : Read / Write

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

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

Детали сигналов

Сигнал "toggled"

void user_function (GtkToggleButton *togglebutton, gpointer user_data) : Run first

Должен быть подключен если вы выполняете действия изменяющие состояние GtkToggleButton's.

togglebutton :

Объект получающий сигнал.

user_data :

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

Смотрите также

GtkButton

Больше об основных кнопках.

GtkCheckButton

Другой способ представить опцию переключения.

GtkCheckMenuItem

GtkToggleButton как пункт меню.