The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

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 как пункт меню.




ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Оформить подписку на год


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList