|
|
27 мая 2011
Оглавление: 1. IUP 2. Лицензия
кроссплатформенная библиотека базовых элементов графического пользовательского интерфейса с использованием языков C и Lua. С его помощью можно создавать быстрые, не требующие компиляции графические приложения.
Доступны также библиотеки-обвязки для использования IUP в таких языках, как Ruby, Euphoria, FreeBasic, Perl
Особенности
Для описания файлов ресурсов в IUP традиционно используется язык LED, который в современных версиях библиотеки считается устаревшим, и заменяется языком Lua. Можно создавать IUP-приложения и без использования LED или Lua, пользуясь только C API.
IUP отличает от других аналогичных библиотек способ реализации 4 важных концепций:
- Время создание управляющих элементов. При создании виджета не происходит его немедленого отображения в ОС. Оно выполняется при показе содержащего виджет диалога или путём ручного вызова функции
IupMap для этого диалога.
- Система атрибутов. В IUP очень мало функций, поскольку основным способом работы с виджетами является доступ к их атрибутам, с помощью функций IupSetAttribute и IupGetAttribute.
- Абстрактное позиционирование макета. Виджеты в IUP никогда не позиционируются путём явного задания координат, их позиции рассчитываются динамически, в соответствии абстрактной с иерархией макета, задаваемой с помощью виджетов-контейнеров
IupFill , IupHbox и IupVbox .
- Система обратных вызовов. Язык LED поддерживает косвенное задание связи виджетов с функциями обратного вызова. Для связывания Си-функции используется конструкция
IupSetFunction имя , с последующим связыванием атрибутов обратного вызова с использованием IupSetAttribute . Также можно осуществлять прямое связывание виджета с callback-функцией с помощью IupSetCallback .
При проектировании IUP удалены ограничения на класса / типа экземпляров объекта, но сохранена иерархия наследования в стиле Lua.
Просмотров: 1748
|