Глава 29. Guickachu и pilrc

Программа для PalmOS состоит из ресурсов. Сам код является специфичным типом ресурса. Также как и текст программы, ресурсы описываются текстовым файлом (стандартное расширение .rcp), который можно редактировать напрямую в текстовом редакторе.

Для визуального редактирования ресурсов существуют такие программы как pilrcedit и guikachu. Pilrcedit — это Java-приложение, и мне показалось не слишком удобным. Guikachu написан под Gtk+/GNOME, использует XML, как формат сохраняемых файлов, и активно развивается. Последняя стабильная версия на текущий момент — 1.2.3. Скачать можно с домашней страницы. Для дистрибутивов ALT Linux, guikachu можно установить командой apt-get install guikachu. Чтобы преобразовать исходный файл guikachu в RCP-файл, достаточно дать команду guikachu2rcp name.guikachu или выбрать пункт Экспорт RCP из меню Файл.

Рисунок 29.1.

Guikachu поддерживает следующие типы ресурсов:

В формы можно добавлять: статический текст, поля, кнопки, списки, таблицы, пользовательские элементы. Интерфейс достаточно понятен и удобен.

После получения rcp файла, его необходимо преобразовать в бинарный формат. Для этого служит программа pilrc (пользователи Sisyphus могут её установить командой apt-get install pilrc). Синтаксис достаточно прост: pilrc -H name.h name.rcp. По этой команде создадутся необходимые .bin-файлы, и заголовочный файл с определениями идентификаторов.

Замечание

Все идентификаторы ресурсов в PalmOS должны быть числовыми, но в программе удобнее пользоваться говорящими именами. Ключ -H позволяет автоматически сгенерировать заголовочный файл с "#define Имя Число", давая возможность в программе использовать конструкции типа "case MY_BEST_BUTTON:" вместо "case 9991:".