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

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

GTK+ 2.0 Tutorial

<<< Previous

Next >>>


Регуляторы (Adjustments)

GTK имеет различные виджеты для регулировки диапазона с использованием мыши или клавиатуры, они обсуждаются в секции Range Widgets. Есть также несколько виджетов для регулирования текстовых или информационных данных выходящих за рамки окна отображения, для вывода данных определёнными порциями.

Очевидно, что приложение должно уметь реагировать на действия пользователя связанные с виджетами регулировки. Один из способов добиться этого, заставить виджет создавать сигнал определенного типа в момент изменения регулировок, перехватывая этот сигнал с помощью обработчика или контролировать состояние значения в структуре данных виджета. Вы также можете соединить несколько регуляторов вместе, чтобы регулировки одного отражались на других. Самый очевидный пример такого соединения, это регулировочная планка (scrollbar) в области просмотра (viewport) или прокрутка области текста. Если каждый виджет имеет собственное значение регулировки, то программисту потребуется  написать для каждого свой собственный обработчик сигнала, для того, чтобы различать сигнал выхода одного от сигнала входа другого.

GTK решает эту проблему используя регулировочный объект (Adjustment object), это не виджет а метод передачи и хранения информации о регулировании в абстрактной и гибкой форме. Самое очевидное использование регулировочного объекта (Adjustment), это сохранение конфигурации параметров значения виджетов регулирования диапазона, таких как планка прокрутки (scrollbars) и  скользящий регулятор (scale controls). Однако, так как Регуляторы (Adjustments) получены из объектов (Object), они имеют некоторые специальные возможности в отличие от нормальных структурных данных. Самое главное, они могут создавать сигналы как обычные виджеты и эти сигналы могут не только использоваться вашей программой для реакции на ваш ввод или вывод, но и прозрачно распространяться между регулировочными виджетами.

Вы можете посмотреть сходство регуляторов с другими виджетами: Progress Bars, Viewports, Scrolled Windows, и т.д.

Создание регуляторов (Adjustment)

Многие виджеты используют объекты регулирования созданные автоматически, но в некоторых случаях, показанных позже, требуется самостоятельное создание виджетов. Пример создания:

GtkObject *gtk_adjustment_new( gdouble value,
                               gdouble lower,
                               gdouble upper,
                               gdouble step_increment,
                               gdouble page_increment,
                               gdouble page_size );

Аргумент value используется для установки по умолчанию значения положения регулятора, обычно это позиция "самый верхний" или "крайний левый". Аргумент lower определяет самое нижнее значение регулятора. Step_increment аргумент определяет "меньшие" из двух приращений, которыми пользователь может изменить значение, в то время как page_increment - "больший". Аргумент page_size обычно устанавливает видимую площадь для панорамного виджета. Аргумент upper используется для предоставления самых нижних или крайних справа координат дочернему панорамному виджету. Это не всегда самое меньшее значение value так как в этих виджетах page_size обычно не равно нулю.


<<< Previous

Home

Next >>>

Radio Buttons

 

Using Adjustments the Easy Way




Подпишись на Linux Format и получи один из 3 ценных призов!

Началась подписка на журнал Linux Format на 2010 год. Спешите оформить подписку на единственный в России ежемесячный журнал о Linux!

Все, оформившие подписку на печатную версию журнала, получают диск с архивом журнала Linux Format за 2005-2009г. в подарок. Также в подарок вы получаете именную электронную версию в формате PDF. Теперь вы можете приступить к чтению журнала сразу в момент выхода свежего номера, не дожидаясь, пока вам доставят бумажную версию.

Кроме того, все, оформившие подписку на первую половину или весь 2010 год в интернет-магазине ГНУ/Линуксцентра, автоматически становятся участниками розыгрыша ценных призов:


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