WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
IUP
Тип SDK
Автор Tecgraf/PUC-Rio в сотрудничестве с Petrobras
Написана на Си[1]
Операционная система Кроссплатформенное программное обеспечение (Linux и Microsoft Windows)
Последняя версия 3.26 (07 января 2019)
Лицензия MIT
Сайт IUP

IUP — кроссплатформенная библиотека базовых элементов графического пользовательского интерфейса с использованием языков C и Lua. С её помощью можно создавать быстрые, не требующие компиляции графические приложения.

Доступны также библиотеки-обвязки для использования IUP в таких языках, как Ruby[2], Euphoria[3], FreeBasic[4], Perl[5], Scheme[6], Nim.

Возможности

  • Встроенная поддержка Lua

Особенности

Для описания файлов ресурсов в 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 (см. прототипное программирование).

Начиная с версии 3.9, IUP поддерживает работу со строками в формате UTF-8.

Дополнительные функции

Кроме функций создания виджетов, IUP предлагает ряд дополнительных возможностей:

  • Рисование
  • Создание массивов и хеш-таблиц
  • Работа со строками
  • Получение информации о шрифтах
  • Получение информации о системе

Лицензия

IUP доступно для скачивания, бесплатного использования, модификации, использования в коммерческих целях и распространения под лицензией MIT.[7]

Примечания

  1. ↑ The iup Open Source Project on Open Hub: Languages Page — 2006.
  2. ↑ Ruby-IUP (недоступная ссылка) (репозиторий исходного кода на github)
  3. ↑ EuIup
  4. ↑ Portable GUI toolkit (IUP) version 3.0 (RC2) на форуме FreeBasic
  5. ↑ perl-iup
  6. ↑ IUP: IUP Архивировано 9 марта 2011 года.
  7. ↑ Tecgraf Library License

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии