Аллен Питер В.
Шрифт:
Добавьте вертикальный контейнер из двух строк для размещения виджитов. В верхней будет размещено текстовое поле ввода, а в нижней — контейнер-таблица, состоящая из 5 строк и 4 столбцов. В этой таблице будут расположены кнопки калькулятора.
Поместите в верхнюю строку контейнера GtkVBox текстовое поле. Перейдите в окно свойств и установите следующие свойства текстового поля (рис. 24.4):
♦ Вкладка Эл. управления
• Редактировать: Да
• Видимость текста: Да
• Максимальная длина: 0
• Текст: 0
♦ Вкладка Общие
• Высота: 50
• Видимость: Да
• Чувствительность: Да
• Фокусировка: Да
• Имеет фокус: Нет
• События: 0000000000000
Рис. 24.4. Свойства текстового поля: вкладка Общие
После этого в первую ячейку таблицы добавьте кнопку и установите ее свойства следующим образом:
♦ Вкладка Эл. управления
• Ширина окантовки: 0
• Метка: ON
♦ Вкладка Общие
• Ширина: 70
• Высота: 70
Если вы забыли (или не знаете), что означает то или иное свойство виджита, подведите указатель мыши к метке поля свойства, и рядом с ним отобразится подсказка. Если же вам трудно установить маску для событий, нажмите кнопку «…» (рис. 24.5) рядом с полем выбора события, и вы увидите описание масок событий.
Рис. 24.5. Вкладка Общие для кнопки
Скопируйте получившуюся кнопку в следующую ячейку (Ctrl+C, Ctrl+V.). Для новой кнопки установите свойство Метка: СЕ. Проверить, что находится в буфере обмена, можно с помощью команды главного меню Glade: Вид, Буфер обмена.
Точно так же создайте еще 16 кнопок и разместите их так, как показано на рисунке 24.6.
Рис. 24.6. Калькулятор
Сейчас установим функции-обработчики для наших кнопок. Выделите кнопку ON и перейдите в окно свойств на вкладку Сигналы.
Рис. 24.7. Сигналы
Выберите сигнал clicked и нажмите OK. В поле обработчика введите имя функции-обработчика, например, on_button_ciick. Можно выбрать одну из стандартных функций, например, gtk_main_quit, но не для этой кнопки — это ведь обработчик включения калькулятора, поэтому код для него мы должны будем писать самостоятельно. Теперь нажмите кнопку Добавить.
Аналогично создайте обработчики для остальных функций. Советую давать функциям понятные имена, например, on_button_N_click, где N — число от 0 до 9, или on_plus_click.
Вот и все, интерфейс калькулятора построен.
24.3. Работа с проектом
Прежде всего нужно сохранить наш проект. Нажмите кнопку Сохранить в главном окне Glade. Перед сохранением Glade предложит установить свойства проекта:
♦ Вкладка «Общие»
• Каталог проекта /home/ваше_имя/Проекты/Проект — сразу же измените Проекты на Projects и Проект на имя нашего проекта — calc. Использовать написанные кириллицей названия не запрещается, но и не рекомендуется.
• Название проекта: Calc.
• Название программы: calc — так будет назван исполнимый файл.
• Файл проекта: calc.glade.
• Каталог исходного кода: src (~/Projects/Calc/src).
• Каталог картинок: pixmap.
• Язык: С.
• Включить поддержку Gnome: Да.
♦ Вкладка «Параметры C»
• Все оставить по умолчанию.
В результате в каталоге ~/Projects/Calc будет создан файл проекта calc.glade. Этот файл полностью описывает наш проект на языке XML. Фрагмент этого файла приведен в листинге 25.1 — просто для общего развития.
Листинг 25.1. Фрагмент файла проекта calc.glade