12.2.1. Обзор
12.2.1. Обзор
Ruby/GTK2 — это библиотека, позволяющая приложениям, написанным на языке Ruby, обращаться к средствам библиотеки GTK+ 2.x. GTK+ распространяется в исходных текстах на условиях лицензии GNU LGPL, поэтому может бесплатно использоваться в коммерческих приложениях.
Как и в большинстве библиотек для построения графических интерфейсов, в GTK+ есть концепции фреймов, окон, диалогов и менеджеров размещения. Она располагает богатым набором виджетов, включающим большинство стандартных, например метки, кнопки и текстовые поля, а также ряд более сложных: деревья и многоколонные списки.
Хотя GTK+ написана на С, спроектирована она в объектно-ориентированной манере. В связи с этим Ruby/GTK2 предоставляет объектно-ориентированный API, не слишком отдаляясь от исходной реализации на С. Кроме того, Ruby/GTK2 написана вручную, а не с помощью таких генераторов кода, как SWIG. Поэтому API выдержан в духе Ruby, с использованием блоков, необязательных аргументов и т.д. Справочное руководство можно найти на сайте http://ruby-gnome2.sourceforge.ip/.
Библиотека GTK+ создана на базе других библиотек: GLib, Pango, ATK, Cairo и GDK. Она поддерживает неграфические функции (GLib), отображение многоязычных текстов в кодировке UTF-8 (Pango), средства облегчения работы (Atk), графический рендеринг (Cairo), низкоуровневые графические объекты (Gdk), а также множество виджетов и высокоуровневых графических объектов (Gtk).
Во время работы над книгой текущей была версия Ruby/GTK2 0.14.1, совместимая с текущими стабильными версиями Ruby и GTK+ (2.0). Помимо Linux, она поддерживает семейство ОС Windows и Mac OS X (с X Window System). Идет работа по переносу на «родную» платформу Mac OS X, хотя пока эта версия еще не стабильна.
GTK+ — объектно-ориентированная библиотека, поддерживающая логически стройную иерархию виджетов. Классы Gtk::Bin и Gtk::Container весьма развиты, а комбинация менеджеров размещения Gtk::Вох и Gtk::Table обеспечивает простые, но в то же время гибкие средства управления геометрией. В Ruby/GTK2 есть удобный механизм установки обработчиков сигналов.
Среди виджетов GTK+ вы найдете меню, панели инструментов, всплывающие подсказки, деревья, индикаторы хода процесса, бегунки и календари. К слабым местам текущей версии GTK+ можно отнести недостаточно богатый набор стандартных диалогов, с которыми к тому же трудно работать в модальном режиме. Есть недостатки и у стандартного многострочного текстового редактора.
Все строки, передаваемые методам Ruby/GTK2, должны быть представлены в кодировке UTF-8. Нельзя употреблять не ASCII-символы из некоторых одно- или многобайтовых кодовых страниц Windows. Поэтому не забывайте при редактировании Ruby-сценариев переключать редактор в режим UTF-8 и помещайте предложение $KCODE="U" в начале сценария.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Обзор
Обзор Солидный набор встроенных опций совершенно не мешает Таблицам оставаться простыми и понятными, давая пользователям возможность начать работу с данными без каких-либо знаний об особенностях системы. Выбирая команду «Новый – Таблица» в основном экране Документов
Обзор
Обзор Первое, что видит пользователь, зашедший по очевидному адресу http://calendar.google.com, – предложение ввести базовую информацию о себе: имя пользователя, которое будут видеть участники ваших публичных календарей (о них чуть позже), а также ваш основной часовой пояс. Ввели?
Обзор
Обзор В самом деле – почему Reader? Дело в том, что адекватного перевода для этого английского слова так и не нашлось. Читатель? Чтец? Все не то! В итоге было принято решение оставить название без перевода, а русские пользователи уже привыкли к незнакомому термину «Ридер».С
Обзор
Обзор Сервис под названием «Сайты» позволяет любому желающему, не обладающему даже начальными знаниями о премудростях языка разметки HTML, не говоря уже о более продвинутых технологиях и языках вроде PHP, Python или Java, самостоятельно создавать отлично выглядящие и
25.1. Обзор
25.1. Обзор qdbm предлагает несколько различных API-интерфейсов. Самый основной из них, Depot, является низкоуровневым API, который мы и рассмотрим в этой главе. Интерфейс Curia позволяет разбивать базу данных на несколько файлов (для повышения масштабируемости или с целью работы в
31.2. Обзор
31.2. Обзор Потоки обеспечивают двустороннее соединение между процессом и драйвером, как показано на рис. 31.1. Хотя нижний блок на этом рисунке мы и называем драйвером, его не следует ассоциировать с каким-либо аппаратным устройством, поскольку это может быть и драйвер
UCK: обзор
UCK: обзор Программа UCK в виде одноимённого пакета имеется в официальном репозитории, и потому может быть установлена любым из стандартных способов. После этого в секции Администрирование главного меню Cinnamon появляется пункт, который, как ни странно, называется Ubuntu Customization
R.1.1 Обзор
R.1.1 Обзор Это руководство содержит следующее:1. Введение.2. Соглашения о лексических понятиях.3. Основные понятия.4. Стандартные преобразования.5. Выражения.6. Операторы.7. Описания.8. Описатели.9. Классы.10. Производные классы.11. Контроль доступа к членам.12. Специальные
Обзор XML
Обзор XML Язык XML предназначен только для работы с данными. Точнее говоря, он предназначен для создания набора сведений, или метаданных, которые описывают данные. Рассмотрим приведенный ниже простой фрагмент кода на языке HTML.<form name="frmMain" action="mypage.aspx" method="POST"> </form>Этот
Обзор тем
Обзор тем — Риски. В Chrome OS много областей для тестирования: браузер, интерфейс взаимодействия с пользователем, прошивка, оборудование, поддержка сети, синхронизация данных пользователя, автоматические обновления и даже специфическое оборудование, созданное внешними
12.1.1. Обзор
12.1.1. Обзор В 2001 году Tk был, наверное, самым популярным графическим интерфейсом для Ruby. Он был первым и долгое время входил в состав стандартного дистрибутива Ruby. Сейчас он, пожалуй, не так распространен, но все еще широко применяется.Кто-то скажет, что Tk уже устарел. Те, кому
12.2.1. Обзор
12.2.1. Обзор Ruby/GTK2 — это библиотека, позволяющая приложениям, написанным на языке Ruby, обращаться к средствам библиотеки GTK+ 2.x. GTK+ распространяется в исходных текстах на условиях лицензии GNU LGPL, поэтому может бесплатно использоваться в коммерческих приложениях.Как и в
12.4.1. Обзор
12.4.1. Обзор Привязки QtRuby — результат работы многих людей, прежде всего Ричарда Дейла (Richard Dale). Эшли Уинтерс (Ashley Winters), Жермен Гаран (Germain Garand) и Давид Форе (David Faure) написали большую часть инструмента генерации кода привязки (он называется SMOKE). Другие отправляли отчеты о
11.1. Обзор
11.1. Обзор Демонстрационная программа является частью пакета мониторинга Linux-системы и предоставляет следующие возможности.? Программа реализует минимально необходимые функции Web-сервера. Локальные и удаленные клиенты получают доступ к системной информации, запрашивая
Обзор
Обзор Модули фирмы Twelve Tone Systems, Inc.Пакет DirectX-эффектов Cakewalk Audio FX1 оперирует при обработке звука 32-разрядными числами с плавающей точкой и включает в себя четыре модуля динамической обработки сигнала: компрессор/гейт, экспандер/гейт, лимитер и отдельный процессор