Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Рассмотрим файл callback.c — его нужно редактировать в первую очередь. Glade создала для вас заготовки функций-обработчиков следующего вида:

Листинг 25.2. Фрагмент файла callback.c

#ifdef HAVE_CONFIG_H

# include <config.h>

#endif

#include <gnome.h>

#include "callbacks.h"

#include "interface.h"

#include "support.h"

void

on_button_clicked (GtkButton *button,

 gpointer user_data) {

}

void

ce_button_clicked (GtkButton *button,

 gpointer user_data) {

}

...

void

on_button9_clicked (GtkButton *button,

 gpointer user_data) {

}

Вписав в эти заготовки код, выполняющий нужные вам действия, можно попытаться собрать программу. Для этого перейдите в каталог

calc
и введите команду make.

24.4. Создание меню

Если вам нужно стандартное меню приложения, состоящее из пунктов Файл, Правка, Вид и т.п., используйте виджит Окно приложения Gnome (рис. 24.9) — вы его найдете на страничке виджитов Gnome.

Рис. 24.9. Окно приложения Gnome

Это уже готовый шаблон окна с меню, панелью инструментов и строкой статуса. Удобно?

Если же вам нужно нестандартное меню, то выберите виджит Меню, который находится на вкладке основных виджитов окна Палитра. В окне свойств меню нажмите кнопку Правка меню. В открывшемся окне редактора вы можете создавать пункты меню.

Для создания пункта меню нажмите кнопку Добавить и введите следующую информацию:

♦ Метка — эту надпись увидит пользователь.

♦ Имя — это идентификатор пункта меню.

♦ Обработчик — имя функции-обработчика.

♦ Иконка — иконка, соответствующая пункту меню.

♦ Подсказка — обычно эта подсказка отображается в строке статуса при выборе пункта меню.

♦ Тип элемента — обычный, зависимый (радиокнопка) или независимый (флажок) переключатель.

♦ Ускоритель — горячая комбинация клавиш.

Рис. 24.10. Редактор меню

С помощью стрелок вы можете изменять положение пунктов меню.

24.5. Интересные виджиты

Интересных виджитов намного больше, чем будет описано в этом пункте, — каждый виджит по-своему интересен. Но мне больше всего понравились следующие виджиты:

♦ Шкала — виджит, напоминающий спидометр, находится на вкладке элементов Gnome.

♦ Выбор цвета — если этот виджит расположить в контейнере, то получится окно выбора цвета, которое очень похоже на стандартное окно выбора цвета среды Gnome (вкладка Дополнительно),

♦ Выбор шрифта — позволяет пользователю выбрать шрифт (вкладка Дополнительно).

♦ Диалоговое окно свойств — уже готовое окно свойств (напоминает окно свойств проекта), содержащее вкладки и кнопки OK, Применить, Закрыть, Справка (вкладка Gnome).

Рис. 24.11. Шкала

Рис. 24.12. Выбор цвета

Рис. 24.13. Выбор шрифта

Рис. 24.14. Окно свойств

Глава 25

Пакет Dialog

25.1. Что такое Dialog?

Пакет dialog служит для вывода диалоговых окоп в сценариях bash. Элементы пользовательского интерфейса мы будем, как и в GTK+, называть виджитами. Пакет dialog позволяет использовать следующие виджиты:

♦ Infobox, Msgboxвыводят информационные сообщения;

♦ Inputbox — принимает ввод текстовой информации;

♦ Calendar — позволяет выбрать дату;

♦ Radiolist — список зависимых переключателей;

♦ Checklist — список независимых переключателей;

♦ Menubox — используется для организации меню;

♦ Gauge — шкала прогресса.

Установив пакет dialog, в каталоге

/usr/share/doc/dialog-<версия>
вы найдете много примеров применения этого замечательного пакета.

25.2. Сообщения

Начнем с самого простого — отображения небольших текстовых сообщений. Для этой цели можно использовать два виджита — Infobox или Msgbox. Первый отличается от второго тем, что не ждет подтверждения пользователя о прочтении, а закрывается через некоторое время. Виджит Msgbox ждет, пока пользователь нажмет кнопку OK или клавишу Enter.

Рассмотрим пример использования виджита Msgbox:

Листинг 25.1. Виджит Msgbox

Поделиться:
Популярные книги

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Этот мир не выдержит меня. Том 3

Майнер Максим
3. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 3

Боярич Морозов

Шелег Дмитрий Витальевич
3. Наследник старого рода
Фантастика:
героическая фантастика
боевая фантастика
альтернативная история
7.12
рейтинг книги
Боярич Морозов

Петля, Кадетский корпус. Книга третья

Алексеев Евгений Артемович
3. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Петля, Кадетский корпус. Книга третья

Законы Рода. Том 12

Андрей Мельник
12. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 12

Контртеррор

Валериев Игорь
6. Ермак
Фантастика:
альтернативная история
5.00
рейтинг книги
Контртеррор

Геном хищника. Книга четвертая

Гарцевич Евгений Александрович
4. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Геном хищника. Книга четвертая

Рассвет русского царства 3

Грехов Тимофей
3. Новая Русь
Фантастика:
историческое фэнтези
альтернативная история
5.00
рейтинг книги
Рассвет русского царства 3

Наташа, не реви! Мы всё починим

Рам Янка
7. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Наташа, не реви! Мы всё починим

Телохранитель Генсека. Том 3

Алмазный Петр
3. Медведев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Телохранитель Генсека. Том 3

Солнечный флот

Вайс Александр
4. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Солнечный флот

Первый среди равных. Книга II

Бор Жорж
2. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга II

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия