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-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии