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

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

GTK+ 2.0 Tutorial

<<< Previous

The Button Widget

Next >>>


Переключатель (Toggle Buttons)

Переключатели - это кнопки всегда находящиеся в одном из двух положений, включено или выключено. При каждом нажатии на кнопку вы  переключаете её положение.

Переключатели являются основой для контроль-кнопок (check buttons) и для радио-кнопок (radio buttons), поэтому многие вызовы используемые для переключателей действительны и для них. Об этом чуть позже.

Создание переключателя:

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 );

Как вы понимаете, они создаются тождественно нормальным кнопкам. В первой строке создается переключатель а в следующих двух, надпись(ярлык) которая в него упаковывается.

Для восстановления статуса переключателя, радио-кнопки или контроль-кнопки используем конструкцию приведенную в примере ниже. Получая доступ к активной области структуры переключателя, осуществляем контроль его состояния, после первого использования макроса GTK_TOGGLE_BUTTON определяется указатель на переключатель. Нас интересует сигнал создаваемый переключателем (the toggle button, check button, and radio button widgets) - это "toggled" сигнал. Для получения доступа к структуре контроля состояния, необходимо настроить обработчик сигналов для сигнала "toggled". Это выглядит примерно так:

void toggle_button_callback (GtkWidget *widget, gpointer data)
{
    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) 
    {
        /* Если выполнение останавливается здесь, кнопка переключателя нажата */
    
    } else {
    
        /* Если выполнение останавливается здесь, кнопка переключателя не нажата */
    }
}

Изменить состояние переключателя и его дочерних виджетов контроль-кнопки или радио-кнопки можно используя функцию:

void gtk_toggle_button_set_active( GtkToggleButton *toggle_button,
                                   gboolean        is_active );

При выполнении в качестве первого аргумента создаётся кнопка, а вторым аргументом определяется состояние, TRUE или FALSE - нажата (depressed) или нет (released) соответственно. По умолчанию не нажата, тоесть FALSE.

Заметьте, при использовании функции gtk_toggle_button_set_active(), состояние изменяется и кнопка производит сигналы "clicked" и "toggled".

gboolean gtk_toggle_button_get_active   (GtkToggleButton *toggle_button);

Это возвращает текущее состояние кнопки переключателя как значение (boolean) TRUE/FALSE.


<<< Previous

Home

Next >>>

The Button Widget

Up

Check Buttons




АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

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

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

Подробнее о проведении акции вы можете прочитать на странице сайта.


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