GTK+ 2.0 Tutorial
Tony Gale
Ian Main
& the GTK team
замечания по поводу
перевода присылать sergeyvp@gmail.com
- Table of Contents
-
Доступность данного руководства
(Tutorial Availability)
-
Введение (Introduction)
-
Начальные сведения (Getting
Started)
-
Первая программа
на GTK (Hello World in GTK)
-
Сборка первой программы
(Compiling Hello World)
-
Теория сигналов и обратных
вызовов (Theory of Signals and Callbacks)
-
События (Events)
-
Пошаговое рассмотрение
"Hello World" (Stepping Through Hello World)
-
Подробнее (Moving On)
-
Типы данных (Data
Types)
-
Подробнее об обработчиках
сигналов (More on Signal Handlers)
-
Обновленный "Hello World"
(An Upgraded Hello World)
-
Упаковка виджетов (Packing
Widgets)
-
Теория
упаковочных контейнеров (Theory of Packing
Boxes)
-
Детально о контейнерах
(Details of Boxes)
-
Демонстрационная программа
упаковки (Packing Demonstration Program)
-
Упаковка с использованием
таблиц (Packing Using Tables)
-
Пример табличной упаковки
(Table Packing Example)
-
Краткий обзор виджетов
(Widget Overview)
-
Преобразование
(Casting)
-
Иерархия виджетов (Widget
Hierarchy)
-
Виджеты без окон (Widgets Without
Windows)
-
Кнопки (The Button Widget)
-
Обычные кнопки
(Normal Buttons)
-
Переключатели (Toggle Buttons)
-
Контроль-кнопка или «флажок»
(Check Buttons)
-
Кнопки выбора или «радио-кнопки»
(Radio Buttons)
-
Регуляторы (Adjustments)
-
Создание
регуляторов (Creating an Adjustment)
-
Использование регуляторов
(Using Adjustments the Easy Way)
-
Внутреннее устройство
регуляторов (Adjustment Internals)
-
Виджеты регулировки диапазона
(Range Widgets)
-
Полоса прокрутки
(Scrollbar Widgets)
-
Виджет масштабирования
(Scale Widgets)
-
Создание
виджетов масштабирования (Creating a Scale
Widget)
-
Функции и
Сигналы (Functions and Signals (well, functions, at least))
-
Основные функции диапазона
(Common Range Functions)
-
Установка
"политики обновления" (Setting the
Update Policy)
-
Получение
и установка регулировок (Getting and Setting
Adjustments)
-
Привязки клавиатуры и мышки
(Key and Mouse bindings)
-
Пример (Example)
-
Разные виджеты (Miscellaneous
Widgets)
-
Ярлыки (Labels)
-
Стрелки (Arrows)
-
Всплывающие подсказки (The
Tooltips Object)
-
Шкала степени выполнения
(Progress Bars)
-
Диалоги (Dialogs)
-
Линейки (Rulers)
-
Строка состояния (Statusbars
-
Ввод текста (Text Entries)
-
Кнопки "карусель" (Spin
Buttons)
-
Ввод со списком (Combo Box)
-
Календарь (Calendar)
-
Выбор цвета (Color Selection)
-
Выбор файла (File Selections)
-
Виджеты контейнеры (Container
Widgets)
-
Контейнер событий
(The EventBox)
-
Виджет Выравнивания (The
Alignment widget)
-
Неподвижный контейнер
(Fixed Container)
-
Контейнер Размещения
(Layout Container)
-
Рамки (Frames)
-
Пропорциональная рамка
(Aspect Frames)
-
Разделённые окна (Paned Window
Widgets)
-
Окно просмотра (Viewports)
-
Окно прокручивания (Scrolled
Windows)
-
Контейнеры кнопок (Button
Boxes)
-
Панель инструментов
(Toolbar)
-
Вкладки (Notebooks)
-
Меню (Menu Widget)
-
Пошаговое
создание меню (Manual Menu Creation)
-
Пример создания меню (Manual
Menu Example)
-
Использование ItemFactory (Using
ItemFactory)
-
ItemFactory
entries
-
Creating
an ItemFactory
-
Making
use of the menu and its menu items
-
Пример (Item Factory Example)
-
Недокументированные виджеты
(Undocumented Widgets)
-
Accel Label
-
Option Menu
-
Menu Items
-
Check
Menu Item
-
Radio
Menu Item
-
Separator
Menu Item
-
Tearoff
Menu Item
-
Curves
-
Drawing Area
-
Font Selection Dialog
-
Message Dialog
-
Gamma Curve
-
Image
-
Plugs and Sockets
-
Tree View
-
Text View
-
Установки атрибутов виджетов
(Setting Widget Attributes)
-
Время ожидания, IO и Пустая
функция (Timeouts, IO and Idle Functions)
-
Время ожидания
(Timeouts)
-
Контроль IO (Monitoring IO)
-
Пустая функция (Idle Functions)
-
Дополнительно о Событиях
и Обработчиках Сигнала (Advanced Event and
Signal Handling)
-
Функции Сигнала
(Signal Functions)
-
Подключение
и Отключение Обработчика (Connecting and
Disconnecting Signal Handlers)
-
Блокировка
и разблокирование Обработчика (Blocking
and Unblocking Signal Handlers)
-
Воспроизведение
и остановка Сигнала (Emitting and Stopping
Signals)
-
Эмиссия Сигнала и
Распространение (Signal Emission and Propagation)
-
Управление Выделенными
областями (Managing Selections)
-
Краткий обзор
(Overview)
-
Поиск выделения (Retrieving the
selection
-
Замещение выделения
(Supplying the selection)
-
Drag-and-drop (DND)
-
Краткий обзор
(Overview)
-
Свойства (Properties)
-
Функции (Functions)
-
Установки
исходного виджета (Setting up the source widget)
-
Сигналы
исходного виджета (Signals on the source widget:)
-
Установки
виджета назначения (Setting up a destination
widget:)
-
Сигналы
виджета назначения (Signals on the destination
widget:)
-
GLib
-
Формулировка
(Definitions)
-
Списки двойной связи (Doubly
Linked Lists)
-
Односвязные списки (Singly
Linked Lists)
-
Управление памятью (Memory
Management)
-
Таймеры (Timers)
-
Обработка строки (String
Handling)
-
Утилиты и функции ошибок
(Utility and Error Functions)
-
Файлы настройки GTK (GTK's rc
Files)
-
Функции для
файлов настроек (Functions For rc Files)
-
Формат файла настройки GTK
(GTK's rc File Format)
-
Пример файла настройки
(Example rc file)
-
Создание собственных
виджетов (Writing Your Own Widgets)
-
Краткий обзор
(Overview)
-
Анатомия виджета (The Anatomy
Of A Widget)
-
Создание сложного виджета
(Creating a Composite widget)
-
Введение
(Introduction)
-
Выбор
родительского класса (Choosing a parent class)
-
Заголовочный
файл (The header file)
-
Функция
_get_type()(The _get_type() function)
-
Функция
class_init()(The _class_init() function)
-
Функция
_init()(The _init() function)
-
И остальные
... (And the rest...)
-
Создание виджета с нуля
(Creating a widget from scratch)
-
Введение
(Introduction)
-
Отображение
виджета на экране (Displaying a widget on the
screen)
-
Истоки
виджета циферблата (The origins of the Dial
Widget)
-
Основы
(The Basics)
-
gtk_dial_realize()
-
Определение
размера (Size negotiation)
-
gtk_dial_expose()
-
Обработка
событий (Event handling)
-
Возможные
расширения (Possible Enhancements)
-
Дальнейшее изучение
(Learning More)
-
Каракули, простой пример
программы для рисования (Scribble, A Simple
Example Drawing Program)
-
Краткий обзор
(Overview)
-
Обработка событий (Event
Handling)
-
Виджет DrawingArea и рисование
(The DrawingArea Widget, And Drawing)
-
Добавление поддержки XInput
(Adding XInput support)
-
Расширение
возможностей устройства (Enabling extended
device information)
-
Использование
устройства с расширенными возможностями
(Using extended device information)
-
Выяснение
дополнительной информации об устройстве
(Finding out more about a device)
-
Дальнейшие
исследования (Further sophistications)
-
Подсказки по созданию GTK
приложений (Tips For Writing GTK Applications)
-
Содействие (Contributing)
-
Благодарности (Credits)
-
Авторские права на данное
руководство и замечания по распространению
(Tutorial Copyright and Permissions Notice)
-
Сигналы GTK (GTK Signals)
-
GtkObject
-
GtkWidget
-
GtkData
-
GtkContainer
-
GtkCalendar
-
GtkEditable
-
GtkNotebook
-
GtkList
-
GtkMenuShell
-
GtkToolbar
-
GtkButton
-
GtkItem
-
GtkWindow
-
GtkHandleBox
-
GtkToggleButton
-
GtkMenuItem
-
GtkCheckMenuItem
-
GtkInputDialog
-
GtkColorSelection
-
GtkStatusBar
-
GtkCurve
-
GtkAdjustment
-
Типы событий GDK (GDK Event Types)
-
Примеры кода (Code Examples)
-
Tictactoe
-
tictactoe.h
-
tictactoe.c
-
ttt_test.c
-
GtkDial
-
gtkdial.h
-
gtkdial.c
-
dial_test.c
-
Scribble
-
scribble-simple.c
-
scribble-xinput.c