Wiki

GTK+ 2.0 руководство

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